Function at 0x10162120
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0x66c
push ebx
push ebp
mov ebp, dword [esp + 0x678]
mov ecx, 1
xor ebx, ebx
push esi
mov al, byte [ebp + 0x7c]
push edi
cmp al, 5
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x70], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x40], ebx
je 0x10162153
cmp al, 6
jb 0x10162157
mov dword [esp + 0x70], ecx
mov al, byte [ebp + 8]
and al, 0xc0
cmp al, 0x80
jne 0x10162164
mov dword [esp + 0x38], ecx
mov ecx, 0x80
xor eax, eax
lea edi, [esp + 0x178]
mov esi, dword [esp + 0x684]
rep stosd dword es:[edi], eax
mov ecx, 0x40
lea edi, [esp + 0x78]
rep stosd dword es:[edi], eax
mov byte [esp + 0x14], al
mov al, byte [ebp + 9]
test al, al
jbe 0x1016222a
mov al, byte [ebp + 0xb]
mov byte [esp + 0x18], 0
test al, al
jbe 0x10162213
mov eax, dword [esp + 0x14]
and eax, 0xff
shl eax, 2
mov dword [esp + 0x24], eax
jmp 0x101621b7
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x18]
xor bl, bl
and edi, 0xff
mov byte [esp + 0x20], bl
add edi, eax
shl edi, 2
xor ecx, ecx
mov cx, word [esi]
shl ecx, 1
push ecx
call fcn.10034761
mov edx, dword [esp + 0x24]
add esp, 4
and edx, 0xff
add edx, edi
test eax, eax
mov dword [esp + edx*4 + 0x178], eax
je 0x101622df
inc bl
cmp bl, 4
mov byte [esp + 0x20], bl
jb 0x101621cc
mov al, byte [esp + 0x18]
mov cl, byte [ebp + 0xb]
inc al
cmp al, cl
mov byte [esp + 0x18], al
jb 0x101621b3
mov al, byte [esp + 0x14]
mov cl, byte [ebp + 9]
inc al
cmp al, cl
mov byte [esp + 0x14], al
jb 0x10162195
xor ebx, ebx
mov eax, dword [esp + 0x690]
mov word [esp + 0x3c], bx
mov dword [eax], ebx
mov cx, word [esi]
mov dl, byte [ebp + 0x77]
mov word [esp + 0x3e], cx
cmp dl, 1
lea eax, [ecx + ecx]
seta dl
mov word [esp + 0x2a], ax
mov al, byte [ebp + 7]
inc edx
mov word [esp + 0x28], cx
test al, 1
mov byte [esp + 0x13], dl
je 0x10162297
mov dx, word [ebp + 0x20]
mov di, cx
shr di, 1
xor eax, eax
mov dword [esp + 0x20], 2
mov bx, word [esp + eax + 0x3c]
add eax, 2
add bx, dx
add ebx, edi
mov word [esp + eax + 0x26], bx
mov ebx, dword [esp + 0x20]
dec ebx
mov dword [esp + 0x20], ebx
jne 0x10162276
mov dl, byte [esp + 0x13]
mov edi, 1
cmp word [esi + 4], di
jne 0x101622b8
mov ax, cx
shr ax, 1
mov word [esp + 0x28], ax
mov eax, dword [esp + 0x28]
add ecx, eax
mov word [esp + 0x2a], cx
mov eax, dword [esp + 0x38]
test eax, eax
je 0x10162301
mov al, byte [esp + 0x69c]
test al, al
je 0x101622ec
mov cx, word [ebp + 0x109]
mov dl, 1
mov byte [esp + 0x13], dl
mov word [esp + 0x28], cx
jmp 0x10162301
mov dword [esp + 0x4c], 0x1e
jmp 0x10162dd1
mov ax, word [ebp + 0x109]
test ax, ax
mov word [esp + 0x3c], ax
je 0x10162301
mov dword [esp + 0x40], edi
mov al, byte [ebp + 0xb]
mov bl, byte [ebp + 9]
mov edi, eax
mov ecx, ebx
and edi, 0xff
and ecx, 0xff
imul ecx, edi
shl ecx, 1
test bl, bl
mov dword [esp + 0x60], edi
mov dword [esp + 0x68], ecx
mov byte [esp + 0x14], 0
jbe 0x101626da
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x34], 0
test ecx, ecx
je 0x1016234e
movzx cx, byte [esp + 0x14]
shl ecx, 0xe
mov dword [esp + 0x34], ecx
test al, al
mov byte [esp + 0x18], 0
jbe 0x101626bc
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x60]
and ebp, 0xff
add eax, eax
mov ecx, ebp
mov dword [esp + 0x30], ebp
imul ecx, eax
mov dword [esp + 0x20], ecx
mov edi, dword [esp + 0x18]
mov dword [esp + 0x6c], 0
and edi, 0xff
mov byte [esp + 0x50], 0
test dl, dl
lea ebx, [ecx + edi]
mov dword [esp + 0x5c], edi
mov dword [esp + 0x24], ebx
jbe 0x10162686
mov eax, dword [esp + 0x50]
and eax, 0xff
mov dword [esp + 0x74], eax
mov cx, word [esp + eax*2 + 0x3c]
mov ax, word [esp + eax*2 + 0x28]
cmp cx, ax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x64], eax
jae 0x10162668
mov eax, dword [esp + 0x694]
lea edx, [eax + ebx*2]
mov dword [esp + 0x58], edx
mov edx, dword [esp + 0x60]
add ebx, edx
lea eax, [eax + ebx*2]
mov ebx, dword [esp + 0x688]
mov dword [esp + 0x44], eax
mov edx, dword [esp + 0x680]
mov al, byte [edx + 0x10b]
test al, al
jne 0x10162780
mov edx, dword [esp + 0x30]
mov ax, word [esi + 2]
mov ebp, ecx
add ax, cx
lea edi, [edi + edx*4]
and ebp, 0xffff
mov esi, edi
mov dword [esp + 0x2c], eax
shl esi, 0xe
lea edx, [esi + ebp]
mov dl, byte [edx + ebx]
test dl, dl
mov byte [esp + 0x57], dl
jne 0x101625ec
mov edx, eax
and edx, 0xffff
add edx, esi
cmp byte [edx + ebx], 0
jne 0x10162598
mov edx, dword [esp + 0x40]
test edx, edx
jne 0x101624d8
mov dl, byte [esp + 0x18]
test dl, dl
jne 0x101624d8
mov edx, dword [esp + 0x70]
test edx, edx
jne 0x1016246a
mov dl, byte [esp + 0x14]
test dl, dl
jne 0x101624d8
mov edx, dword [esp + 0x38]
test edx, edx
je 0x10162497
mov eax, dword [esp + 0x680]
mov ecx, dword [esp + 0x14]
push eax
push ebx
push 0
push ebp
push ecx
call fcn.101664d0
mov ecx, dword [esp + 0x30]
add esp, 0x14
test eax, eax
je 0x101624d8
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x68c]
push edx
mov edx, dword [esp + 0x38]
or eax, edx
push ebx
or ecx, edx
push eax
mov eax, dword [esp + 0x68c]
push ecx
push 0
push eax
call fcn.10162090
mov esi, dword [esp + 0x69c]
mov ecx, dword [esp + 0x34]
add esp, 0x18
mov dword [esp + 0x40], 1
mov dx, word [esi + 4]
jmp 0x1016264f
mov esi, dword [esp + 0x34]
lea eax, [esp + 0x48]
or ecx, esi
push eax
mov dword [esp + 0x4c], ecx
call sym.ITEuDllvMgr.dll_SwapWORD
mov ecx, dword [esp + 0x5c]
mov word [ecx], ax
mov edx, dword [esp + 0x30]
lea eax, [esp + 0x4c]
or edx, esi
push eax
mov dword [esp + 0x50], edx
call sym.ITEuDllvMgr.dll_SwapWORD
mov ecx, dword [esp + 0x4c]
add esp, 8
mov word [ecx], ax
mov al, byte [esp + 0x698]
test al, al
je 0x10162566
mov edx, dword [esp + 0x2c]
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x378]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
and edx, 0xffff
and eax, 0xffff
push edx
mov edx, dword [esp + 0x70]
push eax
and edx, 0xffff
push ecx
push edx
lea eax, [esp + 0x388]
push str.VB_d___Ce_d__blk0x_lx__pairblk0x_lx_n
push eax
call fcn.1003399c
add esp, 0x18
mov eax, dword [esp + 0x68]
mov esi, dword [esp + 0x24]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x44]
add esi, eax
add eax, eax
add edx, eax
add ecx, eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x24], esi
inc eax
mov dword [esp + 0x58], edx
mov dword [esp + 0x44], ecx
mov dword [esp + 0x6c], eax
jmp 0x10162640
mov dl, byte [esp + 0x57]
test dl, dl
jne 0x101625ec
mov edx, dword [esp + 0x34]
or ecx, edx
lea edx, [esp + 0x48]
mov dword [esp + 0x48], ecx
mov ecx, dword [esp + 0x74]
push edx
lea ebp, [ecx + edi*4]
lea ebx, [esp + ebp*2 + 0x7c]
call sym.ITEuDllvMgr.dll_SwapWORD
mov cx, word [ebx]
mov ebp, dword [esp + ebp*4 + 0x17c]
mov edx, ecx
add esp, 4
and edx, 0xffff
inc ecx
mov word [ebx], cx
mov ebx, dword [esp + 0x688]
mov word [ebp + edx*2], ax
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
mov edx, eax
and edx, 0xffff
add edx, esi
cmp byte [edx + ebx], 0
jne 0x10162644
mov ecx, dword [esp + 0x34]
or eax, ecx
lea ecx, [esp + 0x48]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x74]
push ecx
lea edi, [eax + edi*4]
mov bp, word [esp + edi*2 + 0x80]
lea esi, [esp + edi*2 + 0x80]
call sym.ITEuDllvMgr.dll_SwapWORD
mov ecx, dword [esp + edi*4 + 0x184]
mov edx, ebp
add esp, 4
and edx, 0xffff
inc ebp
mov word [ecx + edx*2], ax
mov word [esi], bp
mov ecx, dword [esp + 0x1c]
mov esi, dword [esp + 0x684]
mov dx, word [esi + 4]
mov edi, dword [esp + 0x5c]
add ecx, edx
cmp cx, word [esp + 0x64]
mov dword [esp + 0x1c], ecx
jb 0x101623ec
mov ebx, dword [esp + 0x24]
mov al, byte [esp + 0x50]
mov cl, byte [esp + 0x13]
inc al
cmp al, cl
mov byte [esp + 0x50], al
jb 0x101623a2
mov ecx, dword [esp + 0x20]
mov ebp, dword [esp + 0x30]
mov eax, dword [esp + 0x6c]
lea edx, [edi + ebp*4]
mov edi, dword [esp + 0x690]
and eax, 0xffff
mov dword [edi + edx*4], eax
mov eax, dword [esp + 0x680]
mov dl, byte [esp + 0x18]
mov al, byte [eax + 0xb]
inc dl
mov byte [esp + 0x18], dl
cmp dl, al
mov dl, byte [esp + 0x13]
jb 0x10162378
mov edi, dword [esp + 0x680]
mov cl, byte [esp + 0x14]
inc cl
mov bl, byte [edi + 9]
mov byte [esp + 0x14], cl
cmp cl, bl
jb 0x10162331
mov ebp, edi
mov al, byte [esi + 6]
test al, al
je 0x10162ab5
mov al, byte [ebp + 9]
mov byte [esp + 0x14], 0
test al, al
jbe 0x10162ab5
mov al, byte [ebp + 0xb]
mov byte [esp + 0x18], 0
test al, al
jbe 0x10162aa0
mov esi, dword [esp + 0x14]
and esi, 0xff
mov dword [esp + 0x30], esi
mov eax, dword [esp + 0x18]
mov byte [esp + 0x50], 0
and eax, 0xff
mov dword [esp + 0x5c], eax
lea ecx, [eax + esi*4]
mov eax, ecx
mov dword [esp + 0x28], ecx
shl eax, 4
test dl, dl
mov edi, dword [esp + eax + 0x178]
mov dword [esp + eax + 0x47c], edi
mov edi, dword [esp + eax + 0x17c]
mov dword [esp + eax + 0x480], edi
mov edi, dword [esp + eax + 0x180]
mov dword [esp + eax + 0x484], edi
mov edi, dword [esp + eax + 0x184]
mov dword [esp + eax + 0x488], edi
jbe 0x10162a82
mov eax, dword [esp + 0x60]
add eax, eax
imul esi, eax
mov dword [esp + 0x20], esi
jmp 0x10162791
mov dword [esp + 0x4c], 0x36
jmp 0x10162dd1
mov ecx, dword [esp + 0x28]
mov ebp, dword [esp + 0x50]
and ebp, 0xff
mov dword [esp + 0x74], ebp
lea ebp, [ebp + ecx*4]
mov dword [esp + 0x64], ebp
mov ax, word [esp + ebp*2 + 0x78]
mov cx, word [esp + ebp*2 + 0x7c]
cmp ax, cx
mov dword [esp + 0x24], eax
jb 0x101627be
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x690]
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x5c]
mov eax, dword [ecx + eax*4]
xor ebx, ebx
imul eax, dword [esp + 0x68]
add eax, edi
add eax, esi
cmp word [esp + 0x24], bx
jbe 0x10162a6c
mov ecx, dword [esp + 0x694]
lea edx, [ecx + eax*2]
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x60]
add eax, edx
lea eax, [ecx + eax*2]
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 0x680]
mov al, byte [ecx + 0x10b]
test al, al
jne 0x10162780
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x10162938
mov al, byte [esp + 0x18]
test al, al
jne 0x10162938
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x74]
mov esi, ebx
lea eax, [edx*4]
and esi, 0xffff
shl esi, 1
lea edi, [ecx + eax*4]
lea ecx, [esp + 0x1c]
shl edi, 2
push ecx
mov edx, dword [esp + edi + 0x17c]
mov ax, word [edx + esi]
mov dword [esp + 0x20], eax
call sym.ITEuDllvMgr.dll_SwapWORD
mov edx, dword [esp + edi + 0x184]
mov dword [esp + 0x20], eax
lea ecx, [esp + 0x30]
mov ax, word [edx + esi]
push ecx
mov dword [esp + 0x34], eax
call sym.ITEuDllvMgr.dll_SwapWORD
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x78]
add esp, 8
test eax, eax
jne 0x101628a2
mov al, byte [esp + 0x14]
test al, al
jne 0x10162938
mov eax, dword [esp + 0x38]
test eax, eax
je 0x101628fc
mov edx, dword [esp + 0x680]
mov edi, dword [esp + 0x688]
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
push edx
push edi
and eax, 0xffff
push 0
push eax
push esi
call fcn.101664d0
add esp, 0x14
test eax, eax
je 0x10162938
mov ecx, dword [esp + 0x680]
mov edx, dword [esp + 0x2c]
push ecx
push edi
and edx, 0xffff
push 0
push edx
push esi
call fcn.101664d0
add esp, 0x14
test eax, eax
je 0x10162938
jmp 0x10162907
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x688]
mov eax, dword [esp + 0x68c]
mov ecx, dword [esp + 0x2c]
mov edx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x684]
push edi
push ecx
push edx
push esi
push eax
call fcn.10162090
add esp, 0x18
mov dword [esp + 0x40], 1
jmp 0x10162a2d
mov ecx, dword [esp + ebp*4 + 0x178]
mov eax, ebx
and eax, 0xffff
shl eax, 1
mov dx, word [ecx + eax]
mov ecx, dword [esp + 0x3c]
mov word [ecx], dx
mov edx, dword [esp + ebp*4 + 0x180]
mov ecx, dword [esp + 0x34]
mov ax, word [edx + eax]
mov word [ecx], ax
mov al, byte [esp + 0x698]
test al, al
je 0x10162a04
mov edx, dword [esp + 0x3c]
push edx
call sym.ITEuDllvMgr.dll_SwapWORD
mov ecx, dword [esp + 0x38]
mov esi, eax
and eax, 0x3fff
push ecx
mov dword [esp + 0x24], eax
call sym.ITEuDllvMgr.dll_SwapWORD
mov ebp, eax
add esp, 8
mov edx, ebp
and ebp, 0xffff
and edx, 0x3fff
push ebp
mov dword [esp + 0x30], edx
and edx, 0xffff
push edx
mov edx, dword [esp + 0x24]
mov ecx, 0x41
xor eax, eax
lea edi, [esp + 0x380]
and esi, 0xffff
and edx, 0xffff
push esi
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x69c]
push edx
mov edx, dword [esp + 0x38]
push eax
mov eax, dword [ecx + edx*4]
lea ecx, [esp + 0x38c]
push eax
push str._CrossRaw_:_VB_d___Ce_d__blk0x_lx_0x_lx___pairblk0x_lx_0x_lx__n
push ecx
call fcn.1003399c
mov ebp, dword [esp + 0x84]
add esp, 0x20
mov edx, dword [esp + 0x68]
mov edi, dword [esp + 0x3c]
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x690]
lea eax, [edx + edx]
add edi, eax
add esi, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], edi
mov dword [esp + 0x34], esi
inc dword [ecx + eax*4]
mov ecx, dword [esp + ebp*4 + 0x47c]
mov eax, 2
add ecx, eax
dec word [esp + ebp*2 + 0x78]
mov dword [esp + ebp*4 + 0x47c], ecx
mov esi, dword [esp + ebp*4 + 0x484]
add esi, eax
dec word [esp + ebp*2 + 0x7c]
inc ebx
mov dword [esp + ebp*4 + 0x484], esi
cmp bx, word [esp + 0x24]
jb 0x10162805
mov dl, byte [esp + 0x13]
mov al, byte [esp + 0x50]
inc al
cmp al, dl
mov byte [esp + 0x50], al
jb 0x1016278d
mov esi, dword [esp + 0x30]
mov ecx, dword [esp + 0x680]
mov al, byte [esp + 0x18]
inc al
mov bl, byte [ecx + 0xb]
mov byte [esp + 0x18], al
cmp al, bl
jb 0x10162713
mov ebp, ecx
mov al, byte [esp + 0x14]
mov cl, byte [ebp + 9]
inc al
cmp al, cl
mov byte [esp + 0x14], al
jb 0x101626f5
cmp byte [ebp + 0xf], 1
jne 0x10162dc1
mov al, byte [ebp + 9]
mov byte [esp + 0x14], 0
test al, al
jbe 0x10162dc1
mov al, byte [ebp + 0xb]
mov byte [esp + 0x18], 0
test al, al
jbe 0x10162dac
mov eax, dword [esp + 0x14]
and eax, 0xff
mov dword [esp + 0x30], eax
jmp 0x10162af2
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x18]
xor edi, edi
and ebp, 0xff
mov ecx, 4
mov dword [esp + 0x5c], ebp
lea ebx, [ebp + eax*4]
mov dword [esp + 0x28], ebx
mov si, word [esp + ebx*8 + 0x7a]
lea eax, [esp + ebx*8 + 0x78]
add si, word [eax]
mov dx, word [eax]
add eax, 2
add edi, edx
dec ecx
jne 0x10162b1b
mov eax, edi
and eax, 0xffff
shl eax, 1
push eax
call fcn.10034761
add esp, 4
mov dword [esp + 0x38], eax
test eax, eax
je 0x101622df
lea eax, [esp + ebx*8 + 0x78]
mov dword [esp + 0x20], 0
shl ebx, 4
mov dword [esp + 0x44], eax
mov dword [esp + 0x58], 4
lea ecx, [esp + ebx + 0x47c]
mov ax, word [eax]
test ax, ax
jbe 0x10162bab
mov edx, dword [esp + 0x38]
and eax, 0xffff
mov dword [esp + 0x24], eax
mov eax, dword [ecx]
mov ebx, dword [esp + 0x20]
and ebx, 0xffff
mov bp, word [eax]
add eax, 2
mov word [edx + ebx*2], bp
mov ebx, dword [esp + 0x20]
mov dword [ecx], eax
mov eax, dword [esp + 0x24]
inc ebx
dec eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x24], eax
jne 0x10162b7b
mov ebp, dword [esp + 0x5c]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x58]
add ecx, 4
add eax, 2
dec edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x58], edx
jne 0x10162b66
mov ecx, dword [esp + 0x690]
mov edx, dword [esp + 0x28]
shr si, 1
mov eax, dword [esp + 0x30]
shl esi, 1
mov dword [esp + 0x64], esi
mov esi, dword [ecx + edx*4]
mov edx, dword [esp + 0x60]
imul esi, dword [esp + 0x68]
lea ecx, [edx + edx]
add ebp, esi
imul eax, ecx
shr di, 1
shl edi, 1
add eax, ebp
xor ebp, ebp
test di, di
mov dword [esp + 0x44], edi
jbe 0x10162d81
mov ecx, dword [esp + 0x694]
lea esi, [ecx + eax*2]
add eax, edx
mov dword [esp + 0x20], esi
lea eax, [ecx + eax*2]
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x680]
mov al, byte [ecx + 0x10b]
test al, al
jne 0x10162780
mov edx, dword [esp + 0x38]
mov edi, ebp
and edi, 0xffff
lea ebx, [edx + edi*2]
push ebx
call sym.ITEuDllvMgr.dll_SwapWORD
mov ecx, dword [esp + 0x3c]
mov esi, eax
and eax, 0x3fff
lea edi, [ecx + edi*2 + 2]
mov dword [esp + 0x20], eax
push edi
call sym.ITEuDllvMgr.dll_SwapWORD
mov edx, eax
and eax, 0x3fff
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x48]
add esp, 8
test eax, eax
jne 0x10162cd3
mov al, byte [esp + 0x18]
test al, al
jne 0x10162cd3
mov eax, dword [esp + 0x70]
test eax, eax
jne 0x10162c8e
mov al, byte [esp + 0x14]
test al, al
jne 0x10162cd3
mov eax, dword [esp + 0x680]
mov cl, byte [eax + 0xf0]
test cl, cl
jne 0x10162ca6
cmp bp, word [esp + 0x64]
jae 0x10162cd3
mov ecx, dword [esp + 0x68c]
push ecx
mov ecx, dword [esp + 0x68c]
push ecx
push edx
mov edx, dword [esp + 0x20]
push esi
push edx
push eax
call fcn.10162090
add esp, 0x18
mov dword [esp + 0x40], 1
jmp 0x10162d73
mov ecx, dword [esp + 0x20]
mov ax, word [ebx]
mov word [ecx], ax
mov ecx, dword [esp + 0x24]
mov ax, word [edi]
mov word [ecx], ax
mov al, byte [esp + 0x698]
test al, al
je 0x10162d4a
and edx, 0xffff
mov ecx, 0x41
push edx
mov edx, dword [esp + 0x30]
xor eax, eax
lea edi, [esp + 0x37c]
rep stosd dword es:[edi], eax
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x34]
and edx, 0xffff
and esi, 0xffff
push edx
mov edx, dword [esp + 0x74]
and eax, 0xffff
push esi
push eax
and edx, 0xffff
push ecx
push edx
lea eax, [esp + 0x390]
push str._One_Plane_:_VB_d___Ce_d__blk0x_lx_0x_lx___pairblk0x_lx_0x_lx__n
push eax
call fcn.1003399c
add esp, 0x20
mov ecx, dword [esp + 0x68]
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x24]
lea eax, [ecx + ecx]
mov ecx, dword [esp + 0x690]
add edi, eax
add esi, eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x20], edi
mov dword [esp + 0x24], esi
inc dword [ecx + eax*4]
add ebp, 2
cmp bp, word [esp + 0x44]
jb 0x10162c1d
mov edx, dword [esp + 0x38]
push edx
call fcn.10034678
mov ecx, dword [esp + 0x684]
mov al, byte [esp + 0x1c]
add esp, 4
inc al
mov dl, byte [ecx + 0xb]
mov byte [esp + 0x18], al
cmp al, dl
jb 0x10162aee
mov ebp, ecx
mov al, byte [esp + 0x14]
mov cl, byte [ebp + 9]
inc al
cmp al, cl
mov byte [esp + 0x14], al
jb 0x10162acf
mov eax, dword [esp + 0x40]
test eax, eax
jne 0x10162dd1
mov dword [esp + 0x4c], 0x24
lea esi, [esp + 0x178]
mov ebp, 8
mov ebx, 4
mov edi, 4
mov eax, dword [esi]
test eax, eax
je 0x10162df6
push eax
call fcn.10034678
add esp, 4
add esi, 4
dec edi
jne 0x10162de7
dec ebx
jne 0x10162de2
dec ebp
jne 0x10162ddd
mov eax, dword [esp + 0x4c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x66c
ret