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

Disassembly:
mov ecx, dword [0x6b21fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0xe4]
cmp eax, dword [ecx + 8]
jbe 0x4fe71f
sub esp, 0x164
lea edi, [esp + 0x16c]
mov ecx, 0x313
xor eax, eax
rep stosd dword es:[edi], eax
mov edx, dword [esp + 0x168]
lea esi, [edx + 8]
mov ebx, dword [edx]
mov ebp, dword [edx + 4]
mov dword [esp + 0x16c], ebx
mov dword [esp + 0x170], ebp
lea edi, [esp + 0xd64]
call fcn.00468eee
xor ecx, ecx
xor ebx, ebx
xor ebp, ebp
jmp 0x4fd5f5
inc ecx
mov ebp, esi
cmp ecx, 0x3e8
jge 0x4fd622
mov esi, dword [edx + ecx*4 + 0x84]
test esi, esi
je 0x4fd60c
mov edi, dword [esi]
jmp 0x4fd60e
xor edi, edi
cmp edi, ebx
jle 0x4fd61e
test esi, esi
je 0x4fd61a
mov ebx, dword [esi]
jmp 0x4fd5f2
xor ebx, ebx
jmp 0x4fd5f2
mov esi, ebp
jmp 0x4fd5f2
mov dword [esp], ebp
call fcn.004fa7e0
mov eax, dword [esp + 4]
mov dword [esp + 0x98], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0xc]
mov dword [esp + 0x60], edx
mov ebx, dword [esp + 4]
mov dword [esp + 0x90], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00409c90
mov eax, dword [esp + 0xc]
mov dword [esp + 0xfc], 0
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
lea ecx, [0x4fec20]
mov dword [esp + 0xfc], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x104], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x108], edx
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x100], ebx
lea ebp, [0x5269e0]
mov dword [esp], ebp
mov dword [esp + 4], eax
lea eax, [esp + 0xfc]
mov dword [esp + 8], eax
call fcn.00470910
mov eax, dword [esp + 0x168]
mov ecx, dword [eax + 0x1034]
test ecx, ecx
jne 0x4fd701
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x5c]
xor ebx, ebx
jmp 0x4fe67e
mov dword [esp], eax
mov ecx, dword [esp + 0x90]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 8], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 0xc], edx
mov byte [esp + 0x10], 0
call fcn.004fa9d0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
test eax, eax
jne 0x4fdb8b
mov eax, dword [esp + 0x168]
movzx ecx, byte [eax + 0x18]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x94], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x88], ebx
test cl, cl
je 0x4fd998
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov eax, dword [esp + 0x98]
mov dword [esp], eax
mov eax, dword [esp + 0x5c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
call fcn.00409c90
mov eax, dword [esp + 0xc]
lea ecx, [0x5269e0]
mov dword [esp + 0xd4], ecx
mov dword [esp + 0xd8], eax
lea edi, [esp + 0x14c]
xor eax, eax
call fcn.00468aaa
lea ecx, [0x4feba0]
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x154], 0x13
lea ecx, [0x549d7e]
mov dword [esp + 0x150], ecx
mov dword [esp + 0x15c], 1
mov dword [esp + 0x160], 1
lea ecx, [esp + 0xd4]
mov dword [esp + 0x158], ecx
mov ecx, dword [0x68b9c4]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 2
lea ecx, [esp + 0x14c]
mov dword [esp + 0xc], ecx
call fcn.004b1180
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
lea eax, [0x538380]
mov dword [esp + 0xcc], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xd0], ecx
lea edi, [esp + 0x14c]
xor eax, eax
call fcn.00468aaa
lea ecx, [0x4feb20]
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x154], 0x10
lea ecx, [0x548bf1]
mov dword [esp + 0x150], ecx
mov dword [esp + 0x15c], 1
mov dword [esp + 0x160], 1
lea ecx, [esp + 0xcc]
mov dword [esp + 0x158], ecx
mov ecx, dword [0x68b9c4]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 2
lea ecx, [esp + 0x14c]
mov dword [esp + 0xc], ecx
call fcn.004b1180
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
lea eax, [0x52bea0]
mov dword [esp + 0xc4], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 0xc8], ecx
lea edi, [esp + 0x14c]
xor eax, eax
call fcn.00468aaa
lea ecx, [0x4feaa0]
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x154], 0x15
lea ecx, [0x54aa1d]
mov dword [esp + 0x150], ecx
mov dword [esp + 0x15c], 1
mov dword [esp + 0x160], 1
lea ecx, [esp + 0xc4]
mov dword [esp + 0x158], ecx
mov ecx, dword [0x68b9c4]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 2
lea ecx, [esp + 0x14c]
mov dword [esp + 0xc], ecx
call fcn.004b1180
mov edx, dword [esp + 0x94]
lea eax, [0x52bea0]
mov dword [esp], eax
mov dword [esp + 4], edx
lea ecx, [0x5d3498]
mov dword [esp + 8], ecx
call fcn.0040d220
mov eax, dword [esp + 0xc]
cmp byte [eax], 7
jbe 0x4fda91
mov eax, dword [esp + 0x168]
movzx ecx, byte [eax + 0x1a]
test cl, cl
jne 0x4fda91
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea eax, [0x52a880]
mov dword [esp + 0xbc], eax
lea eax, [0x5d370c]
mov dword [esp + 0xc0], eax
mov dword [esp + 0xec], 0
mov dword [esp + 0xf0], 0
mov dword [esp + 0xf4], 0
mov dword [esp + 0xf8], 0
lea eax, [0x4fea30]
mov dword [esp + 0xec], eax
mov dword [esp + 0xf4], 1
mov dword [esp + 0xf8], 1
lea eax, [esp + 0xbc]
mov dword [esp + 0xf0], eax
mov eax, dword [0x68b9c4]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], 2
lea eax, [esp + 0xec]
mov dword [esp + 0xc], eax
call fcn.004b1180
mov eax, dword [esp + 0x168]
lea eax, [0x52bea0]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
lea edx, [0x5d3498]
mov dword [esp + 8], edx
call fcn.0040d220
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
or eax, 8
mov byte [esp + 0xd5c], al
lea eax, [0x52bea0]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
lea edx, [0x5d34ec]
mov dword [esp + 8], edx
call fcn.0040d220
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
mov byte [esp + 0xd5d], al
lea eax, [0x52bea0]
mov dword [esp], eax
mov ecx, dword [esp + 0x94]
mov dword [esp + 4], ecx
lea edx, [0x5d1fbc]
mov dword [esp + 8], edx
call fcn.0040d220
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
mov byte [esp + 0xd5e], al
lea eax, [0x52bea0]
mov dword [esp], eax
mov eax, dword [esp + 0x94]
mov dword [esp + 4], eax
lea eax, [0x5d1fc4]
mov dword [esp + 8], eax
call fcn.0040d220
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
mov byte [esp + 0xd5f], al
mov eax, dword [esp + 0x168]
movzx ecx, byte [eax + 0x102c]
mov byte [esp + 0xd60], cl
movzx ecx, byte [eax + 0x1c]
test cl, cl
jne 0x4fdb84
xor ecx, ecx
xor edx, edx
lea ebx, [esp + 0x2b]
xor ebp, ebp
jmp 0x4fe022
xor ecx, ecx
jmp 0x4fdc18
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
test eax, eax
je 0x4fdbac
mov eax, dword [eax + 4]
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], ecx
lea eax, [0x54da6f]
mov dword [esp], eax
mov dword [esp + 4], 0x1c
lea eax, [esp + 0x9c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xdb8], eax
mov dword [esp + 0xdbc], ecx
add esp, 0x164
ret
mov ebx, dword [esp + 0x58]
mov byte [esp + ebx + 0x974], bl
lea ecx, [ebx + 1]
mov eax, edx
cmp ecx, 0x100
jge 0x4fdc47
mov dword [esp + 0x58], ecx
mov dword [esp], ecx
call fcn.004f26c0
mov eax, dword [esp + 4]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x38], ecx
mov edx, dword [esp + 0x168]
xor ebx, ebx
jmp 0x4fdc6e
mov dword [esp + 0xdb8], 0
mov dword [esp + 0xdbc], 0
add esp, 0x164
ret
xchg esi, eax
mov byte [esp + edi + 0x174], al
xchg esi, eax
inc ebx
cmp ebx, 8
jge 0x4fdc08
mov dword [esp + 0x68], ebx
xor ebp, ebp
xor esi, esi
jmp 0x4fdca7
mov ebp, dword [esp + 0x58]
lea edi, [ebx + ebp*8]
cmp edi, 0x800
jb 0x4fdc64
jmp 0x4fe002
lea ebp, [edx + 2]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x38]
mov edx, dword [esp + 0x168]
mov ebx, dword [esp + 0x68]
cmp ebp, 8
jge 0x4fdc7d
mov dword [esp + 0x48], ebp
xchg esi, eax
mov byte [esp + 0x2c], al
xchg esi, eax
mov dword [esp], edx
lea esi, [ebp + eax]
mov dword [esp + 4], esi
lea esi, [ebx + ecx]
mov dword [esp + 8], esi
call fcn.004f2650
movzx eax, byte [esp + 0xc]
movzx ecx, byte [esp + 0xd]
movzx edx, byte [esp + 0xe]
mov byte [esp + 0x31], al
mov byte [esp + 0x32], cl
mov byte [esp + 0x33], dl
lea eax, [0x538380]
mov dword [esp], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
lea edx, [esp + 0x31]
mov dword [esp + 8], edx
call fcn.0040d3f0
movzx eax, byte [esp + 0x10]
test al, al
je 0x4fdd37
mov edx, dword [esp + 0xc]
movzx esi, byte [edx]
mov edx, dword [esp + 0x48]
lea ecx, [edx - 6]
neg ecx
shl esi, cl
cmp cl, 0x20
sbb ebx, ebx
and esi, ebx
movzx ebx, byte [esp + 0x2c]
or esi, ebx
jmp 0x4fdc91
mov edx, dword [esp + 0x168]
movzx ebx, byte [edx + 0x18]
test bl, bl
je 0x4fdff4
mov dword [esp + 0x13c], 0
mov dword [esp + 0x140], 0
mov dword [esp + 0x144], 0
mov dword [esp + 0x148], 0
lea eax, [0x53ae00]
mov dword [esp], eax
lea ecx, [esp + 0x31]
mov dword [esp + 4], ecx
call fcn.00409a30
mov eax, dword [esp + 8]
lea ecx, [0x53ae00]
mov dword [esp + 0x13c], ecx
mov dword [esp + 0x140], eax
mov eax, dword [esp + 0x58]
mov dword [esp], eax
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0x144], ecx
mov dword [esp + 0x148], eax
lea edi, [esp + 0x14c]
xor eax, eax
call fcn.00468aaa
lea ecx, [0x4fe9b0]
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x154], 0x1c
lea edx, [0x54da53]
mov dword [esp + 0x150], edx
mov dword [esp + 0x15c], 2
mov dword [esp + 0x160], 2
lea ebx, [esp + 0x13c]
mov dword [esp + 0x158], ebx
mov ebx, dword [0x68b9c4]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], 2
lea ebx, [esp + 0x14c]
mov dword [esp + 0xc], ebx
call fcn.004b1180
mov dword [esp + 0x12c], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov eax, dword [esp + 0x40]
mov dword [esp], eax
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], eax
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0x134], ecx
mov dword [esp + 0x138], eax
lea edi, [esp + 0x14c]
xor eax, eax
call fcn.00468aaa
lea ecx, [0x4fe930]
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x154], 0xd
lea edx, [0x547f75]
mov dword [esp + 0x150], edx
mov dword [esp + 0x15c], 2
mov dword [esp + 0x160], 2
lea ebx, [esp + 0x12c]
mov dword [esp + 0x158], ebx
mov ebx, dword [0x68b9c4]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], 2
lea ebx, [esp + 0x14c]
mov dword [esp + 0xc], ebx
call fcn.004b1180
mov dword [esp + 0xb4], 0
mov dword [esp + 0xb8], 0
lea eax, [0x538380]
mov dword [esp + 0xb4], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xb8], ecx
lea edi, [esp + 0x14c]
xor eax, eax
call fcn.00468aaa
lea ecx, [0x4fe8b0]
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x154], 0xf
lea edx, [0x548764]
mov dword [esp + 0x150], edx
mov dword [esp + 0x15c], 1
mov dword [esp + 0x160], 1
lea ebx, [esp + 0xb4]
mov dword [esp + 0x158], ebx
mov ebx, dword [0x68b9c4]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], 2
lea ebx, [esp + 0x14c]
mov dword [esp + 0xc], ebx
call fcn.004b1180
mov edx, dword [esp + 0x168]
mov edx, dword [esp + 0x48]
movzx esi, byte [esp + 0x2c]
jmp 0x4fdc91
mov eax, edi
mov ecx, 0x800
call fcn.004688d0
mov edi, dword [esp + 0x54]
mov byte [esp + edi + 0x974], al
lea ecx, [edi + 1]
mov eax, edx
mov edx, ebp
mov ebp, esi
cmp ecx, 0x3e8
jge 0x4fe0f5
mov dword [esp + 0x54], ecx
mov dword [esp + 0x50], ebp
mov dword [esp + 0x8c], ebx
mov dword [esp + 0x4c], edx
mov dword [esp], ecx
call fcn.004f26c0
mov eax, dword [esp + 4]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x34], ecx
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov edx, dword [esp + 0x168]
xor ebx, ebx
jmp 0x4fe2bb
mov ebx, dword [esp + 0x8c]
mov ebp, dword [esp + 0x4c]
xor eax, eax
xor ecx, ecx
jmp 0x4fe2d5
cmp ebp, eax
jmp 0x4fe091
mov eax, ecx
jle 0x4fe09c
mov esi, dword [esp + 0x50]
jmp 0x4fe00e
inc ebp
mov esi, dword [esp + 0x50]
cmp esi, ebp
jae 0x4fe0dc
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x52c2a0]
mov dword [esp + 0x10], eax
call fcn.0044f350
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x168]
mov esi, eax
lea edi, [ebx + ebp*8 - 8]
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x74]
mov dword [edi], eax
mov dword [edi + 4], ecx
lea eax, [ebp - 1]
jmp 0x4fe00e
cmp edx, 0x100
jg 0x4fe104
xor ecx, ecx
jmp 0x4fe1b3
mov dword [esp + 0xdc], 0
mov dword [esp + 0xe0], 0
mov dword [esp + 0xe4], 0
mov dword [esp + 0xe8], 0
mov dword [esp], edx
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0xdc], ecx
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], ecx
lea eax, [0x5d34c8]
mov dword [esp + 0xe8], eax
lea eax, [0x552a67]
mov dword [esp], eax
mov dword [esp + 4], 0x2e
lea eax, [esp + 0xdc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call fcn.004a1ec0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xdb8], eax
mov dword [esp + 0xdbc], ecx
add esp, 0x164
ret
inc ecx
cmp ecx, edx
jge 0x4fe1e1
lea ebp, [ebx + ecx*8]
mov esi, dword [ebp + 4]
mov ebp, dword [ebp]
mov dword [esp + 0x78], ebp
mov dword [esp + 0x7c], esi
mov ebp, dword [esp + 0x78]
mov dword [esp + 0x80], ebp
mov dword [esp + 0x84], esi
xor ebp, ebp
jmp 0x4fe293
movzx eax, byte [eax + 0x1a]
test al, al
jne 0x4fe264
mov dword [esp + 0xa4], 0
mov dword [esp + 0xa8], 0
mov dword [esp], edx
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0xa8], eax
mov eax, dword [0x68b9cc]
lea ecx, [0x5d4354]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea eax, [0x550255]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x24
lea eax, [esp + 0xa4]
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 1
call fcn.004a48b0
mov dword [esp + 0xdb8], 0
mov dword [esp + 0xdbc], 0
add esp, 0x164
ret
movzx edi, byte [esp + ebp + 0x80]
xchg edi, eax
mov byte [esp + esi + 0x174], al
xchg edi, eax
inc ebp
cmp ebp, 8
jge 0x4fe1b2
lea esi, [ebp + ecx*8]
cmp esi, 0x800
jb 0x4fe281
mov eax, esi
mov ecx, 0x800
call fcn.004688d0
xchg esi, eax
mov byte [esp + ebx + 0x70], al
xchg esi, eax
inc ebx
cmp ebx, 8
jge 0x4fe077
mov dword [esp + 0x64], ebx
xor ebp, ebp
xor esi, esi
jmp 0x4fe30f
lea esi, [eax + 1]
mov ecx, eax
mov eax, esi
cmp ebp, eax
jle 0x4fe08f
lea esi, [ebx + eax*8]
mov esi, dword [esi]
cmp dword [esp + 0x70], esi
jne 0x4fe2ce
lea esi, [ebx + eax*8 + 4]
mov esi, dword [esi]
cmp dword [esp + 0x74], esi
jne 0x4fe2ce
jmp 0x4fe08b
lea ebp, [edx + 2]
mov eax, dword [esp + 0x3c]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x168]
mov ebx, dword [esp + 0x64]
cmp ebp, 8
jge 0x4fe2b4
mov dword [esp + 0x44], ebp
xchg esi, eax
mov byte [esp + 0x2b], al
xchg esi, eax
mov dword [esp], edx
lea esi, [ebp + eax]
mov dword [esp + 4], esi
lea esi, [ebx + ecx]
mov dword [esp + 8], esi
call fcn.004f2650
movzx eax, byte [esp + 0xc]
movzx ecx, byte [esp + 0xd]
movzx edx, byte [esp + 0xe]
mov byte [esp + 0x2e], al
mov byte [esp + 0x2f], cl
mov byte [esp + 0x30], dl
lea eax, [0x538380]
mov dword [esp], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 4], ecx
lea edx, [esp + 0x2e]
mov dword [esp + 8], edx
call fcn.0040d3f0
movzx eax, byte [esp + 0x10]
test al, al
je 0x4fe39f
mov edx, dword [esp + 0xc]
movzx esi, byte [edx]
mov edx, dword [esp + 0x44]
lea ecx, [edx - 6]
neg ecx
shl esi, cl
cmp cl, 0x20
sbb ebx, ebx
and esi, ebx
movzx ebx, byte [esp + 0x2b]
or esi, ebx
jmp 0x4fe2f9
mov edx, dword [esp + 0x168]
movzx ebx, byte [edx + 0x18]
test bl, bl
je 0x4fe65c
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
lea eax, [0x53ae00]
mov dword [esp], eax
lea ecx, [esp + 0x2e]
mov dword [esp + 4], ecx
call fcn.00409a30
mov eax, dword [esp + 8]
lea ecx, [0x53ae00]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x54]
mov dword [esp], eax
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0x124], ecx
mov dword [esp + 0x128], eax
lea edi, [esp + 0x14c]
xor eax, eax
call fcn.00468aaa
lea ecx, [0x4fe830]
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x154], 0x1c
lea edx, [0x54da53]
mov dword [esp + 0x150], edx
mov dword [esp + 0x15c], 2
mov dword [esp + 0x160], 2
lea ebx, [esp + 0x11c]
mov dword [esp + 0x158], ebx
mov ebx, dword [0x68b9c4]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], 2
lea ebx, [esp + 0x14c]
mov dword [esp + 0xc], ebx
call fcn.004b1180
mov dword [esp + 0x10c], 0
mov dword [esp + 0x110], 0
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.00409b00
mov eax, dword [esp + 4]
lea ecx, [0x52aa00]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], eax
lea edi, [esp + 0x14c]
xor eax, eax
call fcn.00468aaa
lea ecx, [0x4fe7b0]
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x154], 0xd
lea edx, [0x547f75]
mov dword [esp + 0x150], edx
mov dword [esp + 0x15c], 2
mov dword [esp + 0x160], 2
lea ebx, [esp + 0x10c]
mov dword [esp + 0x158], ebx
mov ebx, dword [0x68b9c4]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], 2
lea ebx, [esp + 0x14c]
mov dword [esp + 0xc], ebx
call fcn.004b1180
mov dword [esp + 0xac], 0
mov dword [esp + 0xb0], 0
lea eax, [0x538380]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x88]
mov dword [esp + 0xb0], ecx
lea edi, [esp + 0x14c]
xor eax, eax
call fcn.00468aaa
lea ecx, [0x4fe730]
mov dword [esp + 0x14c], ecx
mov dword [esp + 0x154], 0xf
lea edx, [0x548764]
mov dword [esp + 0x150], edx
mov dword [esp + 0x15c], 1
mov dword [esp + 0x160], 1
lea ebx, [esp + 0xac]
mov dword [esp + 0x158], ebx
mov ebx, dword [0x68b9c4]
mov dword [esp], ebx
mov dword [esp + 4], 0
mov dword [esp + 8], 2
lea ebx, [esp + 0x14c]
mov dword [esp + 0xc], ebx
call fcn.004b1180
mov edx, dword [esp + 0x168]
mov edx, dword [esp + 0x44]
movzx esi, byte [esp + 0x2b]
jmp 0x4fe2f9
mov dword [eax + 0x1034], edi
xchg ebp, eax
mov byte [edi + ecx - 1], al
xchg ebp, eax
inc ebx
mov ecx, dword [esp + 0x90]
cmp ebx, edx
jge 0x4fd701
lea ebp, [ecx + ebx*4]
mov esi, dword [eax + 0x1038]
mov edi, dword [eax + 0x1034]
inc edi
movzx ebp, byte [ebp]
mov ecx, dword [eax + 0x1030]
cmp esi, edi
jae 0x4fe66a
mov dword [esp + 0x6c], ebx
xchg ebp, eax
mov byte [esp + 0x2d], al
xchg ebp, eax
mov dword [esp], ecx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x52abc0]
mov dword [esp + 0x10], eax
call fcn.0044f350
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x168]
mov dword [ebx + 0x1038], eax
mov eax, dword [0x6b2320]
test eax, eax
je 0x4fe703
call fcn.00468870
mov dword [edi], ecx
mov eax, dword [ebx + 0x1030]
mov dword [edi + 4], eax
mov dword [ebx + 0x1030], ecx
mov eax, ebx
mov ebx, dword [esp + 0x6c]
movzx ebp, byte [esp + 0x2d]
mov edi, edx
mov edx, dword [esp + 0x5c]
jmp 0x4fe66a
call fcn.00467460
jmp fcn.004fd590