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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x6c]
cmp eax, dword [ecx + 8]
jbe 0x4aca29
sub esp, 0xec
mov ecx, dword [esp + 0x104]
test ecx, ecx
jle 0x4aabea
mov edx, dword [esp + 0xfc]
test edx, edx
je 0x4aabf1
test edx, 0x60
jne 0x4aabf1
nop
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.00484ee0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xf0]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x4aabaf
mov dword [edx + 0x10], eax
jmp 0x4aabb7
lea edi, [edx + 0x10]
call fcn.00456ac0
mov dword [esp], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 4], eax
call fcn.004a9c40
movzx eax, byte [esp + 8]
test al, al
jne 0x4aabe3
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0xfc]
jmp 0x4aabf1
add esp, 0xec
ret
mov edx, dword [esp + 0xfc]
mov edi, dword [esp + 0xf0]
mov dword [edi + 0xc], 0
mov ebx, dword [0x900e70]
test ebx, ebx
jne 0x4aac12
mov dword [edi + 0x10], 0
jmp 0x4aac22
lea ebx, [edi + 0x10]
xor eax, eax
mov ebp, edi
mov edi, ebx
call fcn.00456ac0
mov edi, ebp
mov dword [edi + 0x1c], edx
mov ebx, dword [0x900e70]
test ebx, ebx
jne 0x4aac45
mov ebx, dword [esp + 0xf4]
mov dword [edi + 0x14], ebx
mov ebp, dword [esp + 0xf8]
mov dword [edi + 0x18], ebp
jmp 0x4aac72
lea ebx, [edi + 0x14]
mov eax, dword [esp + 0xf4]
mov ebp, edi
mov edi, ebx
call fcn.00456ac0
lea edi, [ebp + 0x18]
mov ebx, eax
mov eax, dword [esp + 0xf8]
call fcn.00456ac0
mov ebp, eax
mov edi, dword [esp + 0xf0]
nop
nop
mov esi, edx
and edx, 0x1f
cmp edx, 0x10
jbe 0x4aba78
cmp edx, 0x15
ja 0x4ab215
cmp edx, 0x13
ja 0x4aac9e
cmp edx, 0x11
je 0x4ab227
jmp 0x4aba15
cmp edx, 0x14
je 0x4aaf9e
movzx edx, byte [edi + 0x2c]
test dl, dl
je 0x4aaeda
test esi, 0x200
jne 0x4aacc3
lea eax, [0x7cc4c4]
jmp 0x4aacdd
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00486640
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
mov eax, dword [eax + 0x80]
mov dword [esp], ebx
call eax
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 4]
lea ebx, [eax + edx]
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4aad4f
mov dword [esp + 0x7c], edx
mov dword [esp + 0x58], eax
mov dword [esp + 0x9c], ebp
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x7347e0]
mov dword [esp + 0x10], ecx
call fcn.00442820
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x58]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0xb4], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00457450
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4aada8
mov edx, dword [esp + 0xb4]
mov dword [edi], edx
mov ebx, dword [esp + 0xfc]
test ebx, 0x200
jmp 0x4aadcc
mov edx, eax
mov eax, dword [esp + 0xb4]
call fcn.00456ac0
mov ebx, dword [esp + 0xfc]
test ebx, 0x200
mov eax, edx
mov edx, dword [esp + 0xb4]
je 0x4aadd7
mov ebp, dword [esp + 0xf8]
jmp 0x4aadf8
test ebx, 0x80
je 0x4aadeb
mov ebp, dword [esp + 0xf8]
mov esi, dword [ebp]
jmp 0x4aadf4
mov ebp, dword [esp + 0xf8]
mov esi, ebp
test esi, esi
je 0x4aae67
inc eax
cmp ecx, eax
jae 0x4aae5a
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4aae43
mov dword [edi], eax
jmp 0x4aae48
call fcn.00456ac0
mov ebx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
mov edx, eax
mov eax, ecx
mov dword [edi + 4], eax
mov byte [eax + edx - 1], 0x7b
jmp 0x4aaf6c
nop
lea ebx, [eax + 5]
cmp ecx, ebx
jae 0x4aaeac
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 5
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov edx, edi
mov ecx, esi
mov edi, dword [esp + 0xf0]
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x4aaecc
mov dword [edi], edx
jmp 0x4aaed3
mov eax, edx
call fcn.00456ac0
add esp, 0xec
ret
nop
mov edx, dword [edi + 4]
mov eax, ecx
lea ecx, [edx + 4]
mov esi, dword [edi + 8]
mov ebp, dword [edi]
cmp esi, ecx
jae 0x4aaf37
mov dword [esp + 0x7c], edx
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 4
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x104]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xf4]
mov edi, dword [esp + 0xf0]
mov dword [ebp + edx], 0x5b70616d
mov dword [edi + 4], ecx
mov dword [edi + 8], esi
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x4aaf53
mov dword [edi], ebp
jmp 0x4aaf5e
mov ecx, eax
mov eax, ebp
call fcn.00456ac0
mov eax, ecx
mov ebx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call fcn.00488ae0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov dword [esp + 0x7c], edx
xor ebx, ebx
jmp 0x4ac71d
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00484a90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test edx, edx
jne 0x4ab1de
mov edi, dword [esp + 0xf0]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4ab161
mov eax, dword [esp + 0xfc]
test eax, 0x200
jne 0x4aaff2
lea eax, [0x7cc4c4]
mov ecx, dword [esp + 0xf4]
jmp 0x4ab018
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00486640
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 4]
lea ebx, [eax + edx]
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4ab08a
mov dword [esp + 0x7c], edx
mov dword [esp + 0x50], eax
mov dword [esp + 0x94], ebp
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x7347e0]
mov dword [esp + 0x10], ecx
call fcn.00442820
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x94]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0xb4], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00457450
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ab0d6
mov edx, dword [esp + 0xb4]
mov dword [edi], edx
jmp 0x4ab0ed
mov edx, eax
mov eax, dword [esp + 0xb4]
call fcn.00456ac0
mov eax, edx
mov edx, dword [esp + 0xb4]
nop
lea ebx, [eax + 5]
cmp ecx, ebx
jae 0x4ab132
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 5
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov edx, edi
mov ecx, esi
mov edi, dword [esp + 0xf0]
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x4ab155
mov dword [edi], edx
jmp 0x4abdb3
mov eax, edx
call fcn.00456ac0
jmp 0x4abdb3
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x4ab1ae
mov dword [esp + 0x7c], ecx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 5
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x4ab1d2
mov dword [edi], ebp
jmp 0x4abdb3
mov eax, ebp
call fcn.00456ac0
jmp 0x4abdb3
mov ebx, dword [esp + 0xf0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x104]
inc eax
mov dword [esp + 0x14], eax
call fcn.004aab20
jmp 0x4abdb3
cmp edx, 0x17
ja 0x4ab862
cmp edx, 0x16
je 0x4ab6ed
mov dword [esp + 0x74], edx
mov eax, dword [esp + 0x100]
cmp eax, 0x71
jg 0x4ab246
cmp eax, 0x58
je 0x4ab254
cmp eax, 0x71
je 0x4ab254
jmp 0x4ab439
cmp eax, 0x73
je 0x4ab254
cmp eax, 0x78
jne 0x4ab439
test esi, 0x200
jne 0x4ab26f
mov dword [esp + 0x80], eax
lea eax, [0x7cc4c4]
mov dword [esp + 0x3c], eax
jmp 0x4ab28d
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00486640
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov ebx, ecx
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x28]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x50]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x4ab40b
mov eax, dword [esp + 0x74]
cmp eax, 0x17
je 0x4ab3b9
mov eax, dword [esp + 0xfc]
test eax, 0x100
jne 0x4ab324
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004850d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
lea ecx, [0x7347e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.004426a0
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb0], eax
xor ecx, ecx
jmp 0x4ac5be
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004850d0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.004862b0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
cmp dword [0x8da208], eax
jne 0x4ab398
mov eax, dword [ecx]
mov edx, dword [ecx + 4]
mov ecx, dword [ecx + 8]
jmp 0x4ac5a5
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00483ba0
mov eax, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
jmp 0x4ac5a5
mov eax, dword [esp + 0xf4]
cmp dword [0x8da208], eax
jne 0x4ab3dc
mov eax, dword [esp + 0xf8]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x4ac534
mov dword [esp], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 8], eax
call fcn.00483ba0
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
jmp 0x4ac534
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0x104]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0xf0]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4ab66d
test esi, 0x200
jne 0x4ab455
lea ecx, [0x7cc4c4]
jmp 0x4ab471
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00486640
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
mov ecx, eax
mov eax, dword [ecx + 0x80]
mov dword [esp], ebx
call eax
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 4]
lea ebx, [eax + edx]
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4ab4e3
mov dword [esp + 0x7c], edx
mov dword [esp + 0x4c], eax
mov dword [esp + 0x90], ebp
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x7347e0]
mov dword [esp + 0x10], ecx
call fcn.00442820
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x90]
mov dword [esp + 0x7c], esi
mov dword [esp + 0x78], ebx
mov dword [esp + 0xb4], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00457450
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x7c]
mov dword [edi + 8], ecx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ab52f
mov edx, dword [esp + 0xb4]
mov dword [edi], edx
jmp 0x4ab546
mov edx, eax
mov eax, dword [esp + 0xb4]
call fcn.00456ac0
mov eax, edx
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0x74]
cmp ebx, 0x17
jne 0x4ab5d4
mov ebp, dword [esp + 0xf8]
mov esi, dword [ebp]
test esi, esi
jne 0x4ab5db
nop
lea ebx, [eax + 5]
cmp ecx, ebx
jae 0x4ab5a6
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 5
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x78]
mov edx, edi
mov ecx, esi
mov edi, dword [esp + 0xf0]
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x4ab5c6
mov dword [edi], edx
jmp 0x4ab5cd
mov eax, edx
call fcn.00456ac0
add esp, 0xec
ret
mov ebp, dword [esp + 0xf8]
lea esi, [eax + 1]
cmp ecx, esi
jb 0x4ab5e7
cmp ebx, 0x17
jmp 0x4ab64d
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ab634
mov dword [edi], eax
mov edx, dword [esp + 0x74]
cmp edx, 0x17
jmp 0x4ab640
call fcn.00456ac0
mov edx, dword [esp + 0x74]
cmp edx, 0x17
mov ebx, edx
mov ebp, dword [esp + 0xf8]
mov esi, ecx
mov edx, eax
mov dword [edi + 4], esi
mov byte [esi + edx - 1], 0x7b
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xf4]
mov eax, 0
jmp 0x4ac3e5
mov ecx, dword [edi + 4]
inc ecx
mov eax, dword [edi]
mov esi, dword [edi + 8]
cmp esi, ecx
jae 0x4ab6d7
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ab6c0
mov dword [edi], eax
jmp 0x4ab6c5
call fcn.00456ac0
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov dword [edi + 4], ecx
mov byte [ecx + eax - 1], 0x5b
mov eax, dword [esp + 0xfc]
xor ecx, ecx
jmp 0x4ac21a
test ecx, ecx
je 0x4ab6f5
xor eax, eax
jmp 0x4ab731
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00485c60
mov eax, dword [esp + 0xc]
test eax, eax
setne al
mov ecx, dword [esp + 0x104]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0xf0]
test al, al
je 0x4aba15
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00484a90
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
nop
mov edx, dword [esp + 0x14]
mov ebx, edx
and edx, 0x1f
cmp edx, 0x15
ja 0x4ab76f
cmp edx, 0x11
je 0x4ab77d
cmp edx, 0x15
je 0x4ab77d
jmp 0x4ab841
cmp edx, 0x17
je 0x4ab77d
cmp edx, 0x19
jne 0x4ab841
nop
mov edx, dword [esp + 0xf0]
mov ebp, dword [edx + 4]
inc ebp
mov esi, dword [edx]
mov edi, dword [edx + 8]
cmp edi, ebp
jae 0x4ab807
mov dword [esp + 0xac], eax
mov dword [esp + 0xb0], ecx
mov dword [esp + 0x74], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ab7ea
mov dword [edi], eax
jmp 0x4ab7ef
call fcn.00456ac0
mov edx, edi
mov ebx, dword [esp + 0x74]
mov ebp, ecx
mov esi, eax
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xb0]
mov dword [edx + 4], ebp
mov byte [ebp + esi - 1], 0x26
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x104]
inc eax
mov dword [esp + 0x14], eax
call fcn.004aab20
add esp, 0xec
ret
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov edi, dword [esp + 0xf0]
jmp 0x4aba15
cmp edx, 0x18
je 0x4aba52
cmp edx, 0x19
jne 0x4aba10
movzx eax, byte [edi + 0x2c]
test al, al
je 0x4ab990
test esi, 0x200
jne 0x4ab890
lea eax, [0x7cc4c4]
jmp 0x4ab8aa
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00486640
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
mov eax, dword [eax + 0x80]
mov dword [esp], ebx
call eax
nop
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xf0]
mov edx, dword [ecx + 4]
lea ebx, [edx + eax]
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4ab91c
mov dword [esp + 0x98], ebp
mov dword [esp + 0x54], eax
mov dword [esp + 0x7c], edx
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x7347e0]
mov dword [esp + 0x10], ecx
call fcn.00442820
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov edx, dword [esp + 0x7c]
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x7c], esi
mov dword [esp + 0xb4], edi
mov dword [esp + 0x78], ebx
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.00457450
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [edi + 8], eax
mov eax, dword [0x900e70]
test eax, eax
jne 0x4ab968
mov eax, dword [esp + 0xb4]
mov dword [edi], eax
jmp 0x4ab974
mov eax, dword [esp + 0xb4]
call fcn.00456ac0
mov ecx, dword [esp + 0x104]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov eax, dword [edi + 4]
inc eax
mov edx, dword [edi]
mov ecx, dword [edi + 8]
cmp ecx, eax
jae 0x4aba01
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ab9e3
mov dword [edi], eax
jmp 0x4ab9e8
call fcn.00456ac0
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov edx, eax
mov eax, ecx
mov dword [edi + 4], eax
mov byte [eax + edx - 1], 0x7b
xor eax, eax
jmp 0x4abe3d
cmp edx, 0x1a
jne 0x4aba39
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004a92e0
jmp 0x4abdb3
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.004a7bb0
jmp 0x4abdb3
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x100]
mov dword [esp + 0xc], eax
call fcn.004a8aa0
jmp 0x4abdb3
cmp edx, 0xc
ja 0x4abce1
cmp edx, 1
ja 0x4abc04
test edx, edx
jne 0x4abbe3
test ecx, ecx
jne 0x4abb49
nop
mov eax, dword [edi + 4]
lea ecx, [eax + 0x17]
mov edx, dword [edi + 8]
mov ebx, dword [edi]
cmp edx, ecx
jae 0x4abae0
mov dword [esp + 0x7c], eax
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x17
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x7c], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0xb4], ebx
add eax, ebx
mov dword [esp], eax
lea eax, [0x76f6d7]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.00457450
mov eax, dword [esp + 0x78]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x7c]
mov dword [edi + 8], eax
mov eax, dword [0x900e70]
test eax, eax
jne 0x4abb38
mov eax, dword [esp + 0xb4]
mov dword [edi], eax
jmp 0x4abdb3
mov eax, dword [esp + 0xb4]
call fcn.00456ac0
jmp 0x4abdb3
mov ecx, dword [esp + 0x100]
cmp ecx, 0x76
jne 0x4abbd2
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x4abba2
mov dword [esp + 0x7c], ecx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 5
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x4abbc6
mov dword [edi], ebp
jmp 0x4abdb3
mov eax, ebp
call fcn.00456ac0
jmp 0x4abdb3
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.004a7e20
jmp 0x4abdb3
nop
movzx eax, byte [ebp]
mov dword [esp], edi
mov byte [esp + 4], al
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
call fcn.004a8370
jmp 0x4abdb3
cmp edx, 6
ja 0x4abc78
cmp edx, 3
ja 0x4abc28
cmp edx, 2
jne 0x4abc1d
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4abc53
movsx eax, byte [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4abc53
cmp edx, 4
jne 0x4abc38
movsx eax, word [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4abc53
cmp edx, 5
jne 0x4abc47
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4abc53
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov edx, eax
mov eax, ecx
mov ecx, edx
mov dword [esp], edi
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
mov byte [esp + 0xc], 1
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004a8460
jmp 0x4abdb3
cmp edx, 9
ja 0x4abc9e
cmp edx, 7
jne 0x4abc89
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4abcbc
cmp edx, 8
jne 0x4abc96
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x4abcbc
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x4abcbc
cmp edx, 0xa
jne 0x4abcaa
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4abcbc
cmp edx, 0xb
jne 0x4abcb7
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
jmp 0x4abcbc
mov eax, dword [ebp]
xor ecx, ecx
mov dword [esp], edi
mov dword [esp + 8], ecx
mov dword [esp + 4], eax
mov byte [esp + 0xc], 0
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004a8460
jmp 0x4abdb3
cmp edx, 0xe
ja 0x4abd42
cmp edx, 0xd
jne 0x4abd1a
movss xmm0, dword [ebp]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004a8780
jmp 0x4abdb3
movsd xmm0, qword [ebp]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
call fcn.004a8780
jmp 0x4abdb3
cmp edx, 0xf
jne 0x4abd82
movss xmm0, dword [ebp]
movss xmm1, dword [ebp + 4]
mov dword [esp], edi
cvtss2sd xmm0, xmm0
movsd qword [esp + 4], xmm0
cvtss2sd xmm0, xmm1
movsd qword [esp + 0xc], xmm0
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0x100]
mov dword [esp + 0x18], eax
call fcn.004a88e0
jmp 0x4abdb3
movsd xmm0, qword [ebp]
movsd xmm1, qword [ebp + 8]
mov dword [esp], edi
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0x100]
mov dword [esp + 0x18], eax
call fcn.004a88e0
add esp, 0xec
ret
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004a7b20
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x104]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004aab20
mov eax, dword [esp + 0x6c]
inc eax
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xfc]
mov dword [esp + 0x6c], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00485bb0
mov eax, dword [esp + 0x6c]
cmp dword [esp + 0xc], eax
jle 0x4ac120
test eax, eax
jle 0x4abf57
mov edi, dword [esp + 0xf0]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4abeef
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x4abec7
mov dword [esp + 0x7c], ecx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 2
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov word [ebp + ecx], 0x202c
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x4abee2
mov dword [edi], ebp
jmp 0x4abf5e
mov ecx, eax
mov eax, ebp
call fcn.00456ac0
mov eax, ecx
jmp 0x4abf5e
mov ecx, dword [edi + 4]
inc ecx
mov edx, dword [edi]
mov ebx, dword [edi + 8]
cmp ebx, ecx
jae 0x4abf4d
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4abf42
mov dword [edi], eax
jmp 0x4abf47
call fcn.00456ac0
mov edx, eax
mov eax, dword [esp + 0x6c]
mov dword [edi + 4], ecx
mov byte [ecx + edx - 1], 0x20
jmp 0x4abf5e
mov edi, dword [esp + 0xf0]
movzx ecx, byte [edi + 0x2b]
test cl, cl
jne 0x4abf72
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4abdba
mov ecx, dword [esp + 0xfc]
test ecx, 0x200
jne 0x4abf90
lea edx, [0x7cc4c4]
mov ebx, dword [esp + 0xf4]
jmp 0x4abfbe
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call fcn.00486640
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, eax
mov ebx, ecx
mov eax, dword [esp + 0x6c]
mov ecx, dword [edx + 0x2c]
mov dword [esp], ebx
mov dword [esp + 4], eax
call ecx
lea edi, [esp + 0xb8]
lea esi, [esp + 8]
call fcn.004571ee
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xb8]
test eax, eax
je 0x4ac110
nop
mov edx, dword [esp + 0xf0]
mov ebx, dword [edx + 4]
lea ebp, [eax + ebx]
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp esi, ebp
jae 0x4ac04f
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x5c], eax
mov dword [esp + 0xa4], ecx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
lea ecx, [0x7347e0]
mov dword [esp + 0x10], ecx
call fcn.00442820
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0xb4], edi
mov dword [esp + 0x78], esi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00457450
mov eax, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x78]
mov dword [edi + 8], ecx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ac09b
mov edx, dword [esp + 0xb4]
mov dword [edi], edx
jmp 0x4ac0b2
mov edx, eax
mov eax, dword [esp + 0xb4]
call fcn.00456ac0
mov eax, edx
mov edx, dword [esp + 0xb4]
inc eax
cmp ecx, eax
jae 0x4ac106
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ac0fd
mov dword [edi], eax
jmp 0x4ac102
call fcn.00456ac0
mov edx, eax
mov eax, ecx
mov dword [edi + 4], eax
mov byte [eax + edx - 1], 0x3a
jmp 0x4ac117
mov edi, dword [esp + 0xf0]
mov eax, dword [esp + 0x6c]
jmp 0x4abdba
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, ecx
jae 0x4ac183
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ac17a
mov dword [edi], eax
jmp 0x4ac17f
call fcn.00456ac0
mov edx, eax
mov eax, edi
mov dword [eax + 4], ecx
mov byte [ecx + edx - 1], 0x7d
jmp 0x4abdb3
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call fcn.00484d30
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x104]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004aab20
mov eax, dword [esp + 0x60]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xf4]
mov eax, ebx
mov edx, dword [esp + 0x74]
mov ebx, esi
mov edi, dword [esp + 0xf0]
mov dword [esp + 0x60], ecx
cmp edx, 0x17
jne 0x4ac228
mov esi, dword [ebp + 4]
jmp 0x4ac260
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.004850d0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x74]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov edi, dword [esp + 0xf0]
cmp esi, ecx
jle 0x4ac2f2
test ecx, ecx
jle 0x4ac190
mov esi, dword [edi + 4]
inc esi
mov edx, dword [edi]
mov ecx, dword [edi + 8]
cmp ecx, esi
jae 0x4ac2e1
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ac2c3
mov dword [edi], eax
jmp 0x4ac2c8
call fcn.00456ac0
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf8]
mov esi, ecx
mov edx, eax
mov eax, dword [esp + 0xfc]
mov dword [edi + 4], esi
mov byte [esi + edx - 1], 0x20
mov ecx, dword [esp + 0x60]
jmp 0x4ac190
nop
mov eax, dword [edi + 4]
inc eax
mov ecx, dword [edi]
mov edx, dword [edi + 8]
cmp edx, eax
jae 0x4ac351
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ac346
mov dword [edi], eax
jmp 0x4ac34b
call fcn.00456ac0
mov edx, eax
mov eax, ecx
mov ecx, edx
mov dword [edi + 4], eax
mov byte [eax + ecx - 1], 0x5d
jmp 0x4abdb3
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], eax
call fcn.00484d30
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x100]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x104]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004aab20
mov eax, dword [esp + 0x64]
inc eax
mov ebx, dword [esp + 0x74]
cmp ebx, 0x17
mov ecx, dword [esp + 0xf0]
mov edx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xf4]
mov ecx, edx
mov edx, esi
mov edi, dword [esp + 0xf0]
mov dword [esp + 0x64], eax
jne 0x4ac3f0
mov esi, dword [ebp + 4]
jmp 0x4ac428
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call fcn.004850d0
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0xfc]
mov edx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x74]
mov ebp, dword [esp + 0xf8]
mov edi, dword [esp + 0xf0]
cmp esi, eax
jle 0x4ac4c8
test eax, eax
jle 0x4ac35e
mov esi, dword [edi + 4]
lea ebx, [esi + 2]
mov ecx, dword [edi + 8]
mov ebp, dword [edi]
cmp ecx, ebx
jae 0x4ac48f
mov dword [esp + 0x7c], esi
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 2
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x64]
mov edx, dword [esp + 0xf4]
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0xf0]
mov word [ebp + esi], 0x202c
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x900e70]
test ecx, ecx
jne 0x4ac4aa
mov dword [edi], ebp
jmp 0x4ac4b5
mov ecx, eax
mov eax, ebp
call fcn.00456ac0
mov eax, ecx
mov ecx, dword [esp + 0xfc]
mov ebp, dword [esp + 0xf8]
jmp 0x4ac35e
nop
mov eax, dword [edi + 4]
inc eax
mov ecx, dword [edi]
mov edx, dword [edi + 8]
cmp edx, eax
jae 0x4ac527
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ac51c
mov dword [edi], eax
jmp 0x4ac521
call fcn.00456ac0
mov edx, eax
mov eax, ecx
mov ecx, edx
mov dword [edi + 4], eax
mov byte [eax + ecx - 1], 0x7d
jmp 0x4abdb3
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov dword [esp + 0x8c], ecx
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x88]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xf0]
mov dword [esp], edx
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x44]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x100]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.004a8c40
add esp, 0xec
ret
mov ebx, eax
mov eax, ecx
mov ecx, ebx
jmp 0x4ac534
mov ebx, dword [esp + 0xb0]
mov byte [ebx + eax], dl
lea edx, [eax + 1]
mov eax, ebx
mov ecx, edx
mov edx, dword [esp + 0x40]
cmp ecx, edx
jge 0x4ac685
mov dword [esp + 0x68], ecx
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov edx, dword [esp + 0xf8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xfc]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.00484d30
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x74], eax
cmp eax, 9
ja 0x4ac646
cmp eax, 7
jne 0x4ac61e
mov edx, dword [ecx]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jmp 0x4ac67d
cmp eax, 8
jne 0x4ac632
movzx edx, byte [ecx]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jmp 0x4ac67d
cmp eax, 9
jne 0x4ac691
movzx edx, word [ecx]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jmp 0x4ac67d
cmp eax, 0xa
jne 0x4ac659
mov edx, dword [ecx]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jmp 0x4ac67d
cmp eax, 0xb
jne 0x4ac66c
mov edx, dword [ecx]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jmp 0x4ac67d
cmp eax, 0xc
jne 0x4ac691
mov edx, dword [ecx]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x40]
cmp eax, ecx
jb 0x4ac5ad
jmp 0x4ac68c
mov ecx, edx
jmp 0x4ac5a5
call fcn.00456b40
lea eax, [0x742ba0]
mov dword [esp], eax
call fcn.0040b440
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x76d73e]
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 8], ecx
lea ecx, [0x739d80]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00430590
lea ecx, [ebp + ebp*2]
mov edx, dword [ebx + ecx*4]
mov esi, dword [ebx + ecx*4 + 4]
mov ecx, dword [ebx + ecx*4 + 8]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x78]
mov dword [esp + 0x14], edx
call fcn.004aab20
mov eax, dword [esp + 0xb0]
lea ecx, [eax + 0xc]
mov eax, dword [esp + 0x70]
lea ebx, [eax + 1]
mov eax, dword [esp + 0xa0]
mov edx, dword [esp + 0x7c]
cmp ebx, edx
jge 0x4ac93e
mov dword [esp + 0x70], ebx
mov dword [esp + 0xb0], ecx
mov ebp, dword [ecx]
mov esi, dword [ecx + 4]
mov edi, edx
mov edx, dword [ecx + 8]
test ebx, ebx
jle 0x4ac87c
mov dword [esp + 0x74], edx
mov dword [esp + 0xa8], esi
mov dword [esp + 0xac], ebp
mov ecx, dword [esp + 0xf0]
movzx ebx, byte [ecx + 0x2c]
test bl, bl
je 0x4ac7fe
mov ebx, dword [ecx + 4]
lea edx, [ebx + 2]
mov esi, dword [ecx + 8]
mov ebp, dword [ecx]
cmp esi, edx
jae 0x4ac7be
mov dword [esp + 0x78], ebx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], 2
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x78]
mov edi, dword [esp + 0x7c]
mov word [ebp + ebx], 0x202c
mov dword [ecx + 4], edx
mov dword [ecx + 8], esi
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ac7d9
mov dword [ecx], ebp
jmp 0x4ac7ea
mov edx, edi
mov edi, ecx
mov ebx, eax
mov eax, ebp
call fcn.00456ac0
mov eax, ebx
mov edi, edx
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
jmp 0x4ac87c
nop
mov ebx, dword [ecx + 4]
inc ebx
mov edi, dword [ecx]
mov eax, dword [ecx + 8]
cmp eax, ebx
jae 0x4ac874
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ac852
mov dword [edi], eax
jmp 0x4ac857
call fcn.00456ac0
mov edx, dword [esp + 0x74]
mov ebp, dword [esp + 0xac]
mov esi, dword [esp + 0xa8]
mov ebx, ecx
mov edi, eax
mov ecx, dword [esp + 0xf0]
mov dword [ecx + 4], ebx
mov byte [ebx + edi - 1], 0x20
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], edx
mov ecx, dword [esp + 0x100]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x104]
lea ebx, [edx + 1]
mov dword [esp + 0x78], ebx
mov dword [esp + 0x14], ebx
call fcn.004aab20
nop
mov eax, dword [esp + 0xf0]
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, ecx
jae 0x4ac918
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ac90f
mov dword [edi], eax
jmp 0x4ac914
call fcn.00456ac0
mov edx, eax
mov eax, edi
mov dword [eax + 4], ecx
mov byte [ecx + edx - 1], 0x3a
mov edx, dword [esp + 0xa0]
mov ebx, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov ebp, dword [esp + 0x70]
cmp ebp, ecx
jb 0x4ac6cb
jmp 0x4aca21
mov eax, dword [esp + 0xf0]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4ac9b7
nop
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, ecx
jae 0x4ac9aa
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4ac9a1
mov dword [edi], eax
jmp 0x4ac9a6
call fcn.00456ac0
mov edx, eax
mov eax, edi
mov dword [eax + 4], ecx
mov byte [ecx + edx - 1], 0x7d
jmp 0x4abdb3
nop
mov ecx, dword [eax + 4]
inc ecx
mov edx, dword [eax]
mov ebx, dword [eax + 8]
cmp ebx, ecx
jae 0x4aca14
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x7347e0]
mov dword [esp + 0x10], eax
call fcn.00442820
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf0]
mov dword [edi + 8], edx
mov edx, dword [0x900e70]
test edx, edx
jne 0x4aca0b
mov dword [edi], eax
jmp 0x4aca10
call fcn.00456ac0
mov edx, eax
mov eax, edi
mov dword [eax + 4], ecx
mov byte [ecx + edx - 1], 0x5d
jmp 0x4abdb3
mov eax, ebp
call fcn.00456b40
nop
call fcn.00455690
jmp fcn.004aab20