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

Disassembly:
sub esp, 0x28
push ebx
push ebp
mov ebp, dword [esp + 0x34]
mov eax, dword [ebp + 0xa0]
mov ecx, eax
shr ecx, 2
test al, 3
push esi
push edi
mov dword [ebp + 0xbc], ecx
jne 0x478ca9
add ecx, 0xffffffff
mov dword [ebp + 0xbc], ecx
mov ecx, dword [ebp + 0xb4]
add ecx, ecx
add ecx, ecx
sub eax, ecx
mov dword [esp + 0x10], eax
cmp eax, 4
mov dword [esp + 0x3c], 4
lea eax, [esp + 0x3c]
ja 0x478cce
lea eax, [esp + 0x10]
mov ebx, dword [ebp + 0x78]
cmp dword [ebp + 0x74], ebx
mov edx, dword [eax]
mov dword [esp + 0x10], edx
jbe 0x478ce1
call fcn.004af167
mov edi, dword [ebp + 0x74]
cmp edi, dword [ebp + 0x78]
jbe 0x478cee
call fcn.004af167
cmp edi, ebx
je 0x478cfd
mov eax, dword [ebp + 0x78]
call fcn.0040fc10
mov dword [ebp + 0x78], eax
mov ecx, dword [ebp + 0x88]
mov eax, dword [ecx]
mov edx, dword [eax + 0x74]
push 1
xor edi, edi
push edi
push 0x76
push 0x280
push edi
push edi
call edx
mov edx, dword [ebp + 0x8c]
mov ecx, dword [ebp + 0x88]
mov eax, dword [ecx]
mov eax, dword [eax + 0x44]
push 1
push edi
push 0x200
push edx
push 0x76
push 0x80
push edi
push 0x200
call eax
mov ecx, dword [ebp + 0xb4]
add ecx, ecx
add ecx, ecx
mov dword [ebp + 0xb8], ecx
mov dword [esp + 0x3c], edi
mov ebx, 4
lea ebx, [ebx]
mov esi, dword [ebp + 0x8c]
mov ecx, dword [ebp + 0x88]
mov edx, dword [ecx]
push 1
push edi
lea eax, [ebx - 4]
push eax
push esi
push 0x76
push 0x80
push edi
push eax
mov eax, dword [edx + 0x44]
call eax
mov eax, dword [esp + 0x3c]
cmp eax, dword [esp + 0x10]
jae 0x478e50
mov ecx, dword [ebp + 0xb4]
mov esi, dword [ebp + 0x9c]
lea edi, [eax + ecx*4 + 1]
call fcn.0048dac0
test eax, eax
je 0x478e24
mov eax, dword [ebp + 0xb4]
mov esi, dword [esp + 0x3c]
mov ecx, dword [ebp + 0x88]
mov edx, dword [ecx]
mov edx, dword [edx + 0x44]
lea eax, [esi + eax*4]
mov edi, eax
shl edi, 4
sub edi, eax
mov eax, dword [ebp + 0x90]
push 1
push 0
add edi, edi
add edi, edi
add edi, edi
push edi
push eax
push 0x5a
push 0x78
push 0xe
push ebx
call edx
call fcn.0044b4e0
sub esp, 0x10
cmp dword [eax + 0xfb0], 1
mov eax, esp
mov ecx, 0x178
mov dword [eax], ebx
lea edx, [ebx + 0x78]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
jne 0x478e39
mov edi, 0x1d2
mov dword [eax + 0xc], edi
mov eax, dword [ebp + 0xb4]
lea ecx, [esi + eax*4]
push ecx
push ebp
call fcn.00421ea0
xor edi, edi
jmp 0x478e77
sub esp, 0x10
mov eax, esp
mov ecx, 0x178
mov dword [eax], ebx
lea edx, [ebx + 0x78]
mov dword [eax + 4], ecx
mov dword [eax + 8], edx
push 0x3e8
mov esi, 0x1d2
push ebp
mov dword [eax + 0xc], esi
call fcn.00421ea0
xor edi, edi
jmp 0x478e77
mov eax, dword [ebp + 0x8c]
mov ecx, dword [ebp + 0x88]
mov edx, dword [ecx]
mov edx, dword [edx + 0x44]
push 1
push pe_nt_image_headers32
push 0x208
push eax
push 0x5a
push 0x78
push 0xe
push ebx
call edx
add dword [esp + 0x3c], 1
add ebx, 0x80
cmp ebx, 0x204
jb 0x478d60
mov ebx, dword [0x4c92a0]
mov eax, 0x204
lea edx, [eax + 0x38]
lea esi, [eax - 0x76]
mov ecx, 0x17a
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
mov dword [esp + 0x18], ecx
push eax
lea ecx, [esp + 0x2c]
push ecx
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], 0x64
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
call ebx
lea edx, [esp + 0x24]
push edx
lea esi, [ebp + 0x70]
call fcn.0040f810
mov eax, 0x240
mov ecx, 0x17a
lea edx, [eax + 0x38]
mov dword [esp + 0x14], eax
lea esi, [ecx + 0x14]
lea eax, [esp + 0x14]
mov dword [esp + 0x18], ecx
push eax
lea ecx, [esp + 0x2c]
push ecx
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], 0x65
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], esi
call ebx
lea edx, [esp + 0x24]
push edx
lea esi, [ebp + 0x70]
call fcn.0040f810
mov eax, dword [ebp + 0xd4]
cmp eax, edi
je 0x478f66
mov ecx, dword [ebp + 0xd8]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
je 0x478f66
sub esp, 0x10
mov eax, esp
push 0x67
jmp 0x478f70
sub esp, 0x10
mov eax, esp
push 0x3e8
mov ecx, 0x204
mov dword [eax], ecx
mov edx, 0x1a6
mov dword [eax + 4], edx
mov ecx, 0x278
mov dword [eax + 8], ecx
mov ecx, 0x1ba
push ebp
mov dword [eax + 0xc], ecx
call fcn.00421ea0
mov eax, 0x204
lea ecx, [eax - 0x48]
lea edx, [eax - 0x34]
mov dword [esp + 0x18], ecx
lea ecx, [esp + 0x14]
mov dword [esp + 0x20], edx
mov dword [esp + 0x14], eax
push ecx
lea edx, [esp + 0x2c]
mov eax, 0x278
push edx
mov dword [esp + 0x30], edi
mov dword [esp + 0x34], edi
mov dword [esp + 0x38], edi
mov dword [esp + 0x3c], edi
mov dword [esp + 0x2c], 0x68
mov dword [esp + 0x24], eax
call ebx
lea eax, [esp + 0x24]
push eax
call fcn.0040f810
cmp dword [ebp + 0xb4], edi
mov esi, 1
mov dword [ebp + 0xc0], esi
mov dword [ebp + 0xc4], esi
jne 0x479028
mov eax, dword [ebp + 0x8c]
mov ecx, dword [ebp + 0x88]
push esi
push 0x138
push edi
push eax
push 0x14
push 0x38
mov dword [ebp + 0xc0], edi
mov edx, dword [ecx]
mov edx, dword [edx + 0x44]
push 0x10
push 0x204
call edx
mov eax, dword [ebp + 0xbc]
cmp eax, dword [ebp + 0xb4]
jne 0x479063
mov eax, dword [ebp + 0x8c]
mov ecx, dword [ebp + 0x88]
push esi
push 0x138
push 0x3c
push eax
push 0x14
push 0x38
mov dword [ebp + 0xc4], edi
mov edx, dword [ecx]
mov edx, dword [edx + 0x44]
push 0x10
push 0x240
call edx
mov eax, dword [ebp + 0xd4]
cmp eax, edi
je 0x47908a
mov ecx, dword [ebp + 0xd8]
sub ecx, eax
mov eax, 0x92492493
imul ecx
add edx, ecx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add eax, edx
jne 0x4790b4
mov eax, dword [ebp + 0x8c]
mov ecx, dword [ebp + 0x88]
mov edx, dword [ecx]
mov edx, dword [edx + 0x44]
push esi
push 0x138
push 0xe8
push eax
push 0x14
push 0x74
push 0x3c
push 0x204
call edx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret 4