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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x24]
cmp eax, dword [ecx + 8]
jbe 0x4801b5
sub esp, 0xa4
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
lea edx, [0x4a8f80]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408f70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], edx
test eax, eax
setne al
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x50], ecx
mov dword [esp + 0x54], eax
movzx eax, byte [esp + 0x1f]
mov byte [esp + 0x1c], al
movzx eax, byte [esp + 0x1c]
test al, al
jne 0x47fc16
jmp 0x47fccd
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0x50]
test byte [eax], al
mov ecx, dword [esp + 0xac]
mov eax, dword [eax + 0x10]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x54]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], ecx
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
add esp, 0xa4
ret
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
lea edx, [0x4a8ec0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00408f70
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov dword [esp + 0x70], ecx
mov dword [esp + 0x74], edx
test eax, eax
setne al
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], eax
movzx eax, byte [esp + 0x1f]
mov byte [esp + 0x1d], al
movzx eax, byte [esp + 0x1d]
test al, al
jne 0x47fd45
jmp 0x47fdfc
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0x58]
test byte [eax], al
mov ecx, dword [esp + 0xb4]
mov eax, dword [eax + 0x10]
mov edx, dword [esp + 0xb0]
mov ebx, dword [esp + 0x5c]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call eax
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x78], edx
mov dword [esp + 0x7c], ebx
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
add esp, 0xa4
ret
mov eax, dword [esp + 0xb8]
test eax, eax
jne 0x47fe09
jmp 0x47fe0e
jmp 0x47ff30
mov dword [esp + 0x20], 0x8000
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
lea edx, [0x4be004]
cmp eax, edx
je 0x47fe38
jmp 0x47fe3f
mov eax, 1
jmp 0x47fe45
xor eax, eax
xor ecx, ecx
jmp 0x47fe45
mov dword [esp + 0x4c], ecx
mov byte [esp + 0x1f], al
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x48], eax
movzx eax, byte [esp + 0x1f]
mov byte [esp + 0x1e], al
movzx eax, byte [esp + 0x1e]
mov byte [esp + 0x1f], al
test al, al
jne 0x47fe6d
jmp 0x47fea1
mov eax, dword [esp + 0x48]
test byte [eax], al
mov ecx, dword [esp + 0x20]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov ebx, ecx
sar ecx, 0x1f
cmp edx, ecx
xchg ebp, ebx
setl bl
xchg ebp, ebx
cmp edx, ecx
sete cl
cmp eax, ebx
setb al
and ecx, eax
or ebp, ecx
xchg ebp, eax
mov byte [esp + 0x1f], al
xchg ebp, eax
jmp 0x47fea3
jmp 0x47fea3
movzx eax, byte [esp + 0x1f]
test al, al
jne 0x47feae
jmp 0x47feed
mov eax, dword [esp + 0x48]
test byte [eax], al
mov ecx, dword [eax + 0xc]
test ecx, ecx
setl dl
test ecx, ecx
sete cl
cmp dword [eax + 8], 1
setb al
and ecx, eax
or edx, ecx
test dl, dl
jne 0x47fed2
jmp 0x47fedc
mov dword [esp + 0x20], 1
jmp 0x47feeb
mov eax, dword [esp + 0x48]
test byte [eax], al
mov eax, dword [eax + 8]
mov dword [esp + 0x20], eax
jmp 0x47feeb
jmp 0x47feef
jmp 0x47feef
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
lea edx, [0x4a7ea0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00448290
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xc]
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], ecx
jmp 0x47ff30
jmp 0x47ff32
jmp 0x47ff34
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0xb0]
test byte [eax], al
mov ecx, dword [esp + 0xbc]
mov edx, dword [esp + 0xc0]
mov eax, dword [eax + 0x10]
mov ebx, dword [esp + 0xb8]
mov ebp, dword [esp + 0xb4]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], ecx
mov eax, dword [esp + 0x28]
test eax, eax
jg 0x47ffba
jmp 0x48013e
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xb8]
cmp edx, ecx
jae 0x47ffd5
jmp 0x4801af
jmp 0x47ffd7
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], edx
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0xa8]
test byte [eax], al
mov ecx, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov ebx, dword [esp + 0xac]
mov ebp, dword [esp + 0xa0]
mov eax, dword [eax + 0x10]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
call eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0x24]
test eax, eax
setl al
mov byte [esp + 0x1f], al
jl 0x480076
jmp 0x480078
jmp 0x480089
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x24], eax
setg al
mov byte [esp + 0x1f], al
jmp 0x480089
movzx eax, byte [esp + 0x1f]
test al, al
jne 0x480094
jmp 0x4800c0
mov dword [esp + 0x24], 0
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x4800a6
jmp 0x4800a8
jmp 0x4800be
mov eax, dword [0x525e68]
mov ecx, dword [0x525e6c]
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
jmp 0x4800be
jmp 0x4800c2
jmp 0x4800c2
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0x24]
mov edx, eax
add eax, ecx
mov ebx, dword [esp + 0xc8]
mov dword [esp + 0xc4], eax
mov eax, ecx
sar ecx, 0x1f
add edx, eax
adc ebx, ecx
mov dword [esp + 0xc8], ebx
mov eax, dword [esp + 0x60]
test eax, eax
jne 0x4800f9
jmp 0x480114
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
jmp 0x4801a1
mov eax, dword [esp + 0x28]
cmp dword [esp + 0x24], eax
jne 0x480120
jmp 0x48013c
mov eax, dword [0x525e58]
mov ecx, dword [0x525e5c]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
jmp 0x4801a1
jmp 0x480140
jmp 0x480140
mov eax, dword [esp + 0x68]
test eax, eax
jne 0x48014a
jmp 0x4801a8
mov eax, dword [esp + 0x68]
cmp dword [0x525e38], eax
jne 0x480158
jmp 0x48015a
jmp 0x480187
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov edx, dword [0x525e3c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.004030b0
movzx eax, byte [esp + 0xc]
test al, al
jne 0x480183
jmp 0x480185
jmp 0x48019f
jmp 0x480187
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xcc], eax
mov dword [esp + 0xd0], ecx
jmp 0x48019f
jmp 0x4801a1
add esp, 0xa4
ret
jmp 0x4801aa
jmp 0x47ff32
call fcn.0045d9a0
nop
call fcn.0045c4a0
jmp fcn.0047fb40