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

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x244
mov eax, dword [0x484080]
xor eax, esp
mov dword [esp + 0x240], eax
mov eax, dword [0x486ff4]
push ebx
push esi
mov ebx, ecx
mov dword [esp + 0x24], 0x40136c
push edi
lea ecx, [esp + 0x84]
mov dword [esp + 0x2c], eax
call fcn.0040f810
lea ecx, [esp + 0x54]
call fcn.004079f3
lea ecx, [esp + 0x6c]
call fcn.004079f3
lea ecx, [esp + 0xf0]
call fcn.004250c8
lea ecx, [esp + 0x1f0]
call fcn.00415720
mov ecx, 0x242
call fcn.0040b083
mov edi, eax
mov dword [esp + 0x14], edi
test edi, edi
jne 0x47f99f
mov edi, dword [ebx + 0x11b0]
push 3
push 1
push 0x75c8
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x401ef4
push dword [ebx + 0x11b0]
call fcn.0040f0f5
pop ecx
mov dword [ebx + 0x11b4], 4
xor bl, bl
pop ecx
jmp 0x4801cc
mov eax, dword [ebx + 8]
xor ecx, ecx
mov dword [esp + 0x3c], ecx
mov edx, ecx
cmp dword [eax + 0x3c], ecx
setne al
dec al
and al, 0xf0
add al, 0x20
mov byte [esp + 0x1b], al
mov eax, dword [ebp + 8]
push edx
mov dword [esp + 0x3c], edx
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
mov ecx, esi
call dword [0x488254]
mov ecx, dword [ebp + 8]
call esi
mov esi, eax
test esi, esi
je 0x4801c2
mov al, byte [esp + 0x1b]
mov byte [esp + 0x34], al
mov al, byte [esi]
mov dword [esp + 0x30], esi
test al, al
je 0x4801c2
cmp al, 0xe5
je 0x480091
push 0xb
push 0x402678
push esi
call fcn.00483409
add esp, 0xc
test eax, eax
je 0x480091
push 0xb
push 0x40266c
push esi
call fcn.00483409
add esp, 0xc
test eax, eax
je 0x480091
mov cl, byte [esi + 0xb]
and cl, 0xf
test byte [esi + 0xb], 8
je 0x47fa41
cmp cl, 0xf
jne 0x480091
cmp cl, 0xf
je 0x480091
cmp dword [ebx + 0x70], 0
je 0x47fa62
lea ecx, [esp + 0x28]
call fcn.0040de92
cmp eax, dword [ebx + 0x70]
je 0x480091
cmp dword [ebx + 0x6c], 0
je 0x47fa7a
lea ecx, [esp + 0x28]
call fcn.0040de92
cmp eax, dword [ebx + 0x6c]
je 0x480091
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x2c]
call fcn.004148d1
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x4c]
push eax
call dword [0x488218]
mov edi, dword [esp + 0x30]
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
mov dword [esp + 0x1c], eax
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd4], eax
movzx eax, word [edi + 0x10]
push eax
movzx eax, word [edi + 0xe]
push eax
mov dword [esp + 0x48], esi
mov dword [esp + 0xd0], esi
mov dword [esp + 0xd8], esi
call fcn.00414d34
test al, al
je 0x47fb0e
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x2c]
call fcn.004149e7
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x4c]
push eax
call dword [0x488218]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x24]
jmp 0x47fb19
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xc0], esi
mov dword [esp + 0xc4], eax
xor esi, esi
movzx eax, word [edi + 0x12]
push eax
push esi
call fcn.00414d34
test al, al
je 0x47fb64
lea eax, [esp + 0x48]
push eax
lea ecx, [esp + 0x2c]
call fcn.00414b40
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x4c]
push eax
call dword [0x488218]
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x30]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x24]
jmp 0x47fb73
mov eax, dword [esp + 0x40]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0xdc], eax
lea ecx, [esp + 0x28]
movzx eax, byte [edi + 0xb]
mov dword [esp + 0xe0], eax
lea eax, [esp + 0x54]
push eax
call fcn.00414444
mov ecx, dword [ebp + 8]
lea eax, [esp + 0x6c]
push eax
push dword [esp + 0x3c]
call fcn.004142c4
test al, al
je 0x4800cd
mov eax, dword [esp + 0x78]
test eax, eax
setne byte [esp + 0x12]
test eax, eax
je 0x47fbe4
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
push esi
mov esi, dword [ebp + 0x10]
push dword [esi + 0x14]
push eax
push dword [esp + 0x80]
call fcn.0043696c
test eax, eax
jne 0x47fbe7
xor edx, edx
inc edx
mov byte [esp + 0x13], dl
jmp 0x47fbef
mov esi, dword [ebp + 0x10]
xor edx, edx
mov byte [esp + 0x13], 0
inc edx
cmp byte [esp + 0x13], 0
mov ecx, dword [esi + 0x18]
mov eax, ecx
mov edi, dword [esp + 0x14]
mov dword [esp + 0x40], eax
mov eax, dword [esi + 0x1c]
mov word [esp + 0x9c], ax
mov eax, dword [esi + 8]
push edx
push 0xff
mov ax, word [eax + 0x10]
mov dword [edi], ecx
lea ecx, [edi + 0x42]
mov word [esp + 0xa6], ax
mov eax, dword [esp + 0xa4]
push ecx
mov dword [edi + 4], eax
mov al, byte [esp + 0x6c]
push 0xffffffffffffffff
mov byte [edi + 0x40], al
push ecx
je 0x47fc4a
mov byte [edi + 0x41], 3
lea ecx, [esp + 0x80]
jmp 0x47fc59
mov al, byte [esp + 0x26]
lea ecx, [esp + 0x68]
xor al, dl
add al, 2
mov byte [edi + 0x41], al
call fcn.004076a8
test eax, eax
je 0x48009b
mov eax, dword [esp + 0x30]
mov cl, byte [eax + 0xb]
mov dl, cl
and cl, 0xf
and dl, 0x10
je 0x47fc83
cmp cl, 0xf
je 0x47fc83
push 2
pop esi
xor eax, eax
jmp 0x47fc87
xor eax, eax
mov esi, eax
test byte [ebx + 0x11b8], 0x10
movzx esi, si
mov dword [esp + 0x1c], esi
je 0x47fca9
test dl, dl
je 0x47fca4
cmp cl, 0xf
je 0x47fca4
push 5
jmp 0x47fca6
push 6
pop esi
jmp 0x47fcca
test dl, dl
je 0x47fcb4
mov dl, 1
cmp cl, 0xf
jne 0x47fcb6
mov dl, al
xor ecx, ecx
test dl, dl
sete cl
dec ecx
and ecx, 0xfffffff9
add ecx, 8
mov dword [esp + 0x40], ecx
mov esi, ecx
push eax
lea eax, [esp + 0xa4]
push eax
lea ecx, [ebx + 0x1108]
call fcn.00434384
test al, al
je 0x4801be
push dword [esp + 0xa4]
lea eax, [ebx + 0xeb0]
push dword [esp + 0xa4]
lea ecx, [esp + 0xf8]
push eax
push 1
call fcn.00425399
test al, al
je 0x4801be
push dword [esp + 0x1c]
lea eax, [esp + 0xc4]
push eax
lea ecx, [esp + 0xf8]
call fcn.004255dc
test al, al
je 0x4801be
lea eax, [ebx + 0xd60]
push eax
push esi
lea ecx, [esp + 0xf8]
call fcn.004280fc
test al, al
je 0x4801be
test byte [ebx + 0x11b8], 1
je 0x47fe04
mov esi, dword [ebx + 0x11e0]
lea edi, [esp + 0x6c]
shl esi, 2
cmp byte [esp + 0x12], 0
jne 0x47fd72
lea edi, [esp + 0x54]
cmp esi, 0x7c
jbe 0x47fd9a
push 0x7c
push 0x20
push 0x487240
call fcn.0048341b
mov eax, 0x2e2e2e2e
add esp, 0xc
mov word [0x4872bc], ax
mov byte [0x4872be], al
jmp 0x47fdc1
push esi
push 0x20
push 0x487240
call fcn.0048341b
pop ecx
pop ecx
mov eax, 0x80
sub eax, esi
push eax
lea eax, [esi + 0x487240]
push eax
push ecx
push ecx
mov ecx, edi
call fcn.0040774c
xor ecx, ecx
mov byte [0x4872bf], cl
mov edi, dword [ebx + 0x11b0]
push 3
push ecx
push 0x41c
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x487240
push 0x4026bc
push dword [ebx + 0x11b0]
call fcn.0040f0f5
mov edi, dword [esp + 0x20]
add esp, 0xc
mov eax, dword [esp + 0x30]
mov al, byte [eax + 0xb]
test al, 0x10
je 0x47feea
and al, 0xf
cmp al, 0xf
je 0x47feea
mov ecx, dword [esp + 0x90]
xor eax, eax
mov dword [esp + 0x8c], eax
test ecx, ecx
je 0x47fe3f
call fcn.0040b1df
xor eax, eax
mov dword [esp + 0x90], eax
mov edx, dword [ebx + 8]
lea ecx, [esp + 0x28]
mov dword [esp + 0x94], eax
call fcn.0040de92
push eax
push dword [edx + 0x30]
lea eax, [esp + 0x8c]
push edx
push dword [ebx + 0x11ac]
lea ecx, [esp + 0x200]
push eax
call fcn.00415794
test al, al
je 0x480123
lea ecx, [esp + 0x1f0]
call fcn.0040dec0
test al, al
je 0x4800e2
lea eax, [esp + 0xf0]
mov ecx, ebx
push eax
lea eax, [esp + 0x2c]
push eax
lea eax, [esp + 0x1f8]
push eax
call fcn.0047f6f8
test al, al
jne 0x47ff06
mov edi, dword [ebx + 0x11b0]
push 3
push 0
push 0x75cd
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
lea eax, [esp + 0x54]
push eax
push 0x401f90
push dword [ebx + 0x11b0]
call fcn.0040f0f5
add esp, 0xc
jmp 0x4800d7
lea eax, [esp + 0xf0]
mov ecx, ebx
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.00480628
test al, al
je 0x4801be
lea esi, [edi + 8]
push esi
lea ecx, [esp + 0xf4]
call fcn.0042b453
test al, al
je 0x4801be
push edi
lea ecx, [esp + 0xf4]
call fcn.0042800b
test al, al
je 0x4801be
mov ax, word [esp + 0x10c]
mov word [esp + 0xac], ax
mov eax, dword [esp + 0xf8]
mov ax, word [eax + 0x10]
mov word [esp + 0xae], ax
push dword [esp + 0xac]
movzx eax, byte [edi + 0x40]
push dword [esp + 0x10c]
push ecx
mov ecx, dword [ebp + 0xc]
lea eax, [eax*2 + 0x42]
push edi
push eax
call fcn.004300bf
test al, al
je 0x4801be
cmp byte [esp + 0x12], 0
je 0x480071
cmp byte [esp + 0x13], 0
jne 0x480071
mov edx, dword [ebp + 0x10]
mov ecx, dword [edx + 0x18]
mov eax, ecx
mov dword [esp + 0x40], eax
mov eax, dword [edx + 0x1c]
mov word [esp + 0xb4], ax
mov eax, dword [edx + 8]
mov ax, word [eax + 0x10]
mov word [esp + 0xb6], ax
mov eax, dword [esp + 0xb4]
mov dword [edi + 4], eax
mov dword [edi], ecx
mov al, byte [esp + 0x78]
mov byte [edi + 0x40], al
xor eax, eax
inc eax
push eax
push 0xff
mov byte [edi + 0x41], al
lea eax, [edi + 0x42]
push eax
push 0xffffffffffffffff
push ecx
lea ecx, [esp + 0x80]
call fcn.004076a8
test eax, eax
je 0x48009b
push esi
lea ecx, [esp + 0xf4]
call fcn.0042b453
test al, al
je 0x4801be
push edi
lea ecx, [esp + 0xf4]
call fcn.0042800b
test al, al
je 0x4801be
mov ax, word [esp + 0x10c]
mov word [esp + 0xbc], ax
mov eax, dword [esp + 0xf8]
mov ax, word [eax + 0x10]
mov word [esp + 0xbe], ax
push dword [esp + 0xbc]
movzx eax, byte [edi + 0x40]
push dword [esp + 0x10c]
push ecx
mov ecx, dword [ebp + 0xc]
lea eax, [eax*2 + 0x42]
push edi
push eax
call fcn.004300bf
test al, al
je 0x4801be
push 0
push dword [ebp + 0xc]
lea eax, [ebx + 0xd60]
push eax
lea ecx, [esp + 0xfc]
call fcn.0042a125
test al, al
je 0x480199
mov edx, dword [esp + 0x38]
inc edx
jmp 0x47f9ba
mov edi, dword [ebx + 0x11b0]
push 3
push 1
push 0x75c8
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x401ef4
push dword [ebx + 0x11b0]
call fcn.0040f0f5
pop ecx
pop ecx
mov dword [ebx + 0x11b4], 4
mov edi, dword [esp + 0x14]
xor bl, bl
jmp 0x4801c5
mov edi, dword [ebx + 0x11b0]
push 3
push 1
push 0x75c6
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x401ef4
push dword [ebx + 0x11b0]
call fcn.0040f0f5
pop ecx
pop ecx
mov dword [ebx + 0x11b4], 4
jmp 0x4801d0
mov edi, dword [ebx + 0x11b0]
push 3
push 1
push 0x75c8
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
push 0x401ef4
push dword [ebx + 0x11b0]
call fcn.0040f0f5
pop ecx
pop ecx
lea ecx, [esp + 0x1f0]
mov dword [ebx + 0x11b4], 4
call fcn.00415775
lea ecx, [esp + 0xf0]
call fcn.00425135
lea ecx, [esp + 0x6c]
call fcn.00407a45
lea ecx, [esp + 0x54]
call fcn.00407a45
lea ecx, [esp + 0x84]
call fcn.0040f855
xor al, al
jmp 0x48020a
mov edi, dword [ebx + 0x11b0]
push 3
push 0
push 0x75c8
mov eax, dword [edi]
mov esi, dword [eax + 0x10]
mov ecx, esi
call dword [0x488254]
mov ecx, edi
call esi
jmp 0x47fead
xor bl, bl
jmp 0x4801c5
xor ebx, ebx
inc ebx
mov ecx, edi
call fcn.0040b1df
mov byte [esp + 0x3c], bl
lea ecx, [esp + 0x1f0]
call fcn.00415775
lea ecx, [esp + 0xf0]
call fcn.00425135
lea ecx, [esp + 0x6c]
call fcn.00407a45
lea ecx, [esp + 0x54]
call fcn.00407a45
lea ecx, [esp + 0x84]
call fcn.0040f855
mov al, byte [esp + 0x3c]
mov ecx, dword [esp + 0x24c]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00482bc8
mov esp, ebp
pop ebp
ret 0xc