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

Disassembly:
mov ecx, dword [0x9ec7ac]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xc4]
cmp eax, dword [ecx + 8]
jbe 0x47ede6
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 0x47e642
mov ecx, dword [esp + 0x15c]
test ecx, ecx
jne 0x47e29d
lea ecx, [0x9c5600]
mov edx, dword [ecx + 0x20]
test edx, edx
jne 0x47e2aa
lea edx, [0x9c5780]
mov ebx, dword [ecx + 0x18]
cmp ebx, 3
jg 0x47e606
jl 0x47e5ca
mov dword [esp + 0xe4], ecx
mov dword [esp + 0xcc], edx
mov ebx, dword [ecx + 4]
test ebx, ebx
jne 0x47e2da
mov ebx, dword [esp + 0x148]
jmp 0x47e30f
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.0047de00
mov eax, dword [esp + 0x18]
test eax, eax
jne 0x47e592
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.0047eff0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x47e32b
mov ecx, dword [esp + 0x18]
xor edx, edx
jmp 0x47e33f
mov edx, dword [esp + 0xc]
test edx, edx
jbe 0x47eddc
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 0x47e570
mov dword [esp + 0xc8], edx
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 8]
test ecx, ecx
je 0x47e36f
mov ebx, dword [eax + 4]
jmp 0x47e3aa
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.0047d770
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0xcc]
mov edx, dword [esp + 0xc8]
test ecx, ecx
jne 0x47e3b2
xor ecx, ecx
jmp 0x47e408
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.0047eff0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x47e3ce
mov ecx, dword [esp + 0x18]
xor edx, edx
jmp 0x47e3e2
mov edx, dword [esp + 0xc]
test edx, edx
jbe 0x47edd3
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 0x47e54e
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 0x47e421
xor ebp, ebp
jmp 0x47e46b
mov eax, dword [ebx]
mov dword [esp], eax
mov dword [esp + 4], ebp
call fcn.0047eff0
mov eax, dword [esp + 0x14]
test eax, eax
je 0x47e43f
mov ecx, dword [esp + 0x18]
xor edx, edx
jmp 0x47e453
mov edx, dword [esp + 0xc]
test edx, edx
jbe 0x47edca
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 0x47e52c
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.00484720
mov eax, dword [esp + 0x44]
cmp eax, 6
jae 0x47e4b6
mov eax, 1
jmp 0x47e4c4
jne 0x47e4c2
cmp dword [esp + 0x40], 1
setbe al
jmp 0x47e4c4
xor eax, eax
mov byte [esp + 0x37], al
call fcn.00482ef0
mov eax, dword [esp + 0xcc]
mov ecx, dword [eax + 0x2c]
mov edx, dword [esp]
mov dword [esp + 0x3c], edx
test ecx, ecx
jne 0x47e4e4
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, [0x6e4000]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], edx
call fcn.0044e0b0
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 0x47e67f
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00437c30
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00437c30
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00437c30
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.00437c30
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
lea eax, [0x7aaec8]
mov dword [esp + 0x168], eax
lea eax, [0x7aa394]
mov dword [esp + 0x16c], eax
call fcn.00437c30
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
lea eax, [0x7aaec8]
mov dword [esp + 0x168], eax
lea eax, [0x7aa398]
mov dword [esp + 0x16c], eax
call fcn.00437c30
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
lea eax, [0x7aaec8]
mov dword [esp + 0x168], eax
lea eax, [0x7aa398]
mov dword [esp + 0x16c], eax
call fcn.00437c30
add esp, 0x144
ret
inc ebx
cmp ebx, edx
jge 0x47e7bd
mov ebp, dword [ecx + 0x18]
cmp ebx, ebp
jae 0x47edc1
mov ebp, dword [ecx + 0x14]
mov ebp, dword [ebp + ebx*4]
test ebp, ebp
jbe 0x47e67e
mov esi, dword [esp + 0x38]
mov edi, dword [esp + 0x3c]
cmp esi, edi
je 0x47e6cf
movzx edx, byte [esp + 0x37]
test dl, dl
je 0x47e6d4
mov dword [esp + 0x60], ebp
and ebp, 0x10000003
cmp ebp, 3
jne 0x47e6c9
mov ebp, dword [esp + 0x60]
mov esi, edi
jmp 0x47e6d4
mov ebp, dword [esp + 0x60]
jmp 0x47e6d4
movzx edx, byte [esp + 0x37]
mov edx, dword [esp + 0x54]
cmp ebx, edx
jae 0x47edb8
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.00482710
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x47e785
mov eax, dword [esp + 0x4c]
mov ecx, dword [esp + 0xe0]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x5c], edx
lea ebx, [0x6f7d00]
mov dword [esp], ebx
call fcn.0040c5b0
mov eax, dword [esp + 4]
lea ecx, [0x47ee70]
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.004375c0
test eax, eax
jne 0x47e779
mov eax, dword [esp + 0xe0]
mov ecx, dword [esp + 0xe4]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x4c]
jmp 0x47e67e
call fcn.00437c30
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.00437c30
add esp, 0x144
ret
lea edi, [esp + 0xfc]
xor eax, eax
call fcn.004686ee
mov dword [esp], 2
call fcn.00480b40
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 0x47ea05
mov eax, dword [esp + 0x140]
mov dword [esp + 0xe8], 0
mov dword [esp + 0xec], 0
lea ecx, [0x47ee30]
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.004376a0
test eax, eax
jne 0x47e9f9
mov dword [esp + 0xfc], 0x48
mov dword [esp + 0x128], 0x100
mov edx, dword [esp + 0xcc]
movzx ebx, byte [edx]
test bl, bl
je 0x47e893
mov dword [esp + 0x128], 0x101
mov word [esp + 0x12c], 0
mov ebx, dword [edx + 0x2c]
test ebx, ebx
je 0x47e901
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.00484160
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 0x47e9d7
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0x54]
test ebx, ebx
jbe 0x47edaf
mov ebp, dword [esp + 0xe0]
mov esi, dword [ebp]
mov dword [esp + 0x134], esi
cmp ebx, 1
jbe 0x47eda3
mov esi, dword [ebp + 4]
mov dword [esp + 0x138], esi
cmp ebx, 2
jbe 0x47ed97
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 0x47e955
mov edi, ebx
jmp 0x47e99d
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, [0x6e4000]
mov dword [esp + 0x10], ecx
call fcn.0044e230
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.00468df0
mov eax, dword [esp + 0xd0]
movzx ecx, byte [esp + 0x37]
mov edx, dword [esp + 0x50]
xor ebx, ebx
jmp 0x47ea28
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00437c30
add esp, 0x144
ret
call fcn.00437c30
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00437c30
add esp, 0x144
ret
inc ebx
cmp ebx, edx
jge 0x47ea47
mov ebp, dword [eax + ebx*4]
test cl, cl
je 0x47ea27
and ebp, 0x10000003
cmp ebp, 3
jne 0x47ea27
mov dword [eax + ebx*4], 0
jmp 0x47ea27
xor ecx, ecx
xor ebx, ebx
jmp 0x47ea4e
inc ecx
cmp ecx, edx
jge 0x47ea67
mov ebp, dword [eax + ecx*4]
test ebp, ebp
je 0x47ea4d
cmp ebx, edx
jae 0x47ed8e
mov dword [eax + ebx*4], ebp
inc ebx
jmp 0x47ea4d
mov edx, dword [esp + 0x54]
cmp ebx, edx
ja 0x47ed87
test ebx, ebx
je 0x47ea87
mov ebp, dword [esp + 0xcc]
movzx esi, byte [ebp + 0x1c]
xor esi, 1
jmp 0x47ea90
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 0x47eb26
test ebx, ebx
jbe 0x47ed7e
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.00484160
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 0x47eb26
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00437c30
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.0047d860
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 0x47ed5c
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 0x47ec16
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.00481210
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x168], eax
mov dword [esp + 0x16c], ecx
jmp 0x47ec83
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.004824c0
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 0x47ed3a
mov eax, dword [esp + 0x74]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea ecx, [0x47edf0]
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.004376a0
test eax, eax
jne 0x47ed2e
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.00437c30
add esp, 0x144
ret
call fcn.00437c30
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00437c30
add esp, 0x144
ret
mov dword [esp + 0x160], 0
mov dword [esp + 0x164], 0
call fcn.00437c30
add esp, 0x144
ret
xor eax, eax
mov ecx, eax
call fcn.004684c0
mov ecx, ebx
call fcn.00468500
mov eax, ebx
mov ecx, edx
call fcn.004684c0
mov eax, 2
mov ecx, eax
call fcn.004684c0
mov eax, 1
mov ecx, eax
call fcn.004684c0
xor eax, eax
mov ecx, eax
call fcn.004684c0
mov eax, ebx
mov ecx, edx
call fcn.004684c0
mov eax, ebx
mov ecx, ebp
call fcn.004684c0
xor eax, eax
mov ecx, eax
call fcn.004684c0
xor eax, eax
mov ecx, eax
call fcn.004684c0
xor eax, eax
mov ecx, eax
call fcn.004684c0
nop
call fcn.00467050
jmp fcn.0047e230