//big map
.text:6F3A2060 sub_6F3A2060 proc near ; CODE XREF: sub_6F38D120+67p
.text:6F3A2060 ; sub_6F39BCA0+67p ...
.text:6F3A2060
.text:6F3A2060 var_8 = dword ptr -8
.text:6F3A2060 var_4 = dword ptr -4
.text:6F3A2060 arg_0 = dword ptr 4
.text:6F3A2060 arg_4 = dword ptr 8
.text:6F3A2060 arg_8 = dword ptr 0Ch
.text:6F3A2060 arg_C = dword ptr 10h
.text:6F3A2060
.text:6F3A2060 sub esp, 8
.text:6F3A2063 mov eax, [esp+8+arg_4]
.text:6F3A2067 push ebx
.text:6F3A2068 push ebp
.text:6F3A2069 mov word ptr [eax], 0
.text:6F3A206E mov ebp, [esp+10h+arg_C]
.text:6F3A2072 push esi
.text:6F3A2073 mov esi, [esp+14h+arg_0]
.text:6F3A2077 push edi
.text:6F3A2078 mov edi, ecx
.text:6F3A207A mov ecx, [esp+18h+arg_8]
.text:6F3A207E mov word ptr [ecx], 0
.text:6F3A2083 mov edx, [edi+34h]
.text:6F3A2086 mov ecx, [edx+68h]
.text:6F3A2089 mov eax, [esi+4]
.text:6F3A208C shl eax, cl
.text:6F3A208E mov ecx, [edx+30h]
.text:6F3A2091 mov edx, [edx+2Ch]
.text:6F3A2094 mov ebx, 1
.text:6F3A2099 add eax, [esi]
.text:6F3A209B mov [esp+18h+arg_0], 0Ch
.text:6F3A20A3 mov cx, [ecx+eax*2] //here
.text:6F3A20A7 mov ax, [edx+eax*2]
.text:6F3A20AB or cx, 0F000h
.text:6F3A20B0 movzx ecx, cx
.text:6F3A20B3 and ax, 0FFFh
.text:6F3A20B7 mov [esp+18h+var_4], ecx
.text:6F3A20BB movzx ecx, ax
.text:6F3A20BE mov [esp+18h+var_8], ecx
.text:6F3A20C2 add ebp, 4
.text:6F3A20C5
.text:6F3A20C5 loc_6F3A20C5: ; CODE XREF: sub_6F3A2060+C4j
.text:6F3A20C5 movzx eax, word ptr [ebp+0]
.text:6F3A20C9 test ax, ax
.text:6F3A20CC jz short loc_6F3A211A
.text:6F3A20CE mov edx, [esp+18h+arg_4]
.text:6F3A20D2 movzx esi, word ptr [edx]
.text:6F3A20D5 movzx ecx, si
.text:6F3A20D8 movzx edx, ax
.text:6F3A20DB and ecx, edx
.text:6F3A20DD jnz short loc_6F3A2111
.text:6F3A20DF mov ecx, [esp+18h+var_4]
.text:6F3A20E3 push eax
.text:6F3A20E4 mov eax, [esp+1Ch+var_8]
.text:6F3A20E8 push eax
.text:6F3A20E9 push ecx
.text:6F3A20EA mov ecx, [edi+34h]
.text:6F3A20ED call sub_6F00F4E0
.text:6F3A20F2 mov edx, eax
.text:6F3A20F4 shr edx, 2
.text:6F3A20F7 and edx, 1
.text:6F3A20FA jnz short loc_6F3A2111
.text:6F3A20FC cmp [edi+3C0h], edx
.text:6F3A2102 jnz short loc_6F3A2108
.text:6F3A2104 test al, 2
.text:6F3A2106 jz short loc_6F3A211A
.text:6F3A2108
.text:6F3A2108 loc_6F3A2108: ; CODE XREF: sub_6F3A2060+A2j
.text:6F3A2108 mov eax, [esp+18h+arg_8]
.text:6F3A210C or [eax], bx
.text:6F3A210F jmp short loc_6F3A211A
.text:6F3A2111 ; 哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪哪?
.text:6F3A2111
.text:6F3A2111 loc_6F3A2111: ; CODE XREF: sub_6F3A2060+7Dj
.text:6F3A2111 ; sub_6F3A2060+9Aj
.text:6F3A2111 mov eax, [esp+18h+arg_4]
.text:6F3A2115 or esi, ebx
.text:6F3A2117 mov [eax], si
.text:6F3A211A
.text:6F3A211A loc_6F3A211A: ; CODE XREF: sub_6F3A2060+6Cj
.text:6F3A211A ; sub_6F3A2060+A6j ...
.text:6F3A211A add ebp, 2
.text:6F3A211D add ebx, ebx
.text:6F3A211F sub [esp+18h+arg_0], 1
.text:6F3A2124 jnz short loc_6F3A20C5
.text:6F3A2126 pop edi
.text:6F3A2127 pop esi
.text:6F3A2128 pop ebp
.text:6F3A2129 pop ebx
.text:6F3A212A add esp, 8
.text:6F3A212D retn 10h
.text:6F3A212D sub_6F3A2060 endp
.text:6F3A212D
//small map
.text:6F00F570
.text:6F00F570 sub_6F00F570 proc near ; CODE XREF: sub_6F012F50+7Dp
.text:6F00F570 ; sub_6F013090+74p ...
.text:6F00F570
.text:6F00F570 arg_0 = dword ptr 4
.text:6F00F570 arg_4 = dword ptr 8
.text:6F00F570
.text:6F00F570 mov edx, ecx
.text:6F00F572 mov eax, [edx+60h]
.text:6F00F575 mov ecx, [esp+arg_0]
.text:6F00F579 sub eax, 1
.text:6F00F57C cmp eax, ecx
.text:6F00F57E jb short loc_6F00F582
.text:6F00F580 mov eax, ecx
.text:6F00F582
.text:6F00F582 loc_6F00F582: ; CODE XREF: sub_6F00F570+Ej
.text:6F00F582 xor ecx, ecx
.text:6F00F584 test eax, eax
.text:6F00F586 setl cl
.text:6F00F589 push ebx
.text:6F00F58A push esi
.text:6F00F58B sub ecx, 1
.text:6F00F58E and ecx, eax
.text:6F00F590 mov eax, [edx+6Ch]
.text:6F00F593 mov esi, ecx
.text:6F00F595 mov ecx, [esp+8+arg_4]
.text:6F00F599 sub eax, 1
.text:6F00F59C cmp eax, ecx
.text:6F00F59E jb short loc_6F00F5A2
.text:6F00F5A0 mov eax, ecx
.text:6F00F5A2
.text:6F00F5A2 loc_6F00F5A2: ; CODE XREF: sub_6F00F570+2Ej
.text:6F00F5A2 mov ecx, [edx+68h]
.text:6F00F5A5 xor ebx, ebx
.text:6F00F5A7 test eax, eax
.text:6F00F5A9 setl bl
.text:6F00F5AC sub ebx, 1
.text:6F00F5AF and ebx, eax
.text:6F00F5B1 shl ebx, cl
.text:6F00F5B3 add ebx, esi
.text:6F00F5B5 pop esi
.text:6F00F5B6 mov eax, ebx
.text:6F00F5B8 pop ebx
.text:6F00F5B9 mov ecx, [edx+2Ch]
.text:6F00F5BC movzx ecx, word ptr [ecx+eax*2]
.text:6F00F5C0 and ecx, 0FFFF0FFFh
.text:6F00F5C6 mov [esp+arg_4], ecx
.text:6F00F5CA mov ecx, [edx+30h]
.text:6F00F5CD movzx eax, word ptr [ecx+eax*2] //here
.text:6F00F5D1 or eax, 0F000h
.text:6F00F5D6 mov [esp+arg_0], eax
.text:6F00F5DA mov ecx, edx
.text:6F00F5DC jmp sub_6F00F4E0
.text:6F00F5DC sub_6F00F570 endp
.text:6F00F5DC