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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x5dc
mov edi, dword [esp + 0x5f0]
mov ecx, dword [esp + 0x5f4]
mov ebx, dword [esp + 0x5f8]
mov esi, dword [esp + 0x5fc]
mov dword [esp + 0x1c], ecx
mov ecx, dword [edi + 0x90c]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x44], esi
cmp ecx, dword [edi + 0x103c]
je 0x432d3d
mov ebx, dword [edi + 0x924]
mov eax, 0x7fff
mov edx, eax
sar edx, 0x1f
mov dword [esp + 0x2c], ebx
add ebx, 1
idiv ebx
mov edx, dword [esp + 0x2c]
test edx, edx
jle 0x432521
mov esi, dword [esp + 0x2c]
xor edx, edx
xor ebx, ebx
lea esi, [esi]
add ebx, eax
mov word [edi + edx*2 + 0xfd4], bx
add edx, 1
cmp esi, edx
jg 0x432510
mov dword [edi + 0x1034], 0
mov dword [edi + 0x1038], 0x307880
mov dword [edi + 0x103c], ecx
mov ebp, dword [edi + 0x1040]
test ebp, ebp
je 0x432a30
lea esi, [edi + 0xad4]
mov dword [esp + 0x24], esi
cmp dword [esp + 0x44], 0xfe
mov eax, dword [edi + 0x1034]
jg 0x432d53
mov edx, dword [esp + 0x44]
mov ebp, 0xff
sar ebp, 1
cmp edx, ebp
jl 0x432570
mov edx, dword [esp + 0x44]
mov ebx, dword [edi + 0x1038]
test edx, edx
jle 0x432bc2
lea esi, [esp + 0x90]
mov edx, eax
sar eax, 0x13
sar edx, 4
add eax, 1
mov dword [esp + 0x6c], esi
movsx ecx, dx
sar eax, 1
mov dword [esp + 0x30], edx
mov dword [esp + 0x1c], ecx
xor ecx, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x34], edi
lea esi, [esi]
imul ebx, ebx, 0xbb38435
mov esi, dword [esp + 0x24]
mov edi, dword [esp + 0x1c]
add ebx, 0x3619636b
mov eax, ebx
mov dword [esp + 0x18], ebx
sar eax, 0x18
and eax, dword [esp + 0x28]
mov edx, dword [esi + eax*4]
mov esi, dword [esp + 0x20]
movzx eax, dx
mov ebp, edx
sar ebp, 0x10
imul esi, edx
imul eax, dword [esp + 0x1c]
imul edi, ebp
sar eax, 0x10
add edi, eax
add edi, esi
mov esi, 0x7fff
cmp edi, 0x7fff
jg 0x43262f
cmp edi, 0xffff8000
mov esi, 0xffff8000
jl 0x43262f
imul bp, word [esp + 0x30]
imul dx, word [esp + 0x20]
add edx, ebp
add edx, eax
movsx esi, dx
mov eax, dword [esp + 0x6c]
mov dword [eax + ecx*4 + 0x40], esi
add ecx, 1
cmp ecx, dword [esp + 0x44]
jne 0x4325c0
mov edi, dword [esp + 0x34]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x2c]
lea ebx, [edi + 0xff4]
mov dword [edi + 0x1038], eax
lea eax, [edi + 0xfd4]
mov dword [esp + 4], eax
lea eax, [esp + 0x70]
mov dword [esp + 8], ecx
mov dword [esp], eax
call fcn.00439b90
mov dword [esp + 0x68], ebx
mov esi, dword [esp + 0x6c]
mov eax, dword [edi + 0xff4]
mov dword [esi], eax
mov eax, dword [edi + 0xff8]
mov dword [esi + 4], eax
mov eax, dword [edi + 0xffc]
mov dword [esi + 8], eax
mov eax, dword [edi + 0x1000]
mov dword [esi + 0xc], eax
mov eax, dword [edi + 0x1004]
mov dword [esi + 0x10], eax
mov eax, dword [edi + 0x1008]
mov dword [esi + 0x14], eax
mov eax, dword [edi + 0x100c]
mov dword [esi + 0x18], eax
mov eax, dword [edi + 0x1010]
mov dword [esi + 0x1c], eax
mov eax, dword [edi + 0x1014]
mov dword [esi + 0x20], eax
mov eax, dword [edi + 0x1018]
mov dword [esi + 0x24], eax
mov eax, dword [edi + 0x101c]
mov dword [esi + 0x28], eax
mov eax, dword [edi + 0x1020]
mov dword [esi + 0x2c], eax
mov eax, dword [edi + 0x1024]
mov dword [esi + 0x30], eax
mov eax, dword [edi + 0x1028]
mov dword [esi + 0x34], eax
mov eax, dword [edi + 0x102c]
mov dword [esi + 0x38], eax
mov eax, dword [edi + 0x1030]
mov dword [esi + 0x3c], eax
mov edi, dword [edi + 0x924]
movsx edx, word [esp + 0x70]
movsx ecx, word [esp + 0x72]
movsx ebx, word [esp + 0x74]
mov eax, edi
movsx esi, word [esp + 0x76]
mov dword [esp + 0x48], edi
sar eax, 1
mov dword [esp + 0x18], edx
movsx edx, word [esp + 0x7a]
mov dword [esp + 0x4c], eax
movsx eax, word [esp + 0x78]
mov dword [esp + 0x1c], ecx
movsx ecx, word [esp + 0x7c]
mov dword [esp + 0x20], ebx
movsx ebx, word [esp + 0x7e]
mov dword [esp + 0x24], esi
movsx esi, word [esp + 0x80]
mov dword [esp + 0x28], eax
movsx eax, word [esp + 0x82]
mov dword [esp + 0x2c], edx
movsx edx, word [esp + 0x84]
mov dword [esp + 0x30], ecx
movsx ecx, word [esp + 0x86]
mov dword [esp + 0x34], ebx
movsx ebx, word [esp + 0x88]
mov dword [esp + 0x3c], esi
movsx esi, word [esp + 0x8a]
mov dword [esp + 0x40], eax
movsx eax, word [esp + 0x8c]
mov dword [esp + 0x50], edx
movsx edx, word [esp + 0x8e]
mov dword [esp + 0x54], ecx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x60], eax
lea eax, [esp + 0xd0]
mov dword [esp + 0x5c], esi
mov dword [esp + 0x64], edx
mov edx, 1
jmp 0x432824
mov ebx, ecx
sar ecx, 5
shl ebx, 4
add ecx, 1
add dword [eax], ebx
sar ecx, 1
mov ebx, dword [esp + 0x38]
movzx edi, word [ebx + edx*2 - 2]
mov ebx, 0x7fff
movsx esi, di
add esi, ecx
cmp esi, 0x7fff
jg 0x43280b
add ecx, edi
mov ebx, 0xffff8000
cmp esi, 0xffff8000
cmovge ebx, ecx
mov esi, dword [esp + 0x38]
add eax, 4
mov word [esi + edx*2 - 2], bx
add edx, 1
cmp dword [esp + 0x44], ebp
jle 0x432cc5
mov edi, dword [eax - 4]
mov ecx, dword [eax - 0xc]
mov ebx, edi
and edi, 0xffff
imul edi, dword [esp + 0x18]
sar ebx, 0x10
imul ebx, dword [esp + 0x18]
sar edi, 0x10
add edi, ebx
mov ebx, dword [eax - 8]
add edi, dword [esp + 0x4c]
mov esi, ebx
and ebx, 0xffff
imul ebx, dword [esp + 0x1c]
sar esi, 0x10
imul esi, dword [esp + 0x1c]
sar ebx, 0x10
add ebx, esi
add ebx, edi
mov edi, ecx
and ecx, 0xffff
imul ecx, dword [esp + 0x20]
sar edi, 0x10
imul edi, dword [esp + 0x20]
sar ecx, 0x10
add edi, ecx
mov ecx, dword [eax - 0x14]
add edi, ebx
mov ebx, dword [eax - 0x10]
mov esi, ebx
and ebx, 0xffff
imul ebx, dword [esp + 0x24]
sar esi, 0x10
imul esi, dword [esp + 0x24]
sar ebx, 0x10
add ebx, esi
add ebx, edi
mov edi, ecx
and ecx, 0xffff
imul ecx, dword [esp + 0x28]
sar edi, 0x10
imul edi, dword [esp + 0x28]
sar ecx, 0x10
add edi, ecx
mov ecx, dword [eax - 0x1c]
add edi, ebx
mov ebx, dword [eax - 0x18]
mov esi, ebx
and ebx, 0xffff
imul ebx, dword [esp + 0x2c]
sar esi, 0x10
imul esi, dword [esp + 0x2c]
sar ebx, 0x10
add ebx, esi
add ebx, edi
mov edi, ecx
and ecx, 0xffff
imul ecx, dword [esp + 0x30]
sar edi, 0x10
imul edi, dword [esp + 0x30]
sar ecx, 0x10
add edi, ecx
add edi, ebx
mov ebx, dword [eax - 0x20]
mov esi, ebx
and ebx, 0xffff
imul ebx, dword [esp + 0x34]
sar esi, 0x10
imul esi, dword [esp + 0x34]
sar ebx, 0x10
add ebx, esi
add ebx, edi
mov edi, dword [eax - 0x24]
mov ebp, edi
and edi, 0xffff
imul edi, dword [esp + 0x3c]
sar ebp, 0x10
imul ebp, dword [esp + 0x3c]
sar edi, 0x10
add edi, ebp
mov ebp, dword [eax - 0x28]
add edi, ebx
mov esi, ebp
and ebp, 0xffff
sar esi, 0x10
imul esi, dword [esp + 0x40]
imul ebp, dword [esp + 0x40]
sar ebp, 0x10
lea ecx, [esi + ebp]
mov ebp, edx
add ecx, edi
cmp dword [esp + 0x48], 0x10
jne 0x4327d1
mov ebx, dword [eax - 0x2c]
mov edi, dword [eax - 0x30]
mov esi, ebx
and ebx, 0xffff
imul ebx, dword [esp + 0x50]
sar esi, 0x10
mov ebp, edi
imul esi, dword [esp + 0x50]
and edi, 0xffff
sar ebp, 0x10
imul edi, dword [esp + 0x54]
imul ebp, dword [esp + 0x54]
sar ebx, 0x10
add ebx, esi
mov esi, dword [eax - 0x38]
sar edi, 0x10
add ecx, ebx
add edi, ebp
add ecx, edi
mov edi, dword [eax - 0x34]
mov ebp, edi
and edi, 0xffff
imul edi, dword [esp + 0x58]
sar ebp, 0x10
imul ebp, dword [esp + 0x58]
sar edi, 0x10
add edi, ebp
mov ebp, esi
and esi, 0xffff
imul esi, dword [esp + 0x5c]
sar ebp, 0x10
add edi, ecx
imul ebp, dword [esp + 0x5c]
sar esi, 0x10
lea ebx, [ebp + esi]
mov ebp, edx
add ebx, edi
mov edi, dword [eax - 0x3c]
mov ecx, edi
and edi, 0xffff
imul edi, dword [esp + 0x60]
sar ecx, 0x10
imul ecx, dword [esp + 0x60]
sar edi, 0x10
add ecx, edi
add ecx, ebx
mov ebx, dword [eax - 0x40]
mov esi, ebx
and ebx, 0xffff
imul ebx, dword [esp + 0x64]
sar esi, 0x10
imul esi, dword [esp + 0x64]
sar ebx, 0x10
add ebx, esi
add ecx, ebx
jmp 0x4327d1
mov esi, dword [edi + 0x1044]
test esi, esi
jne 0x432b8d
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jle 0x432d63
mov ebx, dword [esp + 0x2c]
lea ecx, [edi + 0xad4]
mov dword [esp + 0x24], ecx
mov eax, ecx
mov esi, ecx
lea ebp, [edi + ebx*2 + 0xad4]
mov dword [esp + 0x18], ebp
mov esi, esi
lea edi, [edi]
mov ecx, eax
movsx edx, word [eax - 0x1ac]
add eax, 2
sub ecx, edi
movzx ebx, word [ecx + esi - 0x5d4]
movsx ebp, bx
sub edx, ebp
mov ebp, edx
and edx, 0xffff
sar ebp, 0x10
imul edx, edx, 0x3fdc
imul bp, bp, 0x3fdc
sar edx, 0x10
add ebx, ebp
add ebx, edx
cmp eax, dword [esp + 0x18]
mov word [ecx + esi - 0x5d4], bx
jne 0x432a70
mov ebx, dword [edi + 0x914]
test ebx, ebx
jle 0x432d4c
mov ebp, dword [esp + 0x1c]
xor edx, edx
xor esi, esi
xor eax, eax
mov ecx, dword [ebp + eax*4 + 0x10]
cmp ecx, edx
cmovg esi, eax
cmovg edx, ecx
add eax, 1
cmp eax, ebx
jne 0x432ace
mov eax, dword [edi + 0x91c]
sub ebx, 1
mov edx, dword [esp + 0x24]
imul ebx, eax
lea eax, [edx + eax*4]
mov dword [esp + 4], edx
mov dword [esp], eax
shl ebx, 2
mov dword [esp + 8], ebx
call sub.msvcrt.dll_memmove
mov eax, dword [edi + 0x91c]
mov ecx, dword [esp + 0x24]
lea edx, [eax*4]
imul eax, esi
mov dword [esp + 8], edx
mov dword [esp], ecx
lea eax, [edi + eax*4 + 4]
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [edi + 0x914]
test eax, eax
jle 0x432b75
mov edx, dword [esp + 0x1c]
mov ecx, dword [edi + 0x1034]
lea esi, [edx + eax*4]
mov eax, dword [edx + 0x10]
add edx, 4
sub eax, ecx
mov ebx, eax
and eax, 0xffff
sar ebx, 0x10
imul eax, eax, 0x121a
imul ebx, ebx, 0x121a
sar eax, 0x10
add eax, ebx
add ecx, eax
cmp edx, esi
jne 0x432b46
mov dword [edi + 0x1034], ecx
mov ecx, dword [edi + 0x1040]
test ecx, ecx
jne 0x432d72
mov ebx, dword [edi + 0x924]
mov dword [esp + 0x2c], ebx
mov edx, dword [esp + 0x2c]
lea eax, [edi + 0xff4]
mov dword [esp + 0x5f4], 0
mov dword [esp + 0x5f0], eax
shl edx, 2
mov dword [esp + 0x5f8], edx
add esp, 0x5dc
pop ebx
pop esi
pop edi
pop ebp
jmp sub.msvcrt.dll_memset
mov ecx, dword [esp + 0x2c]
lea eax, [edi + 0xfd4]
mov dword [esp + 4], eax
lea eax, [esp + 0x70]
mov dword [esp], eax
lea ebx, [edi + 0xff4]
lea esi, [esp + 0x90]
mov dword [esp + 8], ecx
call fcn.00439b90
mov dword [esp + 0x68], ebx
mov eax, dword [edi + 0xff4]
mov dword [esp + 0x90], eax
mov eax, dword [edi + 0xff8]
mov dword [esp + 0x94], eax
mov eax, dword [edi + 0xffc]
mov dword [esp + 0x98], eax
mov eax, dword [edi + 0x1000]
mov dword [esp + 0x9c], eax
mov eax, dword [edi + 0x1004]
mov dword [esp + 0xa0], eax
mov eax, dword [edi + 0x1008]
mov dword [esp + 0xa4], eax
mov eax, dword [edi + 0x100c]
mov dword [esp + 0xa8], eax
mov eax, dword [edi + 0x1010]
mov dword [esp + 0xac], eax
mov eax, dword [edi + 0x1014]
mov dword [esp + 0xb0], eax
mov eax, dword [edi + 0x1018]
mov dword [esp + 0xb4], eax
mov eax, dword [edi + 0x101c]
mov dword [esp + 0xb8], eax
mov eax, dword [edi + 0x1020]
mov dword [esp + 0xbc], eax
mov eax, dword [edi + 0x1024]
mov dword [esp + 0xc0], eax
mov eax, dword [edi + 0x1028]
mov dword [esp + 0xc4], eax
mov eax, dword [edi + 0x102c]
mov dword [esp + 0xc8], eax
mov eax, dword [edi + 0x1030]
mov dword [esp + 0xcc], eax
mov dword [esp + 0x6c], esi
mov ebx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x44]
mov esi, dword [esp + 0x68]
lea eax, [ebx + ecx*4]
mov edx, dword [eax]
mov dword [esi], edx
mov edx, dword [eax + 4]
mov dword [esi + 4], edx
mov edx, dword [eax + 8]
mov dword [esi + 8], edx
mov edx, dword [eax + 0xc]
mov dword [esi + 0xc], edx
mov edx, dword [eax + 0x10]
mov dword [esi + 0x10], edx
mov edx, dword [eax + 0x14]
mov dword [esi + 0x14], edx
mov edx, dword [eax + 0x18]
mov dword [esi + 0x18], edx
mov edx, dword [eax + 0x1c]
mov dword [esi + 0x1c], edx
mov edx, dword [eax + 0x20]
mov dword [esi + 0x20], edx
mov edx, dword [eax + 0x24]
mov dword [esi + 0x24], edx
mov edx, dword [eax + 0x28]
mov dword [esi + 0x28], edx
mov edx, dword [eax + 0x2c]
mov dword [esi + 0x2c], edx
mov edx, dword [eax + 0x30]
mov dword [esi + 0x30], edx
mov edx, dword [eax + 0x34]
mov dword [esi + 0x34], edx
mov edx, dword [eax + 0x38]
mov dword [esi + 0x38], edx
mov eax, dword [eax + 0x3c]
mov dword [esi + 0x3c], eax
add esp, 0x5dc
pop ebx
pop esi
pop edi
pop ebp
ret
mov ecx, dword [edi + 0x924]
mov dword [esp + 0x2c], ecx
jmp 0x43253b
xor esi, esi
jmp 0x432ae1
mov ebx, dword [edi + 0x1038]
mov ebp, 0xff
jmp 0x432588
lea edx, [edi + 0xad4]
mov dword [esp + 0x24], edx
jmp 0x432ab6
mov esi, dword [edi + 0x924]
mov dword [esp + 0x2c], esi
jmp 0x432553