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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xc0]
cmp eax, dword [ecx + 8]
jbe 0x47c58f
sub esp, 0x140
mov ebx, dword [esp + 0x14c]
test ebx, 0x200
jne 0x47c0c9
test ebx, 0x80
je 0x47c0bd
mov ebx, dword [esp + 0x148]
mov ebx, dword [ebx]
mov eax, dword [esp + 0x144]
xor ecx, ecx
xor edx, edx
xor ebp, ebp
xor esi, esi
test ebx, ebx
je 0x47c576
mov dword [esp + 0xe0], ebx
mov dword [esp + 0x3c], edx
mov dword [esp + 0xc0], ebp
mov dword [esp + 0xbc], esi
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xcc], eax
mov edi, dword [esp + 0x154]
cmp edi, 9
je 0x47c064
mov dword [esp + 0xa8], eax
xor eax, eax
mov byte [esp + 0x2b], al
mov eax, dword [esp + 0xa8]
movzx ebx, byte [eax + 0xf]
and ebx, 0x1f
cmp ebx, 0x13
jne 0x47c55e
movzx ebx, word [eax + 0x20]
movzx ebp, byte [esp + 0x2b]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x47c028
movzx esi, word [eax + 0x22]
test si, 0x8000
je 0x47c546
mov esi, dword [esp + 0x15c]
cmp esi, ebx
jl 0x47c52e
jg 0x47c516
mov dword [esp + 0x60], ebx
test esi, esi
jle 0x47b3cd
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x158]
mov dword [esp + 0x10c], eax
mov dword [esp + 0x98], ecx
xor ecx, ecx
mov dword [esp + 0x84], ecx
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x98]
jmp 0x47b3ab
add ebp, 0xc
mov dword [esp + 0x10c], ebp
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x60]
movzx ebp, byte [esp + 0x2b]
mov ebp, dword [esp + 0x10c]
mov ebx, dword [ebp + 8]
test ebx, 0x1f
je 0x47c47d
mov ebx, dword [esp + 0x84]
inc ebx
cmp ebx, esi
jl 0x47b391
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x158]
mov dword [esp + 0x90], eax
xor eax, eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x90]
jmp 0x47b434
mov eax, dword [esp + 0x58]
inc eax
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x158]
mov ebx, dword [esp + 0x15c]
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x158]
mov esi, dword [esp + 0x15c]
mov edi, dword [esp + 0x154]
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0xcc]
mov edi, dword [esp + 0x58]
cmp edi, ebx
jge 0x47b520
cmp edi, esi
jae 0x47c474
lea eax, [edi + edi*2]
mov ecx, dword [ebp + eax*4 + 8]
mov edx, dword [ebp + eax*4 + 4]
mov eax, dword [ebp + eax*4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00481520
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xcc]
movzx ebx, byte [edx + 0xf]
and ebx, 0x1f
cmp ebx, 0x13
jne 0x47c45c
movzx ebx, byte [edx + 0xc]
test bl, 1
je 0x47b516
mov ebx, 0x34
movzx ebp, word [edx + 0x20]
test bp, bp
jne 0x47b4fd
xor ebx, ebx
xor ebp, ebp
mov esi, dword [esp + 0x58]
cmp esi, ebx
jae 0x47c447
mov ebx, dword [ebp + esi*4]
test ebx, ebx
je 0x47b4f7
lea ebp, [0x8351a0]
mov dword [esp + 0xb4], eax
mov dword [esp + 0x44], ebp
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x2c], ecx
mov edx, dword [ecx + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call edx
movzx eax, byte [esp + 0xc]
test al, al
jne 0x47b3ee
jmp 0x47c346
xor ebp, ebp
xor ebx, ebx
jmp 0x47b4bf
movzx ebp, bp
add ebx, edx
cmp ebp, 0x100000
ja 0x47c450
mov esi, ebx
mov ebx, ebp
mov ebp, esi
jmp 0x47b4a5
mov ebx, 0x24
jmp 0x47b498
movzx edi, byte [esp + 0x2b]
xchg edi, eax
test al, al
xchg edi, eax
je 0x47bc67
movzx ebx, byte [eax + 0xf]
and ebx, 0x1f
cmp ebx, 0x13
jne 0x47c1c6
movzx ebx, word [eax + 0x20]
movzx edi, bx
cmp edi, esi
jne 0x47c1ae
mov dword [esp + 0x15c], esi
mov dword [esp + 0x108], ebp
nop
movzx ebp, word [eax + 0x22]
and ebp, 0x7fff
test bp, bp
jne 0x47bc47
xor ebx, ebx
mov dword [esp + 0x48], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00479950
mov eax, dword [esp + 8]
mov dword [esp + 0xd8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4c], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0xdc], edx
mov ebx, dword [esp + 0x48]
test ebx, ebx
jne 0x47bc30
mov dword [esp], edx
call fcn.0046c220
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
lea edx, [0x748940]
cmp ecx, edx
jne 0x47c183
mov ebx, dword [esp + 0xd0]
test ebx, ebx
je 0x47bc29
mov ebx, dword [esp + 0xbc]
movzx ebx, byte [ebx + 0xf]
mov ebp, ebx
and ebx, 0x1f
cmp ebx, 0x14
jne 0x47bbba
test byte [eax], al
mov ebx, dword [0xa918d0]
mov ebp, dword [esp + 0xc0]
mov ebp, dword [ebp + 4]
test ebx, ebx
jne 0x47bbaa
mov dword [eax], ebp
mov ecx, 4
mov dword [esp + 0xd4], eax
mov ebx, dword [esp + 0x15c]
test ebx, ebx
jle 0x47b784
mov ebp, dword [esp + 0xcc]
mov esi, dword [esp + 0x108]
xor edi, edi
jmp 0x47b666
mov ecx, dword [esp + 0x10c]
lea esi, [ecx + 0xc]
mov ecx, dword [esp + 0xcc]
lea edx, [0x748940]
mov ebp, ecx
mov edi, ebx
mov ecx, eax
mov eax, dword [esp + 0xd4]
mov ebx, dword [esp + 0x15c]
mov dword [esp + 0x10c], esi
mov dword [esp + 0x5c], edi
mov dword [esp + 0x80], ecx
mov ebx, dword [esi + 8]
mov dword [esp + 0x7c], ebx
mov edi, dword [esi + 4]
mov dword [esp + 0x104], edi
mov esi, dword [esi]
mov dword [esp + 0x100], esi
nop
test ebx, ebx
jne 0x47bb99
mov dword [esp], ebx
call fcn.0047aa40
mov ebx, dword [esp + 0xcc]
movzx ebp, byte [ebx + 0xf]
and ebp, 0x1f
cmp ebp, 0x13
jne 0x47c16b
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
test al, 1
xchg ebp, eax
je 0x47bb8f
mov eax, 0x34
movzx ebp, word [ebx + 0x20]
test bp, bp
jne 0x47bb74
xor eax, eax
xor ecx, ecx
mov edx, dword [esp + 0x5c]
cmp edx, eax
jae 0x47c158
mov eax, dword [ecx + edx*4]
test eax, eax
je 0x47bb6b
lea ecx, [0x8351a0]
lea ebp, [0x8351a0]
cmp ecx, ebp
jne 0x47c13c
movzx ecx, byte [eax + 0xd]
mov esi, dword [esp + 0x80]
lea esi, [esi + ecx - 1]
dec ecx
not ecx
and ecx, esi
mov dword [esp + 0x38], ecx
mov esi, dword [eax]
test esi, esi
jne 0x47ba9a
mov ecx, dword [esp + 0x100]
mov dword [esp], ecx
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x7c]
mov dword [esp + 8], ecx
lea ecx, [0x7aaa9b]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0x12
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0
call fcn.004824f0
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x5c]
inc ebx
mov ebp, dword [esp + 0x15c]
cmp ebx, ebp
jl 0x47b63b
mov eax, dword [esp + 0xd8]
mov ecx, dword [eax]
mov dword [esp], eax
mov edx, dword [esp + 0xe0]
mov dword [esp + 4], edx
mov edx, dword [esp + 0xd4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0x10], ecx
call fcn.0044fc50
movzx eax, byte [0xa915ed]
test al, al
jne 0x47ba8a
mov eax, dword [esp + 0x48]
test eax, eax
je 0x47ba46
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
mov dword [esp + 8], 0
mov ecx, dword [esp + 0x4c]
mov dword [esp + 0xc], ecx
call fcn.00410c60
lea eax, [0x7a4920]
mov dword [esp], eax
mov eax, dword [esp + 0x48]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.0043c700
mov eax, dword [esp + 0xc]
mov dword [esp + 0x104], eax
xor ecx, ecx
mov edx, dword [esp + 0x4c]
jmp 0x47b854
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x7c]
mov ecx, dword [esp + 0xc4]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0x68]
lea ecx, [eax + 1]
mov eax, dword [esp + 4]
mov edx, dword [esp + 0x34]
add edx, eax
mov eax, dword [esp + 0x104]
mov ebx, dword [esp + 0x48]
cmp ecx, ebx
jge 0x47ba2a
mov dword [esp + 0x68], ecx
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0xcc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00475980
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xc4], ecx
mov edx, dword [eax + 0x10]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x7c]
mov ebx, dword [esp + 0xc4]
mov dword [esp], ebx
call edx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x4c]
lea ecx, [ecx + eax - 1]
dec eax
not eax
and eax, ecx
mov dword [esp + 0x34], eax
mov ecx, dword [esp + 4]
test ecx, ecx
je 0x47b988
mov eax, dword [esp + 0x40]
mov ecx, dword [eax + 0x50]
mov edx, dword [esp + 0xc4]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx + 0x84]
mov ebx, dword [esp + 0xc4]
mov dword [esp], ebx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xd4]
lea ebx, [edx + ecx]
mov ebp, dword [esp + 0x68]
mov esi, dword [esp + 0x48]
cmp ebp, esi
jae 0x47c133
mov edi, edx
mov edx, dword [esp + 0x78]
or edx, 0x80
lea esi, [ebp + ebp*2]
mov ecx, dword [esp + 0x104]
mov dword [ecx + esi*4 + 8], edx
mov edx, dword [0xa918d0]
lea ebp, [ecx + esi*4]
mov dword [esp + 0xfc], ebp
lea ebp, [ecx + esi*4 + 4]
test edx, edx
jne 0x47b96a
mov dword [ecx + esi*4], eax
mov dword [ecx + esi*4 + 4], ebx
jmp 0x47b829
mov edx, edi
mov edi, dword [esp + 0xfc]
call fcn.00451480
mov edi, ebp
mov eax, ebx
call fcn.00451480
mov edi, edx
jmp 0x47b829
mov eax, dword [esp + 0x40]
mov dword [esp], eax
mov ecx, dword [esp + 0xc4]
mov dword [esp + 4], ecx
call fcn.00482380
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
mov ebx, dword [esp + 0x68]
mov ebp, dword [esp + 0x48]
cmp ebx, ebp
jae 0x47c12a
mov dword [esp + 0xf8], ecx
lea esi, [ebx + ebx*2]
mov edi, ebp
mov ebp, dword [esp + 0x104]
mov dword [ebp + esi*4 + 8], eax
mov eax, ebx
mov ebx, dword [0xa918d0]
lea ecx, [ebp + esi*4]
mov dword [esp + 0xf4], ecx
lea ecx, [ebp + esi*4 + 4]
test ebx, ebx
jne 0x47ba01
mov dword [ebp + esi*4], edx
mov ecx, dword [esp + 0xf8]
mov dword [ebp + esi*4 + 4], ecx
jmp 0x47b829
mov ebx, edi
mov edi, dword [esp + 0xf4]
mov esi, eax
mov eax, edx
call fcn.00451480
mov edi, ecx
mov eax, dword [esp + 0xf8]
call fcn.00451480
mov eax, esi
mov edi, ebx
jmp 0x47b829
mov dword [esp + 0x164], eax
mov dword [esp + 0x168], ebx
mov dword [esp + 0x16c], ebx
add esp, 0x140
ret
mov eax, dword [esp + 0xd8]
mov dword [esp], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 4], eax
call fcn.00410c20
mov eax, dword [esp + 0xdc]
mov dword [esp], eax
lea eax, [0x748940]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xd4]
mov dword [esp + 8], eax
call fcn.0046c180
xor ebx, ebx
xor eax, eax
jmp 0x47ba2a
call fcn.00416df0
mov eax, dword [esp + 0x48]
test eax, eax
jmp 0x47b7cc
mov dword [esp + 0x50], esi
mov dword [esp + 0xb0], eax
mov edx, dword [esp + 0x100]
mov dword [esp], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
lea edx, [0x7aaa9b]
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0x12
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0xd4]
lea ebp, [ebx + ecx]
mov dword [esp + 0xe8], ebp
mov dword [esp + 0x18], ebp
call fcn.004824f0
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x24]
test ecx, 0x80
jne 0x47bb40
mov ebx, dword [0xa918d0]
test ebx, ebx
jne 0x47bb27
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0xd4]
mov dword [ebp + ebx], eax
mov esi, dword [esp + 0x50]
lea eax, [ebx + esi]
jmp 0x47b770
mov edi, dword [esp + 0xe8]
call fcn.00451480
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0xd4]
jmp 0x47bb1b
mov ecx, dword [esp + 0xb0]
mov dword [esp], ecx
mov ecx, dword [esp + 0xe8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00410830
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0xd4]
jmp 0x47bb1b
xor eax, eax
xor ecx, ecx
jmp 0x47b6fc
movzx ecx, bp
lea ebp, [ebx + eax]
cmp ecx, 0x100000
ja 0x47c161
mov eax, ecx
mov ecx, ebp
jmp 0x47b6df
mov eax, 0x24
jmp 0x47b6ce
test ebx, 0x60
jne 0x47b69b
jmp 0x47b6a3
mov edi, eax
mov eax, ebp
call fcn.00451480
mov eax, edi
jmp 0x47b60e
mov ebx, dword [esp + 0x3c]
test ebx, 0x80
je 0x47bbcd
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x47bbfc
test byte [eax], al
mov ebx, dword [0xa918d0]
test ebx, ebx
jne 0x47bbe7
mov ebx, dword [esp + 0xc0]
mov dword [eax], ebx
jmp 0x47b60e
mov edi, eax
mov eax, dword [esp + 0xc0]
call fcn.00451480
mov eax, edi
jmp 0x47b60e
test byte [eax], al
mov ebx, dword [0xa918d0]
mov ebp, dword [esp + 0xc0]
mov ebp, dword [ebp]
test ebx, ebx
jne 0x47bc19
mov dword [eax], ebp
jmp 0x47b60e
mov edi, eax
mov eax, ebp
call fcn.00451480
mov eax, edi
jmp 0x47b60e
xor ecx, ecx
jmp 0x47b613
mov dword [esp], eax
call fcn.0040a5c0
mov eax, dword [esp + 4]
lea edx, [0x748940]
jmp 0x47b5ca
add ebx, ebp
movzx ebx, bx
cmp ebx, 0x100000
ja 0x47c1a2
cmp edi, ebx
ja 0x47c199
sub ebx, edi
jmp 0x47b572
movzx edi, byte [eax + 0xf]
and edi, 0x1f
cmp edi, 0x13
jne 0x47c32e
movzx edi, word [eax + 0x22]
test di, 0x8000
je 0x47b52f
mov edi, esi
sub esi, ebx
movzx ebp, byte [eax + 0xc]
xchg ebp, eax
test al, 1
xchg ebp, eax
je 0x47c01e
mov ebp, 0x34
movzx edi, word [eax + 0x20]
test di, di
jne 0x47bff4
xor ebp, ebp
xor edi, edi
cmp ebx, ebp
jae 0x47c319
mov ebp, dword [edi + ebx*4]
test ebp, ebp
je 0x47bfeb
lea edi, [0x8351a0]
mov dword [esp + 0x54], esi
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], esi
call fcn.00482080
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xcc]
movzx ebp, byte [ebx + 0xf]
and ebp, 0x1f
cmp ebp, 0x13
jne 0x47c301
movzx ebp, byte [ebx + 0xc]
xchg ebp, eax
test al, 1
xchg ebp, eax
je 0x47bfe1
mov ebp, 0x34
movzx esi, word [ebx + 0x20]
test si, si
jne 0x47bfc5
xor ebp, ebp
xor esi, esi
mov edi, dword [esp + 0x60]
cmp edi, ebp
jae 0x47c2ec
mov dword [esp + 0x104], eax
mov dword [esp + 0x100], ecx
mov dword [esp + 0x7c], edx
mov ebp, dword [esi + edi*4]
test ebp, ebp
je 0x47bfbc
lea esi, [0x8351a0]
mov eax, dword [esi + 0x28]
mov dword [esp], ebp
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x158]
mov ebp, dword [esp + 0x15c]
mov esi, dword [esp + 0x60]
xor edi, edi
jmp 0x47be31
mov eax, dword [esp + 0x100]
mov dword [esp], eax
mov ecx, dword [esp + 0x104]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x7c]
mov dword [esp + 8], edx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0xc], ebx
call fcn.0047d790
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov eax, dword [esp + 0xf0]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], eax
call fcn.0047ff40
mov eax, dword [esp + 0x64]
lea edi, [eax + 1]
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x158]
mov edx, dword [esp + 0x15c]
mov ebx, dword [esp + 0x60]
mov eax, dword [esp + 0xe4]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x158]
mov ebp, dword [esp + 0x15c]
mov esi, dword [esp + 0x60]
cmp edi, edx
jge 0x47beb3
add esi, edi
cmp esi, ebp
jae 0x47c2e3
mov dword [esp + 0x64], edi
lea eax, [esi + esi*2]
mov ecx, dword [ebx + eax*4 + 8]
mov dword [esp + 0x74], ecx
mov edx, dword [ebx + eax*4 + 4]
mov dword [esp + 0xf8], edx
mov eax, dword [ebx + eax*4]
mov dword [esp + 0xf0], eax
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00481520
mov eax, dword [esp + 0xc]
mov dword [esp + 0x30], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0xb8], ecx
mov edx, dword [eax + 0x14]
mov dword [esp], ecx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0xe4]
mov dword [esp + 8], ebp
call edx
movzx eax, byte [esp + 0xc]
test al, al
jne 0x47bd8f
jmp 0x47c1e8
lea eax, [0x7a4920]
mov dword [esp], eax
lea ecx, [esi + 1]
mov dword [esp + 0x84], ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], ecx
call fcn.0043c700
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x84]
cmp ecx, edx
ja 0x47c1e3
mov dword [esp + 0xf8], eax
lea ebx, [0x7a4920]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov ebp, dword [esp + 0x158]
mov dword [esp + 0x10], ebp
mov ebp, dword [esp + 0x15c]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0x160]
mov dword [esp + 0x18], ebp
call fcn.00410a20
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x84]
cmp eax, ecx
jae 0x47c1de
lea ebx, [eax + eax*2]
mov ebp, dword [esp + 0x7c]
mov esi, dword [esp + 0xf8]
mov dword [esi + ebx*4 + 8], ebp
lea edi, [esi + ebx*4]
lea ebp, [esi + ebx*4 + 4]
mov eax, ebp
mov ebp, dword [0xa918d0]
test ebp, ebp
jne 0x47bf9e
mov ebp, dword [esp + 0x100]
mov dword [esi + ebx*4], ebp
mov ebp, dword [esp + 0x104]
mov dword [esi + ebx*4 + 4], ebp
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x3c]
mov esi, dword [esp + 0x84]
mov ebp, dword [esp + 0xf8]
jmp 0x47b52f
mov edx, eax
mov eax, dword [esp + 0x100]
call fcn.00451480
mov edi, edx
mov eax, dword [esp + 0x104]
call fcn.00451480
jmp 0x47bf79
xor ebp, ebp
xor esi, esi
jmp 0x47bd57
movzx esi, si
add ebp, ebx
cmp esi, 0x100000
ja 0x47c2f5
mov edi, ebp
mov ebp, esi
mov esi, edi
jmp 0x47bd28
mov ebp, 0x24
jmp 0x47bd17
xor ebp, ebp
xor edi, edi
jmp 0x47bcc8
movzx edi, di
add ebp, eax
cmp edi, 0x100000
ja 0x47c322
mov dword [esp + 0x88], eax
mov eax, ebp
mov ebp, edi
mov edi, eax
mov eax, dword [esp + 0x88]
jmp 0x47bcaf
mov ebp, 0x24
jmp 0x47bc9e
movzx esi, word [eax + 0x22]
test si, 0x8000
je 0x47c034
dec ebx
mov ebp, dword [esp + 0x15c]
cmp ebp, ebx
jl 0x47c4fe
test si, 0x8000
je 0x47c05b
movzx ebp, byte [esp + 0x2b]
mov esi, dword [esp + 0x15c]
jmp 0x47b354
cmp ebp, ebx
jle 0x47c04a
jmp 0x47c4e6
mov eax, dword [esp + 0x150]
mov dword [esp], eax
lea ecx, [0x7a7125]
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call fcn.00402300
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xd0]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0xe0]
mov ebp, dword [esp + 0xc0]
mov esi, dword [esp + 0xbc]
mov edi, dword [esp + 0x154]
mov byte [esp + 0x2b], al
mov eax, dword [esp + 0xcc]
jmp 0x47b30d
mov ebx, dword [esp + 0x148]
jmp 0x47b2ab
mov eax, dword [esp + 0x150]
mov dword [esp], eax
mov ecx, dword [esp + 0x154]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x144]
mov dword [esp + 8], edx
mov ebp, dword [esp + 0x148]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
sar ebx, 0xa
mov dword [esp + 0x14], ebx
call fcn.0047c5a0
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov edx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x148]
mov esi, dword [esp + 0x144]
jmp 0x47b2ba
mov eax, ebx
mov ecx, ebp
call fcn.00451500
mov eax, ebp
mov ecx, esi
call fcn.00451500
mov dword [esp], ecx
lea eax, [0x79f6c0]
mov dword [esp + 4], eax
lea eax, [0x795bc0]
mov dword [esp + 8], eax
call fcn.00407c00
mov ecx, eax
mov eax, edx
call fcn.00451500
mov edx, 0x100000
call fcn.00451520
lea eax, [0x748600]
mov dword [esp], eax
lea eax, [0x8287a0]
mov dword [esp + 4], eax
call fcn.0042af30
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x747b80]
mov dword [esp + 8], eax
call fcn.00407b40
mov eax, edi
mov ecx, ebx
call fcn.00451560
mov ecx, ebx
mov edx, 0x100000
call fcn.00451520
lea eax, [0x748600]
mov dword [esp], eax
lea eax, [0x828ac8]
mov dword [esp + 4], eax
call fcn.0042af30
lea eax, [0x748600]
mov dword [esp], eax
lea eax, [0x828ac0]
mov dword [esp + 4], eax
call fcn.0042af30
call fcn.00451500
call fcn.00451540
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 0x80]
mov ecx, dword [esp + 0xb8]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 4]
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x84], ecx
mov edx, dword [esp + 0x6c]
mov edx, dword [edx + 0x80]
mov ebx, dword [esp + 0xe4]
mov dword [esp], ebx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp + 0x70], ecx
lea edi, [esp + 0x110]
lea esi, [0x833a80]
call fcn.00451bc8
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x118], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x12c], eax
mov eax, dword [esp + 0x150]
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x13c], eax
mov dword [esp], 0
lea eax, [esp + 0x110]
mov dword [esp + 4], eax
mov dword [esp + 8], 6
mov dword [esp + 0xc], 6
call fcn.0043f8e0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407e80
mov eax, dword [esp + 8]
lea ecx, [0x748600]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0042af30
mov eax, esi
mov ecx, ebp
call fcn.00451500
mov eax, edi
mov ecx, ebp
call fcn.00451500
mov ecx, esi
mov edx, 0x100000
call fcn.00451520
lea eax, [0x748600]
mov dword [esp], eax
lea eax, [0x828ab8]
mov dword [esp + 4], eax
call fcn.0042af30
mov eax, ebx
mov ecx, ebp
call fcn.00451500
mov ecx, edi
mov edx, 0x100000
call fcn.00451520
lea eax, [0x748600]
mov dword [esp], eax
lea eax, [0x828ab0]
mov dword [esp + 4], eax
call fcn.0042af30
mov eax, dword [esp + 0x2c]
mov eax, dword [eax + 0x80]
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x84], eax
mov ecx, dword [esp + 4]
mov dword [esp + 0x108], ecx
mov edx, dword [esp + 0x44]
mov edx, dword [edx + 0x80]
mov ebx, dword [esp + 0xc8]
mov dword [esp], ebx
call edx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
mov dword [esp + 0xec], ecx
lea edi, [esp + 0x110]
lea esi, [0x833a40]
call fcn.00451bc8
mov ecx, dword [esp + 0x150]
mov dword [esp + 0x118], ecx
mov ecx, dword [esp + 0x154]
mov dword [esp + 0x11c], ecx
mov ecx, dword [esp + 0x108]
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x84]
mov dword [esp + 0x12c], ecx
mov ecx, dword [esp + 0xec]
mov dword [esp + 0x138], ecx
mov dword [esp + 0x13c], eax
mov dword [esp], 0
lea eax, [esp + 0x110]
mov dword [esp + 4], eax
mov dword [esp + 8], 6
mov dword [esp + 0xc], 6
call fcn.0043f8e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00407e80
mov eax, dword [esp + 8]
lea ecx, [0x748600]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0042af30
mov eax, esi
mov ecx, ebx
call fcn.00451500
mov ecx, ebp
mov edx, 0x100000
call fcn.00451520
lea eax, [0x748600]
mov dword [esp], eax
lea eax, [0x828aa8]
mov dword [esp + 4], eax
call fcn.0042af30
mov eax, edi
mov ecx, esi
call fcn.00451500
mov dword [esp], 0
lea eax, [0x7a7485]
mov dword [esp + 4], eax
mov dword [esp + 8], 9
mov eax, dword [esp + 0x150]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edi
lea eax, [0x7ae83b]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0x1a
call fcn.0043fb60
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00407e80
mov eax, dword [esp + 8]
lea ecx, [0x748600]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0042af30
lea eax, [0x748600]
mov dword [esp], eax
lea eax, [0x828aa0]
mov dword [esp + 4], eax
call fcn.0042af30
lea eax, [0x748600]
mov dword [esp], eax
lea eax, [0x828a98]
mov dword [esp + 4], eax
call fcn.0042af30
lea eax, [0x748600]
mov dword [esp], eax
lea eax, [0x828a90]
mov dword [esp + 4], eax
call fcn.0042af30
lea eax, [0x748600]
mov dword [esp], eax
lea eax, [0x828a88]
mov dword [esp + 4], eax
call fcn.0042af30
lea eax, [0x748600]
mov dword [esp], eax
lea eax, [0x828a80]
mov dword [esp + 4], eax
call fcn.0042af30
lea eax, [0x748600]
mov dword [esp], eax
lea eax, [0x828a78]
mov dword [esp + 4], eax
call fcn.0042af30
lea eax, [0x748600]
mov dword [esp], eax
lea eax, [0x828a70]
mov dword [esp + 4], eax
call fcn.0042af30
nop
call fcn.0044fc40
jmp fcn.0047b260