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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2b4
mov eax, dword [0x484080]
xor eax, esp
mov dword [esp + 0x2b0], eax
mov eax, dword [ebp + 0x14]
push ebx
mov dword [esp + 0x30], eax
xor ebx, ebx
mov eax, dword [ebp + 0x18]
push esi
mov dword [esp + 0x1c], eax
mov esi, ecx
mov eax, dword [ebp + 0x10]
lea ecx, [esp + 0x16c]
push edi
mov edi, dword [ebp + 0x24]
mov dword [esp + 0x18], eax
mov al, bl
mov byte [esp + 0x11], al
mov byte [esp + 0x12], al
mov eax, dword [edi + 0x81c]
mov dword [esp + 0x44], eax
mov eax, dword [edi + 0x82c]
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x13], bl
mov dword [esp + 0x48], eax
mov dword [esp + 0x60], ebx
mov dword [esp + 0x40], ebx
mov dword [esp + 0x64], ebx
call fcn.0042fa32
lea ecx, [esp + 0x1f0]
call fcn.0042fa32
lea ecx, [esp + 0x70]
mov byte [esp + 0x5c], bl
mov dword [esp + 0x58], ebx
mov dword [esp + 0x30], 4
call fcn.004250c8
push dword [ebp + 0xc]
mov eax, dword [esp + 0x48]
lea ecx, [esi + 4]
push dword [ebp + 8]
mov dword [esp + 0x54], ebx
push ebx
push ebx
push edi
push dword [ebp + 0x20]
mov dword [esp + 0x3c], ebx
push ebx
push ebx
mov word [eax], bx
mov byte [eax + 2], bl
call fcn.004733bc
test al, al
je 0x47a95a
mov esi, dword [esp + 0x44]
cmp byte [esi + 2], bl
je 0x47a35e
mov bl, 1
jmp 0x47a95a
cmp byte [esi + 1], bl
jne 0x47a429
cmp byte [esi], bl
jne 0x47a429
mov eax, dword [ebp + 0xc]
xor ecx, ecx
or ecx, dword [ebp + 8]
movzx eax, ax
cdq
or eax, ebx
mov dword [esp + 0x2c], ecx
push eax
push ecx
push dword [edi + 0x83c]
lea ecx, [esp + 0x7c]
mov dword [esp + 0x34], eax
push dword [edi + 0x30]
call fcn.004251c8
test al, al
je 0x47a942
lea ecx, [esp + 0x70]
call fcn.0042df90
test al, al
je 0x47a942
push edi
push ecx
lea eax, [esp + 0x178]
push eax
lea eax, [esp + 0x70]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x74]
push eax
push dword [esp + 0x30]
lea eax, [esp + 0x8c]
push eax
call fcn.00475727
test al, al
je 0x47a429
cmp byte [esi + 1], bl
jne 0x47a429
push dword [esp + 0x28]
mov ecx, dword [esp + 0x4c]
lea eax, [esp + 0x16]
push dword [esp + 0x30]
push edi
push eax
lea eax, [esp + 0x44]
push eax
lea eax, [esp + 0x50]
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x74]
push eax
lea eax, [esp + 0x7c]
push eax
push dword [esp + 0x3c]
call fcn.00475dc5
test al, al
jne 0x47a4a2
mov cl, byte [esp + 0x12]
mov byte [esp + 0x11], cl
mov bl, 1
mov bh, byte [esp + 0x11]
mov edi, dword [esp + 0x60]
test edi, edi
je 0x47a449
mov eax, dword [edi]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
mov edi, dword [esp + 0x40]
test edi, edi
je 0x47a463
mov eax, dword [edi]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
mov edi, dword [esp + 0x64]
test edi, edi
je 0x47a47d
mov eax, dword [edi]
push 1
mov esi, dword [eax]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
mov eax, dword [esp + 0x24]
test eax, eax
je 0x47a48c
mov ecx, eax
call fcn.0040b1df
test bl, bl
je 0x47a94b
mov esi, dword [esp + 0x44]
mov word [esi], 0x101
jmp 0x47a94f
mov esi, dword [esp + 0x34]
mov ecx, esi
call fcn.0040b083
mov dword [esp + 0x14], eax
test eax, eax
je 0x47a421
push ebx
push dword [esp + 0x40]
mov eax, esi
push dword [esp + 0x28]
cdq
push dword [esp + 0x44]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], edx
call fcn.004833d3
push dword [esp + 0x50]
push dword [esp + 0x58]
push edx
push eax
call fcn.004833df
mov ecx, dword [esp + 0x40]
push edx
push eax
push ebx
lea eax, [esp + 0x44]
push eax
push esi
push dword [esp + 0x28]
call fcn.0041d691
test al, al
je 0x47a937
cmp dword [esp + 0x38], esi
jne 0x47a937
push dword [ebp + 0x18]
lea eax, [esp + 0x16]
push dword [ebp + 0x14]
push dword [esp + 0x30]
push dword [esp + 0x38]
push edi
push ecx
push dword [esp + 0x30]
push eax
push esi
push ecx
push dword [esp + 0x3c]
mov ecx, dword [esp + 0x74]
call fcn.00475b93
mov cl, byte [esp + 0x12]
mov byte [esp + 0x11], cl
test al, al
je 0x47a429
test cl, cl
jne 0x47a429
push dword [esp + 0x28]
lea eax, [esp + 0x16]
push dword [esp + 0x30]
push edi
push ecx
push dword [esp + 0x28]
push eax
lea eax, [esp + 0x2b]
push eax
sub esp, 0xc
push dword [esp + 0x58]
push esi
push ecx
push dword [esp + 0x48]
call fcn.00475a29
mov cl, byte [esp + 0x12]
mov byte [esp + 0x11], cl
test al, al
je 0x47a429
test cl, cl
jne 0x47a429
mov ecx, dword [esp + 0x14]
lea edx, [esi + 0x18]
add edx, ecx
mov dword [esp + 0x20], edx
test byte [ecx + 0x24], 1
jne 0x47a5b4
mov bl, byte [esp + 0x13]
test bl, bl
sete al
mov dword [esp + 0x1c], eax
jmp 0x47a42b
lea esi, [ecx + 0x18]
mov dword [esp + 0x14], ebx
add esi, dword [ecx + 0x18]
cmp dword [ebp + 0x1c], ebx
jbe 0x47a5ff
cmp edx, esi
jb 0x47a429
push dword [esp + 0x30]
sub edx, esi
mov ecx, esi
push dword [edi + 0x34]
call fcn.00430f75
test al, al
jne 0x47a429
movzx eax, word [esi + 8]
mov edx, dword [esp + 0x20]
mov dword [esp + 0x4c], esi
add esi, eax
mov eax, dword [esp + 0x14]
inc eax
mov dword [esp + 0x14], eax
cmp eax, dword [ebp + 0x1c]
jb 0x47a5c3
cmp edx, esi
jb 0x47a429
push dword [esp + 0x30]
sub edx, esi
mov ecx, esi
push dword [edi + 0x34]
call fcn.00430f75
test al, al
jne 0x47a429
cmp dword [edi + 0x30], 5
jne 0x47a681
cmp dword [esp + 0x4c], ebx
je 0x47a681
mov eax, dword [0x486fc0]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x270], 0x401288
mov dword [esp + 0x274], eax
mov dword [esp + 0x2b0], ebx
mov dword [esp + 0x2b4], ebx
call fcn.0040b083
mov dword [esp + 0x24], eax
test eax, eax
je 0x47a675
lea ecx, [esp + 0x270]
call fcn.00411a5d
test al, al
jne 0x47a86e
lea ecx, [esp + 0x270]
call fcn.00411a45
push dword [ebp + 0x18]
lea ecx, [esp + 0x74]
push dword [ebp + 0x14]
push edi
push dword [esp + 0x68]
push dword [edi + 0x810]
push dword [ebp + 0x1c]
push dword [esp + 0x30]
call fcn.0042aba0
cmp eax, 1
je 0x47a6c2
add eax, 0xfffffffe
cmp eax, 1
ja 0x47a429
cmp dword [edi + 0x30], 5
mov byte [esp + 0x11], 1
jne 0x47a8d6
mov bl, byte [esp + 0x13]
mov al, 1
mov dword [esp + 0x1c], eax
jmp 0x47a42b
push ecx
push ecx
mov eax, esp
or dword [eax], 0xffffffff
or dword [eax + 4], 0xffffffff
movzx ecx, word [esi + 8]
push dword [ecx + esi - 4]
push dword [ecx + esi - 8]
call fcn.0040cf55
test al, al
je 0x47a878
cmp dword [esp + 0x3c], 0
mov edx, dword [ecx + esi - 8]
mov esi, dword [ecx + esi - 4]
mov dword [esp + 0x14], edx
mov dword [esp + 0x20], esi
jne 0x47a715
mov ecx, dword [esp + 0x34]
shr ecx, 9
jmp 0x47a719
mov ecx, dword [esp + 0x3c]
push ecx
push ecx
mov eax, esp
push ebx
push ebx
push ecx
push esi
push edx
mov dword [eax], ebx
mov dword [eax + 4], ebx
call fcn.004833d9
mov esi, ebx
pop ebx
nop
push esi
push ecx
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
call fcn.0040cf55
test al, al
jne 0x47a8c3
mov esi, dword [esp + 0x68]
xor ebx, ebx
push ecx
push ecx
mov eax, esp
lea ecx, [esp + 0x278]
push edx
push esi
mov dword [eax], 1
mov dword [eax + 4], ebx
call fcn.00411fa0
test al, al
jne 0x47a8c3
push ecx
push ecx
mov eax, esp
lea ecx, [esp + 0x278]
push dword [esp + 0x74]
push esi
mov dword [eax], 1
mov dword [eax + 4], ebx
call fcn.00411aa0
push ebx
push dword [esp + 0x40]
push dword [esp + 0x28]
push dword [esp + 0x20]
call fcn.004833d3
push dword [esp + 0x50]
push dword [esp + 0x58]
push edx
push eax
call fcn.004833df
mov esi, dword [esp + 0x34]
mov ecx, dword [esp + 0x40]
push edx
push eax
push ebx
lea eax, [esp + 0x44]
push eax
push esi
push dword [esp + 0x38]
call fcn.0041d691
test al, al
je 0x47a8c3
cmp dword [esp + 0x38], esi
jne 0x47a8c3
push dword [esp + 0x20]
lea eax, [esp + 0x16]
push dword [esp + 0x18]
push dword [esp + 0x30]
push dword [esp + 0x38]
push edi
push ecx
push dword [esp + 0x30]
push eax
push esi
push ecx
push dword [esp + 0x4c]
mov ecx, dword [esp + 0x74]
call fcn.00475b93
test al, al
mov al, byte [esp + 0x12]
mov byte [esp + 0x11], al
je 0x47a8c3
test al, al
jne 0x47a8c3
push dword [esp + 0x28]
lea eax, [esp + 0x16]
push dword [esp + 0x30]
push edi
push ecx
push dword [esp + 0x28]
push eax
lea eax, [esp + 0x2b]
push eax
sub esp, 0xc
push dword [esp + 0x58]
push esi
push ecx
push dword [esp + 0x58]
call fcn.00475a29
test al, al
mov al, byte [esp + 0x12]
mov byte [esp + 0x11], al
je 0x47a8c3
test al, al
jne 0x47a8c3
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x34]
add eax, 0x18
add eax, ecx
lea esi, [ecx + 0x18]
add esi, dword [ecx + 0x18]
cmp eax, esi
jb 0x47a8c3
test byte [esi + 0xc], 1
jne 0x47a6d1
mov eax, dword [edi + 0x83c]
push dword [eax + 0x14]
movzx eax, word [esi + 0xa]
push dword [esp + 0x5c]
push eax
lea eax, [esi + 0x10]
push eax
mov eax, dword [esp + 0x5c]
movzx edx, word [eax + 0xa]
lea ecx, [eax + 0x10]
call fcn.0042f918
test eax, eax
jle 0x47a675
mov bh, 1
lea ecx, [esp + 0x270]
mov al, bh
mov dword [esp + 0x1c], eax
call fcn.00411a45
mov bl, byte [esp + 0x13]
jmp 0x47a42f
lea ecx, [esp + 0x270]
mov bl, 1
call fcn.00411a45
jmp 0x47a42b
push ebx
push ebx
push dword [edi + 0x810]
lea ecx, [esp + 0x7c]
call fcn.0042a125
test al, al
je 0x47a429
cmp dword [edi + 0x30], 4
jne 0x47a6c2
push dword [edi + 0x810]
mov ecx, dword [edi + 0x844]
push dword [edi + 0x848]
call fcn.00438598
test al, al
je 0x47a429
mov ecx, dword [edi + 0x810]
push ecx
push dword [edi + 0x808]
call fcn.00438598
test al, al
je 0x47a429
jmp 0x47a6c2
mov bh, byte [esp + 0x12]
mov bl, 1
jmp 0x47a42f
mov bh, byte [esp + 0x11]
jmp 0x47a498
mov esi, dword [esp + 0x44]
test bh, bh
mov ebx, dword [esp + 0x1c]
je 0x47a95a
mov byte [esi], 1
lea ecx, [esp + 0x70]
call fcn.00425135
lea ecx, [esp + 0x1f0]
call fcn.0042fab5
lea ecx, [esp + 0x170]
call fcn.0042fab5
mov ecx, dword [esp + 0x2bc]
mov al, bl
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00482bc8
mov esp, ebp
pop ebp
ret 0x20