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

Disassembly:
mov ecx, dword [0x592b24]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xc4]
cmp eax, dword [ecx + 8]
jbe 0x47de16
sub esp, 0x144
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
mov eax, dword [esp + 0x14c]
test eax, eax
je 0x47d672
mov ecx, dword [esp + 0x15c]
test ecx, ecx
jne 0x47d2cd
lea ecx, [0x56dee0]
mov edx, dword [ecx + 0x20]
test edx, edx
jne 0x47d2da
lea edx, [0x56df20]
mov ebx, dword [ecx + 0x18]
cmp ebx, 3
jg 0x47d636
jl 0x47d5fa
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xcc], edx
mov ebx, dword [ecx + 4]
test ebx, ebx
jne 0x47d30a
mov ebx, dword [esp + 0x148]
jmp 0x47d33f
mov edx, dword [ecx]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x148]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call fcn.0047ce30
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x47d5c2
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov ebx, eax
mov eax, ecx
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.0047e020
mov eax, dword [esp + 0x14]
test eax, eax
je 0x47d35b
mov ecx, dword [esp + 0x18]
xor edx, edx
jmp 0x47d36f
mov edx, dword [esp + 0xc]
test edx, edx
jbe 0x47de0c
mov edx, dword [esp + 8]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
test eax, eax
jne 0x47d5a0
mov dword [esp + 0xc8], edx
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x47d39f
mov ebx, dword [eax + 4]
jmp 0x47d3da
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 8], eax
call fcn.0047c7a0
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xcc]
mov edx, dword [esp + 0xc8]
test ecx, ecx
jne 0x47d3e2
xor ecx, ecx
jmp 0x47d438
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0047e020
mov eax, dword [esp + 0x14]
test eax, eax
je 0x47d3fe
mov ecx, dword [esp + 0x18]
xor edx, edx
jmp 0x47d412
mov edx, dword [esp + 0xc]
test edx, edx
jbe 0x47de03
mov edx, dword [esp + 8]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
test eax, eax
jne 0x47d57e
mov eax, dword [esp + 0xcc]
mov ecx, edx
mov edx, dword [esp + 0xc8]
mov dword [esp + 0xd8], ecx
mov ebx, dword [esp + 0xe4]
mov ebp, dword [ebx + 4]
test ebp, ebp
jne 0x47d451
xor ebp, ebp
jmp 0x47d49b
mov eax, dword [ebx]
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0047e020
mov eax, dword [esp + 0x14]
test eax, eax
je 0x47d46f
mov ecx, dword [esp + 0x18]
xor edx, edx
jmp 0x47d483
mov edx, dword [esp + 0xc]
test edx, edx
jbe 0x47ddfa
mov edx, dword [esp + 8]
xor eax, eax
xor ecx, ecx
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
test eax, eax
jne 0x47d55c
mov ebp, edx
mov dword [esp + 0xd4], ebp
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x58], 0
lea eax, [esp + 0x44]
mov dword [esp], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
lea eax, [esp + 0x58]
mov dword [esp + 8], eax
call fcn.00481c60
mov eax, dword [esp + 0x44]
cmp eax, 6
jae 0x47d4e6
mov eax, 1
jmp 0x47d4f4
jne 0x47d4f2
cmp dword [esp + 0x40], 1
setbe al
jmp 0x47d4f4
xor eax, eax
mov byte [esp + 0x37], al
call fcn.00480750
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp]
mov dword [esp + 0x3c], edx
test ecx, ecx
jne 0x47d514
mov ecx, edx
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0xe4]
mov edx, dword [eax + 0x18]
mov dword [esp + 0x54], edx
lea ebx, [0x4b7860]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.0044c050
mov eax, dword [esp + 0xc]
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0xe4]
mov edx, dword [ecx + 0x18]
mov dword [esp + 0x64], edx
xor ebx, ebx
jmp 0x47d6af
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00435ff0
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00435ff0
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00435ff0
add esp, 0x144
ret
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
call fcn.00435ff0
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
lea eax, [0x4ecf04]
mov dword [esp + 0x168], eax
lea eax, [0x4ecac0]
mov dword [esp + 0x16c], eax
call fcn.00435ff0
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
lea eax, [0x4ecf04]
mov dword [esp + 0x168], eax
lea eax, [0x4ecac4]
mov dword [esp + 0x16c], eax
call fcn.00435ff0
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
lea eax, [0x4ecf04]
mov dword [esp + 0x168], eax
lea eax, [0x4ecac4]
mov dword [esp + 0x16c], eax
call fcn.00435ff0
add esp, 0x144
ret
inc ebx
cmp ebx, edx
jge 0x47d7ed
mov ebp, dword [ecx + 0x18]
cmp ebx, ebp
jae 0x47ddf1
mov ebp, dword [ecx + 0x14]
mov ebp, dword [ebp + ebx*4]
test ebp, ebp
jbe 0x47d6ae
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
cmp esi, edi
je 0x47d6ff
movzx edx, byte [esp + 0x37]
test dl, dl
je 0x47d704
mov dword [esp + 0x60], ebp
and ebp, 0x10000003
cmp ebp, 3
jne 0x47d6f9
mov ebp, dword [esp + 0x60]
mov esi, edi
jmp 0x47d704
mov ebp, dword [esp + 0x60]
jmp 0x47d704
movzx edx, byte [esp + 0x37]
mov edx, dword [esp + 0x54]
cmp ebx, edx
jae 0x47dde8
mov dword [esp + 0x4c], ebx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
lea ecx, [eax + ebx*4]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov byte [esp + 0x14], 1
mov dword [esp + 0x18], 2
call fcn.00480060
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x47d7b5
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x5c], edx
lea ebx, [0x4bb7a0]
mov dword [esp], ebx
call fcn.0040bb60
mov eax, dword [esp + 4]
lea ecx, [0x47dea0]
mov dword [eax], ecx
mov edx, dword [esp + 0x38]
mov dword [eax + 4], edx
mov ebx, dword [esp + 0x5c]
mov dword [eax + 8], ebx
mov dword [esp], eax
call fcn.00435980
test eax, eax
jne 0x47d7a9
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x4c]
jmp 0x47d6ae
call fcn.00435ff0
add esp, 0x144
ret
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
call fcn.00435ff0
add esp, 0x144
ret
lea edi, [esp + 0xfc]
xor eax, eax
call fcn.0046509e
mov dword [esp], 2
call fcn.0047ed90
mov ecx, dword [esp + 4]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 8]
mov dword [esp + 0x140], ecx
mov dword [esp + 0x168], edx
mov dword [esp + 0x16c], ebx
test ebp, ebp
jne 0x47da35
mov eax, dword [esp + 0x140]
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
lea ecx, [0x47de60]
mov dword [esp + 0xe8], ecx
mov dword [esp + 0xec], eax
lea eax, [esp + 0xe8]
mov dword [esp + 0xb0], eax
lea eax, [esp + 0xa4]
mov dword [esp], eax
call fcn.00435a60
test eax, eax
jne 0x47da29
mov dword [esp + 0xfc], 0x48
mov dword [esp + 0x128], 0x100
mov edx, dword [esp + 0xcc]
movzx ebx, byte [edx]
test bl, bl
je 0x47d8c3
mov dword [esp + 0x128], 0x101
mov word [esp + 0x12c], 0
mov ebx, dword [edx + 0x2c]
test ebx, ebx
je 0x47d931
lea eax, [edx + 0x2c]
mov ecx, dword [esp + 0x140]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x20000
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 4
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004817d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
test edx, edx
jne 0x47da07
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0x54]
test ebx, ebx
jbe 0x47dddf
mov ebp, dword [esp + 0xe0]
mov esi, dword [ebp]
mov dword [esp + 0x134], esi
cmp ebx, 1
jbe 0x47ddd3
mov esi, dword [ebp + 4]
mov dword [esp + 0x138], esi
cmp ebx, 2
jbe 0x47ddc7
mov eax, dword [ebp + 8]
mov dword [esp + 0x13c], eax
mov eax, dword [edx + 0x24]
lea ecx, [ebx + eax]
mov esi, dword [edx + 0x20]
cmp ebx, ecx
jb 0x47d985
mov edi, ebx
jmp 0x47d9cd
mov dword [esp + 0x64], eax
mov dword [esp + 0xdc], esi
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
lea ecx, [0x4b7860]
mov dword [esp + 0x10], ecx
call fcn.0044c110
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov esi, dword [esp + 0xdc]
mov edi, dword [esp + 0x54]
mov ebp, eax
mov ebx, edx
mov eax, dword [esp + 0x64]
mov dword [esp + 0x54], ebx
mov dword [esp + 0x50], ecx
mov dword [esp + 0xd0], ebp
lea edx, [ebp + edi*4]
mov dword [esp], edx
mov dword [esp + 4], esi
shl eax, 2
mov dword [esp + 8], eax
call fcn.004657a0
mov eax, dword [esp + 0xd0]
movzx ecx, byte [esp + 0x37]
mov edx, dword [esp + 0x50]
xor ebx, ebx
jmp 0x47da58
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00435ff0
add esp, 0x144
ret
call fcn.00435ff0
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00435ff0
add esp, 0x144
ret
inc ebx
cmp ebx, edx
jge 0x47da77
mov ebp, dword [eax + ebx*4]
test cl, cl
je 0x47da57
and ebp, 0x10000003
cmp ebp, 3
jne 0x47da57
mov dword [eax + ebx*4], 0
jmp 0x47da57
xor ecx, ecx
xor ebx, ebx
jmp 0x47da7e
inc ecx
cmp ecx, edx
jge 0x47da97
mov ebp, dword [eax + ecx*4]
test ebp, ebp
je 0x47da7d
cmp ebx, edx
jae 0x47ddbe
mov dword [eax + ebx*4], ebp
inc ebx
jmp 0x47da7d
mov edx, dword [esp + 0x54]
cmp ebx, edx
ja 0x47ddb7
test ebx, ebx
je 0x47dab7
mov ebp, dword [esp + 0xcc]
movzx esi, byte [ebp + 0x1c]
xor esi, 1
jmp 0x47dac0
mov ebp, dword [esp + 0xcc]
xor esi, esi
xchg esi, eax
mov byte [esp + 0x36], al
xchg esi, eax
mov dword [esp + 0x48], ebx
xchg esi, eax
test al, al
xchg esi, eax
je 0x47db56
test ebx, ebx
jbe 0x47ddae
mov ecx, dword [esp + 0x140]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0x20002
mov dword [esp + 0xc], eax
shl ebx, 2
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call fcn.004817d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
test edx, edx
je 0x47db56
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00435ff0
add esp, 0x144
ret
mov eax, dword [esp + 0xe4]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0047c890
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
test edx, edx
jne 0x47dd8c
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0xc]
mov edx, dword [eax + 0x10]
or ecx, 0x80400
test edx, edx
je 0x47dc46
mov ebp, dword [eax + 0x14]
mov esi, dword [eax + 0x18]
mov dword [esp], edx
mov edx, dword [esp + 0xc8]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xd8]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
movzx edx, byte [esp + 0x36]
mov byte [esp + 0x14], dl
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0xfc]
mov dword [esp + 0x24], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x28], ecx
call fcn.0047f460
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
jmp 0x47dcb3
mov edx, dword [eax + 0x14]
mov ebp, dword [eax + 0x18]
mov esi, dword [esp + 0xc8]
mov dword [esp], esi
mov esi, dword [esp + 0xd8]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
movzx edx, byte [esp + 0x36]
mov byte [esp + 0x10], dl
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], ebx
mov ecx, dword [esp + 0xd4]
mov dword [esp + 0x1c], ecx
lea ecx, [esp + 0xfc]
mov dword [esp + 0x20], ecx
lea ecx, [esp + 0x70]
mov dword [esp + 0x24], ecx
call fcn.0047fe10
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
mov eax, dword [esp + 0x168]
test eax, eax
jne 0x47dd6a
mov eax, dword [esp + 0x74]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea ecx, [0x47de20]
mov dword [esp + 0x68], ecx
mov dword [esp + 0x6c], eax
lea eax, [esp + 0x68]
mov dword [esp + 0x8c], eax
lea eax, [esp + 0x80]
mov dword [esp], eax
call fcn.00435a60
test eax, eax
jne 0x47dd5e
mov eax, dword [esp + 0xd0]
mov dword [esp + 0xf0], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x70]
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], ecx
mov dword [esp + 0x168], 0
mov dword [esp + 0x16c], 0
call fcn.00435ff0
add esp, 0x144
ret
call fcn.00435ff0
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00435ff0
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00435ff0
add esp, 0x144
ret
xor eax, eax
mov ecx, eax
call fcn.00464f50
mov ecx, ebx
call fcn.00464f90
mov eax, ebx
mov ecx, edx
call fcn.00464f50
mov eax, 2
mov ecx, eax
call fcn.00464f50
mov eax, 1
mov ecx, eax
call fcn.00464f50
xor eax, eax
mov ecx, eax
call fcn.00464f50
mov eax, ebx
mov ecx, edx
call fcn.00464f50
mov eax, ebx
mov ecx, ebp
call fcn.00464f50
xor eax, eax
mov ecx, eax
call fcn.00464f50
xor eax, eax
mov ecx, eax
call fcn.00464f50
xor eax, eax
mov ecx, eax
call fcn.00464f50
nop
call fcn.00463af0
jmp fcn.0047d260