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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x5fad89
mov eax, dword fs:[0]
push eax
sub esp, 0xb4
push ebx
push ebp
push esi
push edi
mov eax, dword [0x6d25dc]
xor eax, esp
push eax
lea eax, [esp + 0xc8]
mov dword fs:[0], eax
mov ebx, ecx
mov dword [esp + 0x20], ebx
mov eax, dword [ebx + 0x18]
mov ecx, dword [eax + 4]
lea esi, [ebx + 0x14]
push ecx
mov ecx, esi
mov dword [esp + 0x44], esi
call fcn.0046f4e0
mov eax, dword [esi + 4]
mov dword [eax + 4], eax
mov eax, dword [esi + 4]
xor edi, edi
mov dword [esi + 8], edi
mov dword [eax], eax
mov esi, dword [esi + 4]
mov dword [esi + 8], esi
mov ecx, dword [ebx]
lea esi, [ebx + 0x40]
push esi
call fcn.0044b240
test al, al
jne 0x470b68
mov ecx, dword [ebx]
mov edx, dword [ecx + 0x64]
mov eax, dword [ecx + 0x68]
push esi
mov dword [esp + 0x30], edx
mov dword [esp + 0x6c], eax
call fcn.0044b280
mov ecx, dword [ebx]
mov ecx, dword [ecx + 0x5c]
xor ebp, ebp
mov esi, ecx
add esi, eax
adc ebp, edx
push edi
add esi, 0xffffffff
push ecx
adc ebp, 0xffffffff
push ebp
push esi
call fcn.005813d0
xor ebp, ebp
cmp eax, 0xc
mov dword [esp + 0x24], eax
jae 0x4706e6
cmp eax, edi
mov dword [esp + 0x18], eax
jbe 0x47059e
lea edx, [ebx + 0x68]
mov dword [esp + 0x1c], edx
jmp 0x4704c0
mov eax, dword [esp + 0x1c]
mov eax, dword [eax]
cmp eax, edi
mov dword [esp + 0x28], eax
je 0x47058c
mov dword [esp + 0x50], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esp + 0x88]
mov dword [esp + 0xd4], edi
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], edi
call fcn.0046e9e0
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0x7c]
push edx
lea eax, [esp + 0x48]
push eax
mov byte [esp + 0xd8], 1
call fcn.0046ffe0
mov eax, dword [esp + 0x88]
cmp eax, edi
je 0x470537
push eax
call fcn.00401000
add esp, 4
mov eax, dword [esp + 0x58]
cmp eax, edi
mov dword [esp + 0xd0], 0xffffffff
je 0x470553
push eax
call fcn.00401000
add esp, 4
cmp dword [esp + 0x44], edi
jne 0x47055e
call fcn.0057dd5c
mov esi, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
cmp esi, dword [ecx + 4]
jne 0x470570
call fcn.0057dd5c
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x38]
push eax
lea ecx, [esi + 0x14]
mov dword [esi + 0x10], edx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], ebp
call fcn.0046f0f0
add dword [esp + 0x1c], 4
add ebp, 1
cmp ebp, dword [esp + 0x18]
jb 0x4704c0
mov esi, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
add esi, 0xc
cmp eax, esi
mov dword [esp + 0x18], esi
jae 0x4705b7
mov esi, eax
mov dword [esp + 0x18], eax
mov eax, dword [ebx + 0x98]
cmp eax, edi
mov dword [esp + 0x34], eax
je 0x4706f3
push eax
lea ecx, [ebx + 0x20]
call fcn.0046f410
cmp ebp, esi
mov dword [esp + 0x28], eax
jae 0x4706f5
lea esi, [ebp*4 - 0x30]
mov ecx, dword [esp + 0x28]
mov eax, dword [esi + ecx]
cmp eax, edi
mov dword [esp + 0x30], eax
je 0x4706d4
mov dword [esp + 0x50], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x88]
mov dword [esp + 0xd4], 2
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], edi
call fcn.0046e9e0
lea eax, [esp + 0x7c]
push eax
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x48]
mov byte [esp + 0xd8], 3
call fcn.0046ffe0
mov eax, dword [esp + 0x88]
cmp eax, edi
je 0x470661
push eax
call fcn.00401000
add esp, 4
mov eax, dword [esp + 0x58]
cmp eax, edi
mov dword [esp + 0xd0], 0xffffffff
je 0x47067d
push eax
call fcn.00401000
add esp, 4
cmp dword [esp + 0x44], edi
jne 0x470688
call fcn.0057dd5c
mov ebx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
cmp ebx, dword [edx + 4]
jne 0x47069a
call fcn.0057dd5c
mov eax, dword [esp + 0x30]
mov dword [ebx + 0x10], eax
lea ecx, [esp + 0x38]
add ebx, 0x14
push ecx
mov ecx, ebx
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], 0xc
call fcn.0046f0f0
mov edx, dword [esp + 0x34]
lea eax, [esp + 0x74]
push eax
mov ecx, ebx
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], esi
call fcn.0046f0f0
add ebp, 1
add esi, 4
cmp ebp, dword [esp + 0x18]
jb 0x4705e5
jmp 0x4706f5
mov dword [esp + 0x18], 0xc
jmp 0x4704b4
mov ebp, esi
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
lea esi, [ecx + edx + 0xc]
cmp eax, esi
mov dword [esp + 0x18], esi
jae 0x470713
mov esi, eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x20]
mov eax, dword [ecx + 0x9c]
cmp eax, edi
mov dword [esp + 0x30], eax
je 0x4708cc
add ecx, 0x20
push eax
call fcn.0046f410
cmp ebp, esi
mov dword [esp + 0x64], eax
jae 0x4708ce
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
mov eax, dword [eax + ecx]
cmp eax, edi
mov dword [esp + 0x34], eax
je 0x4708b9
mov ecx, dword [esp + 0x20]
push eax
add ecx, 0x20
call fcn.0046f410
mov dword [esp + 0x70], eax
xor eax, eax
cmp ebp, esi
mov dword [esp + 0x28], eax
jae 0x4708bd
cmp eax, dword [esp + 0x2c]
jae 0x4708bd
mov edx, dword [esp + 0x70]
lea ebx, [eax*4]
mov ecx, dword [ebx + edx]
cmp ecx, edi
mov dword [esp + 0x6c], ecx
je 0x4708a5
mov dword [esp + 0x50], edi
mov dword [esp + 0x58], edi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x60], edi
lea eax, [esp + 0x54]
push eax
lea ecx, [esp + 0x88]
mov dword [esp + 0xd4], 4
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], edi
call fcn.0046e9e0
lea ecx, [esp + 0x7c]
push ecx
mov ecx, dword [esp + 0x44]
lea edx, [esp + 0x48]
push edx
mov byte [esp + 0xd8], 5
call fcn.0046ffe0
mov eax, dword [esp + 0x88]
cmp eax, edi
je 0x470805
push eax
call fcn.00401000
add esp, 4
mov eax, dword [esp + 0x58]
cmp eax, edi
mov dword [esp + 0xd0], 0xffffffff
je 0x470821
push eax
call fcn.00401000
add esp, 4
cmp dword [esp + 0x44], edi
jne 0x47082c
call fcn.0057dd5c
mov esi, dword [esp + 0x48]
mov eax, dword [esp + 0x44]
cmp esi, dword [eax + 4]
jne 0x47083e
call fcn.0057dd5c
mov ecx, dword [esp + 0x6c]
mov dword [esi + 0x10], ecx
lea edx, [esp + 0x38]
add esi, 0x14
push edx
mov ecx, esi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x40], 0xd
call fcn.0046f0f0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
lea edx, [esp + 0x74]
mov dword [esp + 0x78], ecx
push edx
mov ecx, esi
mov dword [esp + 0x78], eax
call fcn.0046f0f0
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x94]
push ecx
mov ecx, esi
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ebx
call fcn.0046f0f0
mov eax, dword [esp + 0x28]
mov esi, dword [esp + 0x18]
add eax, 1
add ebp, 1
cmp ebp, esi
mov dword [esp + 0x28], eax
jb 0x470778
jmp 0x4708bd
add ebp, dword [esp + 0x2c]
add dword [esp + 0x1c], 4
cmp ebp, esi
jb 0x470742
jmp 0x4708ce
mov ebp, esi
mov ecx, dword [esp + 0x20]
mov edx, dword [ecx]
mov eax, dword [edx + 0x6c]
mov edx, dword [esp + 0x68]
add eax, edx
mov edx, dword [esp + 0x2c]
lea esi, [eax + edx + 0xc]
mov eax, dword [esp + 0x24]
cmp eax, esi
mov dword [esp + 0x18], esi
jae 0x4708f7
mov esi, eax
mov dword [esp + 0x18], eax
mov eax, dword [ecx + 0xa0]
cmp eax, edi
mov dword [esp + 0x38], eax
je 0x470b68
mov ebx, ecx
add ebx, 0x20
push eax
mov ecx, ebx
mov dword [esp + 0x2c], ebx
call fcn.0046f410
cmp ebp, esi
mov dword [esp + 0x6c], eax
jae 0x470b68
mov dword [esp + 0x24], edi
jmp 0x470938
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x6c]
mov eax, dword [eax + ecx]
cmp eax, edi
mov dword [esp + 0x30], eax
je 0x470b55
push eax
mov ecx, ebx
call fcn.0046f410
cmp ebp, esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x1c], edi
jae 0x470b59
jmp 0x470970
mov edx, dword [esp + 0x2c]
cmp dword [esp + 0x1c], edx
jae 0x470b59
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x70]
add eax, eax
add eax, eax
mov eax, dword [eax + ecx]
cmp eax, edi
mov dword [esp + 0x34], eax
je 0x470b42
mov ecx, dword [esp + 0x28]
push eax
call fcn.0046f410
cmp ebp, dword [esp + 0x18]
mov dword [esp + 0x64], eax
mov dword [esp + 0x20], edi
jae 0x470b44
jmp 0x4709c0
mov edx, dword [esp + 0x2c]
cmp dword [esp + 0x20], edx
jae 0x470b44
mov ebx, dword [esp + 0x20]
mov eax, dword [esp + 0x64]
add ebx, ebx
add ebx, ebx
mov eax, dword [ebx + eax]
cmp eax, edi
mov dword [esp + 0x74], eax
je 0x470b2e
mov dword [esp + 0x7c], edi
mov dword [esp + 0x84], edi
mov dword [esp + 0x88], edi
mov dword [esp + 0x8c], edi
lea ecx, [esp + 0x80]
push ecx
lea ecx, [esp + 0xb8]
mov dword [esp + 0xd4], 6
mov dword [esp + 0xb0], ebp
mov dword [esp + 0xb4], edi
call fcn.0046e9e0
mov ecx, dword [esp + 0x40]
lea edx, [esp + 0xac]
push edx
lea eax, [esp + 0x54]
push eax
mov byte [esp + 0xd8], 7
call fcn.0046ffe0
mov eax, dword [esp + 0xb8]
cmp eax, edi
je 0x470a61
push eax
call fcn.00401000
add esp, 4
mov eax, dword [esp + 0x84]
cmp eax, edi
mov dword [esp + 0xd0], 0xffffffff
je 0x470a80
push eax
call fcn.00401000
add esp, 4
cmp dword [esp + 0x50], edi
jne 0x470a8b
call fcn.0057dd5c
mov esi, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
cmp esi, dword [ecx + 4]
jne 0x470a9d
call fcn.0057dd5c
mov edx, dword [esp + 0x74]
mov dword [esi + 0x10], edx
lea eax, [esp + 0x94]
add esi, 0x14
push eax
mov ecx, esi
mov dword [esp + 0x98], edi
mov dword [esp + 0x9c], 0xe
call fcn.0046f0f0
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x24]
lea eax, [esp + 0xa4]
mov dword [esp + 0xa4], ecx
push eax
mov ecx, esi
mov dword [esp + 0xac], edx
call fcn.0046f0f0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
add eax, eax
lea edx, [esp + 0x9c]
mov dword [esp + 0x9c], ecx
add eax, eax
push edx
mov ecx, esi
mov dword [esp + 0xa4], eax
call fcn.0046f0f0
mov eax, dword [esp + 0x34]
lea ecx, [esp + 0x44]
push ecx
mov ecx, esi
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], ebx
call fcn.0046f0f0
add dword [esp + 0x20], 1
add ebp, 1
cmp ebp, dword [esp + 0x18]
jb 0x4709c0
jmp 0x470b44
add ebp, edx
add dword [esp + 0x1c], 1
cmp ebp, dword [esp + 0x18]
jb 0x470970
jmp 0x470b59
add ebp, dword [esp + 0x68]
add dword [esp + 0x24], 4
cmp ebp, dword [esp + 0x18]
jb 0x470930
mov ecx, dword [esp + 0xc8]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret