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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x86c
mov edx, dword [esp + 0x880]
lea ebx, [esp + 0x50]
mov ecx, dword [esp + 0x880]
mov edx, dword [edx + 0x114]
mov dword [esp], ebx
add ecx, 0x18
mov dword [esp + 4], ecx
mov dword [esp + 0x4c], ecx
mov eax, edx
mov dword [esp + 0x40], edx
shl eax, 2
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x880]
mov eax, dword [edx + 0x128]
mov ebx, edx
mov ecx, dword [edx + 0x110]
lea edi, [eax + 4]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x3c], edi
jmp 0x42c580
cmp ecx, 0x24
je 0x42cac0
cmp ecx, 0x12
je 0x42c7f0
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x888]
sub dword [esp + 0x88c], eax
mov ecx, eax
lea edx, [edx + eax*2]
mov dword [esp + 0x888], edx
cmp dword [esp + 0x88c], 1
jle 0x42cd93
mov eax, dword [esp + 0x40]
lea edx, [esp + ecx*4 + 0x50]
lea ebx, [esp + 0x50]
mov dword [esp + 4], edx
mov dword [esp], ebx
shl eax, 2
mov dword [esp + 8], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x880]
mov eax, dword [edx + 0x128]
mov ebx, edx
mov edx, dword [ebx + 0x10c]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x40]
mov dword [esp], ebx
cmp dword [esp + 0x88c], edx
lea eax, [esp + ecx*4 + 0x50]
mov dword [esp + 4], eax
cmovle edx, dword [esp + 0x88c]
mov dword [esp + 0x38], edx
mov dword [esp + 0x10], edx
mov edx, dword [esp + 0x888]
mov dword [esp + 8], edx
call fcn.00436520
mov edx, dword [esp + 0x880]
mov ebx, dword [esp + 0x38]
mov ecx, dword [edx + 0x114]
shl ebx, 0x10
mov eax, dword [edx + 0x118]
mov dword [esp + 0x30], ebx
cmp ecx, 0x18
mov dword [esp + 0x40], ecx
jne 0x42c514
mov ebx, dword [esp + 0x30]
xor ecx, ecx
mov edx, dword [esp + 0x3c]
test ebx, ebx
jle 0x42c526
lea esi, [esi]
mov eax, ecx
movsx edi, word [edx]
sar eax, 0x10
lea eax, [esp + eax*4 + 0x50]
mov ebx, dword [eax]
add ebx, dword [eax + 0x5c]
mov ebp, ebx
and ebx, 0xffff
sar ebp, 0x10
imul ebp, edi
imul edi, ebx
mov ebx, dword [eax + 4]
sar edi, 0x10
add ebx, dword [eax + 0x58]
lea esi, [ebp + edi]
movsx ebp, word [edx + 2]
mov edi, ebx
and ebx, 0xffff
imul ebx, ebp
sar edi, 0x10
imul edi, ebp
movsx ebp, word [edx + 4]
sar ebx, 0x10
add edi, ebx
mov ebx, dword [eax + 8]
add edi, esi
add ebx, dword [eax + 0x54]
mov esi, ebx
and ebx, 0xffff
imul ebx, ebp
sar esi, 0x10
imul esi, ebp
movsx ebp, word [edx + 6]
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0xc]
add esi, edi
add ebx, dword [eax + 0x50]
mov edi, ebx
and ebx, 0xffff
imul ebx, ebp
sar edi, 0x10
imul edi, ebp
movsx ebp, word [edx + 8]
sar ebx, 0x10
add edi, ebx
mov ebx, dword [eax + 0x10]
add edi, esi
add ebx, dword [eax + 0x4c]
mov esi, ebx
sar esi, 0x10
imul esi, ebp
and ebx, 0xffff
imul ebx, ebp
movsx ebp, word [edx + 0xa]
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x14]
add esi, edi
add ebx, dword [eax + 0x48]
mov edi, ebx
and ebx, 0xffff
imul ebx, ebp
sar edi, 0x10
imul edi, ebp
movsx ebp, word [edx + 0xc]
sar ebx, 0x10
add edi, ebx
mov ebx, dword [eax + 0x18]
add edi, esi
add ebx, dword [eax + 0x44]
mov esi, ebx
and ebx, 0xffff
imul ebx, ebp
sar esi, 0x10
imul esi, ebp
movsx ebp, word [edx + 0xe]
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x1c]
add esi, edi
add ebx, dword [eax + 0x40]
mov edi, ebx
and ebx, 0xffff
imul ebx, ebp
sar edi, 0x10
imul edi, ebp
movsx ebp, word [edx + 0x10]
sar ebx, 0x10
add edi, ebx
mov ebx, dword [eax + 0x20]
add edi, esi
add ebx, dword [eax + 0x3c]
mov esi, ebx
sar esi, 0x10
imul esi, ebp
and ebx, 0xffff
imul ebx, ebp
movsx ebp, word [edx + 0x12]
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x24]
add esi, edi
add ebx, dword [eax + 0x38]
mov edi, ebx
and ebx, 0xffff
imul ebx, ebp
sar edi, 0x10
imul edi, ebp
movsx ebp, word [edx + 0x14]
sar ebx, 0x10
add edi, ebx
mov ebx, dword [eax + 0x28]
add edi, esi
add ebx, dword [eax + 0x34]
mov esi, ebx
and ebx, 0xffff
sar esi, 0x10
imul ebx, ebp
imul esi, ebp
mov ebp, dword [eax + 0x2c]
sar ebx, 0x10
add ebx, esi
add ebp, dword [eax + 0x30]
add edi, ebx
movsx ebx, word [edx + 0x16]
mov eax, ebp
and ebp, 0xffff
sar eax, 0x10
imul ebp, ebx
imul eax, ebx
sar ebp, 0x10
add ebp, eax
mov eax, 0x7fff
add edi, ebp
sar edi, 5
add edi, 1
sar edi, 1
cmp edi, 0x7fff
jg 0x42c7c2
cmp edi, 0xffff8000
mov eax, 0xffff8000
cmovge eax, edi
mov ebx, dword [esp + 0x884]
add ecx, dword [esp + 0x34]
mov word [ebx], ax
add ebx, 2
cmp dword [esp + 0x30], ecx
mov dword [esp + 0x884], ebx
jg 0x42c600
jmp 0x42c526
mov edx, dword [esp + 0x30]
test edx, edx
jle 0x42c526
movsx ebx, ax
sub eax, 1
mov dword [esp + 0x2c], 0
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], eax
movzx ecx, word [esp + 0x2c]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x3c]
imul ecx, dword [esp + 0x44]
sar eax, 0x10
lea eax, [esp + eax*4 + 0x50]
sar ecx, 0x10
mov esi, dword [eax]
lea edx, [ecx + ecx*8]
lea edx, [ebx + edx*2]
movsx ebp, word [edx]
mov edi, esi
and esi, 0xffff
sar edi, 0x10
imul esi, ebp
imul edi, ebp
mov ebp, dword [eax + 4]
sar esi, 0x10
add esi, edi
movsx edi, word [edx + 2]
mov ebx, ebp
and ebp, 0xffff
sar ebx, 0x10
imul ebp, edi
imul ebx, edi
movsx edi, word [edx + 4]
sar ebp, 0x10
add ebx, ebp
mov ebp, dword [eax + 8]
add ebx, esi
mov esi, ebp
and ebp, 0xffff
imul ebp, edi
sar esi, 0x10
imul esi, edi
movsx edi, word [edx + 6]
sar ebp, 0x10
add esi, ebp
mov ebp, dword [eax + 0xc]
add esi, ebx
mov ebx, ebp
and ebp, 0xffff
imul ebp, edi
sar ebx, 0x10
imul ebx, edi
movsx edi, word [edx + 8]
sar ebp, 0x10
add ebx, ebp
mov ebp, dword [eax + 0x10]
add ebx, esi
mov esi, ebp
sar esi, 0x10
imul esi, edi
and ebp, 0xffff
imul ebp, edi
movsx edi, word [edx + 0xa]
sar ebp, 0x10
add esi, ebp
mov ebp, dword [eax + 0x14]
add esi, ebx
mov ebx, ebp
and ebp, 0xffff
imul ebp, edi
sar ebx, 0x10
imul ebx, edi
movsx edi, word [edx + 0xc]
sar ebp, 0x10
add ebx, ebp
mov ebp, dword [eax + 0x18]
add ebx, esi
mov esi, ebp
and ebp, 0xffff
imul ebp, edi
sar esi, 0x10
imul esi, edi
movsx edi, word [edx + 0xe]
sar ebp, 0x10
add esi, ebp
mov ebp, dword [eax + 0x1c]
add esi, ebx
mov ebx, ebp
and ebp, 0xffff
imul ebp, edi
sar ebx, 0x10
imul ebx, edi
mov edi, dword [eax + 0x20]
sar ebp, 0x10
add ebp, ebx
movsx ebx, word [edx + 0x10]
mov edx, edi
and edi, 0xffff
add esi, ebp
sar edx, 0x10
mov ebp, dword [eax + 0x40]
imul edi, ebx
imul edx, ebx
mov ebx, dword [eax + 0x44]
sar edi, 0x10
add edi, edx
mov edx, dword [esp + 0x48]
add esi, edi
sub edx, ecx
mov ecx, dword [esp + 0x3c]
lea edx, [edx + edx*8]
lea edx, [ecx + edx*2]
mov ecx, ebx
and ebx, 0xffff
movsx edi, word [edx]
sar ecx, 0x10
imul ebx, edi
imul ecx, edi
movsx edi, word [edx + 2]
sar ebx, 0x10
add ebx, ecx
mov ecx, ebp
and ebp, 0xffff
imul ebp, edi
sar ecx, 0x10
add esi, ebx
imul ecx, edi
movsx edi, word [edx + 4]
sar ebp, 0x10
add ebp, ecx
add esi, ebp
mov ebp, dword [eax + 0x3c]
mov ebx, ebp
and ebp, 0xffff
imul ebp, edi
sar ebx, 0x10
imul ebx, edi
mov edi, dword [eax + 0x38]
sar ebp, 0x10
add ebx, ebp
add ebx, esi
movsx esi, word [edx + 6]
mov ecx, edi
and edi, 0xffff
sar ecx, 0x10
imul edi, esi
imul ecx, esi
movsx esi, word [edx + 8]
sar edi, 0x10
add ecx, edi
mov edi, dword [eax + 0x34]
add ecx, ebx
mov ebx, edi
and edi, 0xffff
sar ebx, 0x10
imul edi, esi
imul ebx, esi
movsx esi, word [edx + 0xa]
sar edi, 0x10
add ebx, edi
mov edi, dword [eax + 0x30]
add ebx, ecx
mov ecx, edi
and edi, 0xffff
imul edi, esi
sar ecx, 0x10
imul ecx, esi
movsx esi, word [edx + 0xc]
sar edi, 0x10
add ecx, edi
mov edi, dword [eax + 0x2c]
add ecx, ebx
mov ebx, edi
and edi, 0xffff
imul edi, esi
sar ebx, 0x10
imul ebx, esi
movsx esi, word [edx + 0xe]
movsx edx, word [edx + 0x10]
sar edi, 0x10
add ebx, edi
mov edi, dword [eax + 0x28]
add ebx, ecx
mov ecx, edi
and edi, 0xffff
sar ecx, 0x10
imul edi, esi
imul ecx, esi
sar edi, 0x10
add edi, ecx
mov ecx, dword [eax + 0x24]
add ebx, edi
mov eax, ecx
and ecx, 0xffff
sar eax, 0x10
imul ecx, edx
imul eax, edx
sar ecx, 0x10
add ecx, eax
mov eax, 0x7fff
add ebx, ecx
sar ebx, 5
add ebx, 1
sar ebx, 1
cmp ebx, 0x7fff
jg 0x42ca90
cmp ebx, 0xffff8000
mov eax, 0xffff8000
cmovge eax, ebx
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x884]
add dword [esp + 0x2c], edx
mov word [ebx], ax
add ebx, 2
mov dword [esp + 0x884], ebx
mov ecx, dword [esp + 0x2c]
cmp dword [esp + 0x30], ecx
jg 0x42c812
jmp 0x42c526
mov esi, dword [esp + 0x30]
xor ecx, ecx
mov edx, dword [esp + 0x3c]
test esi, esi
jle 0x42c526
mov eax, ecx
movsx edi, word [edx]
sar eax, 0x10
lea eax, [esp + eax*4 + 0x50]
mov ebx, dword [eax]
add ebx, dword [eax + 0x8c]
mov ebp, ebx
and ebx, 0xffff
sar ebp, 0x10
imul ebp, edi
imul edi, ebx
mov ebx, dword [eax + 4]
sar edi, 0x10
add ebx, dword [eax + 0x88]
lea esi, [ebp + edi]
movsx ebp, word [edx + 2]
mov edi, ebx
and ebx, 0xffff
imul ebx, ebp
sar edi, 0x10
imul edi, ebp
movsx ebp, word [edx + 4]
sar ebx, 0x10
add edi, ebx
mov ebx, dword [eax + 8]
add edi, esi
add ebx, dword [eax + 0x84]
mov esi, ebx
and ebx, 0xffff
imul ebx, ebp
sar esi, 0x10
imul esi, ebp
movsx ebp, word [edx + 6]
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0xc]
add esi, edi
add ebx, dword [eax + 0x80]
mov edi, ebx
and ebx, 0xffff
imul ebx, ebp
sar edi, 0x10
imul edi, ebp
movsx ebp, word [edx + 8]
sar ebx, 0x10
add edi, ebx
mov ebx, dword [eax + 0x10]
add edi, esi
add ebx, dword [eax + 0x7c]
mov esi, ebx
sar esi, 0x10
imul esi, ebp
and ebx, 0xffff
imul ebx, ebp
movsx ebp, word [edx + 0xa]
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x14]
add esi, edi
add ebx, dword [eax + 0x78]
mov edi, ebx
and ebx, 0xffff
imul ebx, ebp
sar edi, 0x10
imul edi, ebp
movsx ebp, word [edx + 0xc]
sar ebx, 0x10
add edi, ebx
mov ebx, dword [eax + 0x18]
add edi, esi
add ebx, dword [eax + 0x74]
mov esi, ebx
and ebx, 0xffff
imul ebx, ebp
sar esi, 0x10
imul esi, ebp
movsx ebp, word [edx + 0xe]
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x1c]
add esi, edi
add ebx, dword [eax + 0x70]
mov edi, ebx
and ebx, 0xffff
imul ebx, ebp
sar edi, 0x10
imul edi, ebp
movsx ebp, word [edx + 0x10]
sar ebx, 0x10
add edi, ebx
mov ebx, dword [eax + 0x20]
add edi, esi
add ebx, dword [eax + 0x6c]
mov esi, ebx
sar esi, 0x10
imul esi, ebp
and ebx, 0xffff
imul ebx, ebp
movsx ebp, word [edx + 0x12]
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x24]
add esi, edi
add ebx, dword [eax + 0x68]
mov edi, ebx
and ebx, 0xffff
imul ebx, ebp
sar edi, 0x10
imul edi, ebp
movsx ebp, word [edx + 0x14]
sar ebx, 0x10
add edi, ebx
mov ebx, dword [eax + 0x28]
add edi, esi
add ebx, dword [eax + 0x64]
mov esi, ebx
and ebx, 0xffff
imul ebx, ebp
sar esi, 0x10
imul esi, ebp
movsx ebp, word [edx + 0x16]
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x2c]
add esi, edi
add ebx, dword [eax + 0x60]
mov edi, ebx
and ebx, 0xffff
imul ebx, ebp
sar edi, 0x10
imul edi, ebp
movsx ebp, word [edx + 0x18]
sar ebx, 0x10
add edi, ebx
mov ebx, dword [eax + 0x30]
add edi, esi
add ebx, dword [eax + 0x5c]
mov esi, ebx
and ebx, 0xffff
sar esi, 0x10
imul esi, ebp
imul ebx, ebp
movsx ebp, word [edx + 0x1a]
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x34]
add esi, edi
add ebx, dword [eax + 0x58]
mov edi, ebx
and ebx, 0xffff
imul ebx, ebp
sar edi, 0x10
imul edi, ebp
movsx ebp, word [edx + 0x1c]
sar ebx, 0x10
add edi, ebx
mov ebx, dword [eax + 0x38]
add edi, esi
add ebx, dword [eax + 0x54]
mov esi, ebx
and ebx, 0xffff
imul ebx, ebp
sar esi, 0x10
imul esi, ebp
movsx ebp, word [edx + 0x1e]
sar ebx, 0x10
add esi, ebx
mov ebx, dword [eax + 0x3c]
add esi, edi
add ebx, dword [eax + 0x50]
mov edi, ebx
and ebx, 0xffff
imul ebx, ebp
sar edi, 0x10
imul edi, ebp
movsx ebp, word [edx + 0x20]
sar ebx, 0x10
add edi, ebx
mov ebx, dword [eax + 0x40]
add edi, esi
add ebx, dword [eax + 0x4c]
mov esi, ebx
and ebx, 0xffff
sar esi, 0x10
imul ebx, ebp
imul esi, ebp
mov ebp, dword [eax + 0x44]
sar ebx, 0x10
add ebx, esi
add ebp, dword [eax + 0x48]
add edi, ebx
movsx ebx, word [edx + 0x22]
mov eax, ebp
and ebp, 0xffff
sar eax, 0x10
imul ebp, ebx
imul eax, ebx
sar ebp, 0x10
add ebp, eax
mov eax, 0x7fff
add edi, ebp
sar edi, 5
add edi, 1
sar edi, 1
cmp edi, 0x7fff
jg 0x42cd6c
cmp edi, 0xffff8000
mov eax, 0xffff8000
cmovge eax, edi
mov ebx, dword [esp + 0x884]
add ecx, dword [esp + 0x34]
mov word [ebx], ax
add ebx, 2
cmp dword [esp + 0x30], ecx
mov dword [esp + 0x884], ebx
jg 0x42cad2
jmp 0x42c526
mov edx, dword [esp + 0x40]
lea eax, [esp + eax*4 + 0x50]
mov ebx, dword [esp + 0x4c]
mov dword [esp + 4], eax
shl edx, 2
mov dword [esp], ebx
mov dword [esp + 8], edx
call sub.msvcrt.dll_memcpy
add esp, 0x86c
pop ebx
pop esi
pop edi
pop ebp
ret