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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0x70]
cmp eax, dword [ecx + 8]
jbe 0x4aa45e
sub esp, 0xf0
mov ecx, dword [esp + 0x108]
test ecx, ecx
jle 0x4a85d9
mov edx, dword [esp + 0x100]
test edx, edx
je 0x4a85e0
test edx, 0x60
jne 0x4a85e0
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov byte [esp + 0xc], 1
call fcn.0049e940
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xf4]
mov dword [edx + 0xc], ecx
mov ecx, dword [0x640ab0]
test ecx, ecx
jne 0x4a859e
mov dword [edx + 0x10], eax
jmp 0x4a85a6
lea edi, [edx + 0x10]
call fcn.0045f0c0
mov dword [esp], edx
mov eax, dword [esp + 0x104]
mov dword [esp + 4], eax
call fcn.004a7580
movzx eax, byte [esp + 8]
test al, al
jne 0x4a85d2
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x100]
jmp 0x4a85e0
add esp, 0xf0
ret
mov edx, dword [esp + 0x100]
mov edi, dword [esp + 0xf4]
mov dword [edi + 0xc], 0
mov ebx, dword [0x640ab0]
test ebx, ebx
jne 0x4a8601
mov dword [edi + 0x10], 0
jmp 0x4a8611
lea ebx, [edi + 0x10]
xor eax, eax
mov ebp, edi
mov edi, ebx
call fcn.0045f0c0
mov edi, ebp
mov dword [edi + 0x1c], edx
mov ebx, dword [0x640ab0]
test ebx, ebx
jne 0x4a8634
mov ebx, dword [esp + 0xf8]
mov dword [edi + 0x14], ebx
mov ebp, dword [esp + 0xfc]
mov dword [edi + 0x18], ebp
jmp 0x4a8661
lea ebx, [edi + 0x14]
mov eax, dword [esp + 0xf8]
mov ebp, edi
mov edi, ebx
call fcn.0045f0c0
lea edi, [ebp + 0x18]
mov ebx, eax
mov eax, dword [esp + 0xfc]
call fcn.0045f0c0
mov ebp, eax
mov edi, dword [esp + 0xf4]
nop
mov esi, edx
and edx, 0x1f
cmp edx, 0x10
jbe 0x4a9465
cmp edx, 0x15
ja 0x4a8c50
cmp edx, 0x13
ja 0x4a868c
cmp edx, 0x11
je 0x4a8c62
jmp 0x4a93e9
cmp edx, 0x14
je 0x4a89c1
movzx edx, byte [edi + 0x2c]
test dl, dl
jne 0x4a8739
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 0x4a870a
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ecx
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.004476c0
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x108]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov ebx, dword [esp + 0xf8]
mov edi, dword [esp + 0xf4]
mov dword [ebp + edx], 0x5b70616d
mov dword [edi + 4], ecx
mov dword [edi + 8], esi
mov ecx, dword [0x640ab0]
test ecx, ecx
jne 0x4a8729
mov dword [edi], ebp
jmp 0x4a88f5
mov ecx, eax
mov eax, ebp
call fcn.0045f0c0
mov eax, ecx
jmp 0x4a88f5
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0049fa10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x4c], eax
mov ecx, dword [esp + 0xf4]
mov edx, dword [ecx + 4]
mov dword [esp + 0x88], edx
lea ebx, [eax + edx]
mov dword [esp + 0x84], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4a87cb
mov dword [esp + 0xa0], ebp
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004476c0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0xa0]
mov dword [esp + 0x80], esi
mov dword [esp + 0xb8], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045fa10
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0xf4]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x80]
mov dword [edi + 8], ecx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4a881c
mov edx, dword [esp + 0xb8]
mov dword [edi], edx
jmp 0x4a8833
mov edx, eax
mov eax, dword [esp + 0xb8]
call fcn.0045f0c0
mov eax, edx
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x100]
test ebx, 0x200
je 0x4a884b
mov ebp, dword [esp + 0xfc]
jmp 0x4a887e
test ebx, 0x80
je 0x4a885f
mov ebp, dword [esp + 0xfc]
mov esi, dword [ebp]
jmp 0x4a8868
mov ebp, dword [esp + 0xfc]
mov esi, ebp
test esi, esi
xchg esi, ebx
setne bl
xchg esi, ebx
xor esi, 1
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4a8939
nop
mov esi, dword [esp + 0x88]
mov ebx, dword [esp + 0x4c]
lea ebx, [ebx + esi + 1]
cmp ecx, ebx
jae 0x4a88e4
lea ebp, [0x52a9e0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf4]
mov dword [edi + 8], edx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4a88d4
mov dword [edi], eax
jmp 0x4a88d9
call fcn.0045f0c0
mov ebp, dword [esp + 0xfc]
mov edx, eax
mov eax, ecx
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
mov ebx, dword [esp + 0xf8]
mov dword [esp], ebx
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
call fcn.004a1180
mov eax, dword [esp + 0xc]
mov ecx, dword [eax + 4]
mov edx, dword [eax]
test ecx, ecx
je 0x4aa0e3
mov dword [esp + 0x88], ecx
mov dword [esp + 0x90], eax
xor ebx, ebx
jmp 0x4aa1d9
nop
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x4c]
lea ebx, [ebp + ebx + 5]
cmp ecx, ebx
jae 0x4a8993
mov dword [esp + 0x88], ebx
lea ebp, [0x52a9e0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004476c0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
mov edx, edi
mov ecx, esi
mov edi, dword [esp + 0xf4]
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x640ab0]
test ecx, ecx
jne 0x4a89b3
mov dword [edi], edx
jmp 0x4a89ba
mov eax, edx
call fcn.0045f0c0
add esp, 0xf0
ret
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0049e4f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
test ecx, ecx
jne 0x4a8c19
mov edi, dword [esp + 0xf4]
movzx ecx, byte [edi + 0x2c]
test cl, cl
jne 0x4a8a81
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x4a8a51
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], edx
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004476c0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0xf4]
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x640ab0]
test ecx, ecx
jne 0x4a8a75
mov dword [edi], ebp
jmp 0x4a9827
mov eax, ebp
call fcn.0045f0c0
jmp 0x4a9827
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
call fcn.0049fa10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0xf4]
mov edx, dword [ecx + 4]
mov dword [esp + 0x88], edx
lea ebx, [edx + eax]
mov dword [esp + 0x84], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4a8b28
mov dword [esp + 0x98], ebp
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004476c0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x98]
mov dword [esp + 0x80], esi
mov dword [esp + 0xb8], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045fa10
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0xf4]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x80]
mov dword [edi + 8], ecx
mov edx, dword [0x640ab0]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x44]
lea ebx, [ebp + ebx + 5]
test edx, edx
jne 0x4a8b88
mov edx, dword [esp + 0xb8]
mov dword [edi], edx
jmp 0x4a8b9f
mov edx, eax
mov eax, dword [esp + 0xb8]
call fcn.0045f0c0
mov eax, edx
mov edx, dword [esp + 0xb8]
nop
cmp ecx, ebx
jae 0x4a8bea
mov dword [esp + 0x88], ebx
lea ebp, [0x52a9e0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004476c0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
mov edx, edi
mov ecx, esi
mov edi, dword [esp + 0xf4]
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x640ab0]
test ecx, ecx
jne 0x4a8c0d
mov dword [edi], edx
jmp 0x4a9827
mov eax, edx
call fcn.0045f0c0
jmp 0x4a9827
mov ebx, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0x104]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x108]
inc eax
mov dword [esp + 0x14], eax
call fcn.004a8510
jmp 0x4a9827
cmp edx, 0x17
ja 0x4a9240
cmp edx, 0x16
je 0x4a90cc
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x104]
cmp eax, 0x71
jg 0x4a8c81
cmp eax, 0x58
je 0x4a8c8f
cmp eax, 0x71
je 0x4a8c8f
jmp 0x4a8e22
cmp eax, 0x73
je 0x4a8c8f
cmp eax, 0x78
jne 0x4a8e22
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0049fa10
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x8c], ecx
mov edx, dword [eax + 0x28]
mov dword [esp], ecx
call edx
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 0x4a8df4
mov eax, dword [esp + 0x7c]
cmp eax, 0x17
je 0x4a8dbe
mov eax, dword [esp + 0x100]
test eax, 0x100
jne 0x4a8d3e
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
mov edx, dword [esp + 0xfc]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0049ead0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x68], eax
lea ecx, [0x52a9e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00447600
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb4], eax
xor ecx, ecx
jmp 0x4a9fd6
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
mov edx, dword [esp + 0xfc]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.0049ead0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x100]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], eax
call fcn.0049f6e0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0049d670
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x4a9f54
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 8], eax
call fcn.0049d670
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x4a9f54
mov eax, dword [esp + 0x104]
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x7c]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0xf4]
movzx edx, byte [edi + 0x2c]
test dl, dl
jne 0x4a8ea1
mov edx, dword [edi + 4]
lea ecx, [edx + 1]
mov eax, dword [edi]
mov esi, dword [edi + 8]
cmp esi, ecx
jae 0x4a8e90
lea ebx, [0x52a9e0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ecx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf4]
mov dword [edi + 8], edx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4a8e7b
mov dword [edi], eax
jmp 0x4a8e80
call fcn.0045f0c0
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xfc]
mov edx, ecx
lea ecx, [edx + 1]
mov dword [edi + 4], ecx
mov byte [eax + edx], 0x5b
xor eax, eax
jmp 0x4a9e3f
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0049fa10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0xf4]
mov edx, dword [ecx + 4]
mov dword [esp + 0x88], edx
lea ebx, [eax + edx]
mov dword [esp + 0x84], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4a8f33
mov dword [esp + 0x94], ebp
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004476c0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x40]
mov edx, dword [esp + 0x88]
mov ebp, dword [esp + 0x94]
mov dword [esp + 0xb8], edi
mov dword [esp + 0x80], esi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045fa10
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0xf4]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x80]
mov dword [edi + 8], ecx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4a8f84
mov edx, dword [esp + 0xb8]
mov dword [edi], edx
jmp 0x4a8f9b
mov edx, eax
mov eax, dword [esp + 0xb8]
call fcn.0045f0c0
mov eax, edx
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0x7c]
cmp ebx, 0x17
jne 0x4a904f
mov ebx, dword [esp + 0xfc]
mov ebp, dword [ebx]
test ebp, ebp
xchg ebp, ebx
setne bl
xchg ebp, ebx
xor ebp, 1
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x4a9056
nop
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x40]
lea ebx, [ebp + ebx + 5]
cmp ecx, ebx
jae 0x4a9021
mov dword [esp + 0x88], ebx
lea ebp, [0x52a9e0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004476c0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov ebx, dword [esp + 0x88]
mov edx, edi
mov ecx, esi
mov edi, dword [esp + 0xf4]
mov dword [edx + eax], 0x6c696e28
mov byte [edx + eax + 4], 0x29
mov dword [edi + 4], ebx
mov dword [edi + 8], ecx
mov ecx, dword [0x640ab0]
test ecx, ecx
jne 0x4a9041
mov dword [edi], edx
jmp 0x4a9048
mov eax, edx
call fcn.0045f0c0
add esp, 0xf0
ret
mov ebx, dword [esp + 0xfc]
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0x40]
lea ebp, [esi + ebp + 1]
cmp ecx, ebp
jae 0x4a90bb
lea ebx, [0x52a9e0]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebp
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf4]
mov dword [edi + 8], edx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4a90ab
mov dword [edi], eax
jmp 0x4a90b0
call fcn.0045f0c0
mov ebx, dword [esp + 0xfc]
mov edx, eax
mov eax, ecx
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x7b
xor eax, eax
jmp 0x4a9c88
test ecx, ecx
je 0x4a90d4
xor eax, eax
jmp 0x4a9110
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0049f190
mov eax, dword [esp + 0xc]
test eax, eax
setne al
mov ecx, dword [esp + 0x108]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0xf4]
test al, al
je 0x4a93e9
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0049e4f0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, edx
and edx, 0x1f
cmp edx, 0x15
ja 0x4a914d
cmp edx, 0x11
je 0x4a915b
cmp edx, 0x15
je 0x4a915b
jmp 0x4a921f
cmp edx, 0x17
je 0x4a915b
cmp edx, 0x19
jne 0x4a921f
mov dword [esp + 0x7c], ebx
nop
mov edx, dword [esp + 0xf4]
mov ebp, dword [edx + 4]
lea esi, [ebp + 1]
mov edi, dword [edx]
mov ebx, dword [edx + 8]
cmp ebx, esi
jae 0x4a91df
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb0], eax
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], esi
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf4]
mov dword [edi + 8], edx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4a91c6
mov dword [edi], eax
jmp 0x4a91cb
call fcn.0045f0c0
mov edx, edi
mov ebp, ecx
mov edi, eax
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
lea ebx, [ebp + 1]
mov dword [edx + 4], ebx
mov byte [edi + ebp], 0x26
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x7c]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x108]
inc eax
mov dword [esp + 0x14], eax
call fcn.004a8510
add esp, 0xf0
ret
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x100]
mov edi, dword [esp + 0xf4]
jmp 0x4a93e9
cmp edx, 0x18
je 0x4a9426
cmp edx, 0x19
jne 0x4a93e4
movzx eax, byte [edi + 0x2c]
test al, al
je 0x4a9369
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0049fa10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x80]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xf4]
mov edx, dword [ecx + 4]
lea ebx, [eax + edx]
mov dword [esp + 0x88], ebx
mov ebp, dword [esp + 4]
mov esi, dword [ecx + 8]
mov edi, dword [ecx]
cmp esi, ebx
jae 0x4a92f0
mov dword [esp + 0x84], edx
mov dword [esp + 0x9c], ebp
mov dword [esp + 0x48], eax
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004476c0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0x9c]
mov dword [esp + 0x84], esi
mov dword [esp + 0xb8], edi
lea ecx, [edi + edx]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.0045fa10
mov eax, dword [esp + 0x88]
mov edi, dword [esp + 0xf4]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 8], eax
mov eax, dword [0x640ab0]
test eax, eax
jne 0x4a9341
mov eax, dword [esp + 0xb8]
mov dword [edi], eax
jmp 0x4a934d
mov eax, dword [esp + 0xb8]
call fcn.0045f0c0
mov ecx, dword [esp + 0x108]
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xfc]
mov esi, dword [esp + 0x100]
mov eax, dword [edi + 4]
lea edx, [eax + 1]
mov ecx, dword [edi]
mov esi, dword [edi + 8]
cmp esi, edx
jae 0x4a93d3
lea ebx, [0x52a9e0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf4]
mov dword [edi + 8], edx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4a93ba
mov dword [edi], eax
jmp 0x4a93bf
call fcn.0045f0c0
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xfc]
mov edx, eax
mov eax, ecx
mov ecx, edx
lea edx, [eax + 1]
mov dword [edi + 4], edx
mov byte [ecx + eax], 0x7b
xor eax, eax
jmp 0x4a98aa
cmp edx, 0x1a
jne 0x4a940d
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0x104]
mov dword [esp + 0x10], eax
call fcn.004a6cb0
jmp 0x4a9827
mov dword [esp], edi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.004a5600
jmp 0x4a9827
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0049f920
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xf4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0x104]
mov dword [esp + 0xc], eax
call fcn.004a6460
jmp 0x4a9827
cmp edx, 0xc
ja 0x4a96ff
cmp edx, 1
ja 0x4a9622
test edx, edx
jne 0x4a95ea
test ecx, ecx
jne 0x4a9540
nop
mov eax, dword [edi + 4]
lea ecx, [eax + 0x17]
mov dword [esp + 0x88], ecx
mov edx, dword [edi + 8]
mov ebx, dword [edi]
cmp edx, ecx
jae 0x4a94d2
mov dword [esp + 0x84], eax
lea ebp, [0x52a9e0]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ecx
call fcn.004476c0
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov dword [esp + 0x84], edx
mov dword [esp + 0xb8], ebx
add eax, ebx
mov dword [esp], eax
lea eax, [0x540b87]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call fcn.0045fa10
mov eax, dword [esp + 0x88]
mov edi, dword [esp + 0xf4]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x84]
mov dword [edi + 8], eax
mov eax, dword [0x640ab0]
test eax, eax
jne 0x4a952f
mov eax, dword [esp + 0xb8]
mov dword [edi], eax
jmp 0x4a9827
mov eax, dword [esp + 0xb8]
call fcn.0045f0c0
jmp 0x4a9827
mov ecx, dword [esp + 0x104]
cmp ecx, 0x76
jne 0x4a95d9
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 5]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x4a95a9
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ecx
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004476c0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov edi, dword [esp + 0xf4]
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x640ab0]
test ecx, ecx
jne 0x4a95cd
mov dword [edi], ebp
jmp 0x4a9827
mov eax, ebp
call fcn.0045f0c0
jmp 0x4a9827
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.004a5860
jmp 0x4a9827
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.0049d5c0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov byte [esp + 4], al
mov eax, dword [esp + 0x104]
mov dword [esp + 8], eax
call fcn.004a5d30
jmp 0x4a9827
cmp edx, 6
ja 0x4a9696
cmp edx, 3
ja 0x4a9646
cmp edx, 2
jne 0x4a963b
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4a9671
movsx eax, byte [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4a9671
cmp edx, 4
jne 0x4a9656
movsx eax, word [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4a9671
cmp edx, 5
jne 0x4a9665
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4a9671
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 + 0x104]
mov dword [esp + 0x10], eax
call fcn.004a5e20
jmp 0x4a9827
cmp edx, 9
ja 0x4a96bc
cmp edx, 7
jne 0x4a96a7
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4a96da
cmp edx, 8
jne 0x4a96b4
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x4a96da
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x4a96da
cmp edx, 0xa
jne 0x4a96c8
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4a96da
cmp edx, 0xb
jne 0x4a96d5
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
jmp 0x4a96da
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 + 0x104]
mov dword [esp + 0x10], eax
call fcn.004a5e20
jmp 0x4a9827
cmp edx, 0xe
ja 0x4a9779
cmp edx, 0xd
jne 0x4a974b
mov eax, dword [ebp]
mov dword [esp], eax
call fcn.00449060
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xf4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0x104]
mov dword [esp + 0x10], eax
call fcn.004a6130
jmp 0x4a9827
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0x104]
mov dword [esp + 0x10], eax
call fcn.004a6130
jmp 0x4a9827
cmp edx, 0xf
jne 0x4a97f0
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [esp + 0x78], ecx
mov dword [esp], eax
call fcn.00449060
mov eax, dword [esp + 4]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 8]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x78]
mov dword [esp], edx
call fcn.00449060
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xf4]
mov dword [esp], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0x104]
mov dword [esp + 0x18], eax
call fcn.004a62a0
jmp 0x4a9827
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov edx, dword [ebp + 8]
mov ebx, dword [ebp + 0xc]
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0x104]
mov dword [esp + 0x18], eax
call fcn.004a62a0
add esp, 0xf0
ret
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
mov edx, dword [esp + 0xfc]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x100]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.004a5560
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x104]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x108]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004a8510
mov eax, dword [esp + 0x60]
inc eax
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xfc]
mov dword [esp + 0x60], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x100]
mov dword [esp + 8], ecx
call fcn.0049f0e0
mov eax, dword [esp + 0x60]
cmp dword [esp + 0xc], eax
jle 0x4a9ba3
test eax, eax
jle 0x4a99db
mov edi, dword [esp + 0xf4]
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4a9973
nop
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x4a994b
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ecx
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004476c0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x88]
mov edi, dword [esp + 0xf4]
mov word [ebp + ecx], 0x202c
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x640ab0]
test ecx, ecx
jne 0x4a9966
mov dword [edi], ebp
jmp 0x4a99e2
mov ecx, eax
mov eax, ebp
call fcn.0045f0c0
mov eax, ecx
jmp 0x4a99e2
mov ecx, dword [edi + 4]
lea edx, [ecx + 1]
mov ebx, dword [edi]
mov ebp, dword [edi + 8]
cmp ebp, edx
jae 0x4a99cf
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf4]
mov dword [edi + 8], edx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4a99c4
mov dword [edi], eax
jmp 0x4a99c9
call fcn.0045f0c0
mov ebx, eax
mov eax, dword [esp + 0x60]
lea edx, [ecx + 1]
mov dword [edi + 4], edx
mov byte [ebx + ecx], 0x20
jmp 0x4a99e2
mov edi, dword [esp + 0xf4]
movzx ecx, byte [edi + 0x2b]
test cl, cl
jne 0x4a99f6
movzx ecx, byte [edi + 0x2c]
test cl, cl
je 0x4a982e
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x100]
mov dword [esp + 8], edx
call fcn.0049fa10
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x2c]
mov dword [esp], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
call eax
lea edi, [esp + 0xbc]
lea esi, [esp + 8]
call fcn.0045f7ae
mov eax, dword [esp + 0xc0]
mov ecx, dword [esp + 0xbc]
test eax, eax
je 0x4a9b93
mov dword [esp + 0x50], eax
nop
mov edx, dword [esp + 0xf4]
mov ebx, dword [edx + 4]
mov dword [esp + 0x88], ebx
lea ebp, [eax + ebx]
mov dword [esp + 0x84], ebp
mov esi, dword [edx + 8]
mov edi, dword [edx]
cmp esi, ebp
jae 0x4a9ac1
mov dword [esp + 0xa4], ecx
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
call fcn.004476c0
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0x88]
mov dword [esp + 0xb8], edi
mov dword [esp + 0x80], esi
lea edx, [edi + ebx]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0045fa10
mov eax, dword [esp + 0x84]
mov edi, dword [esp + 0xf4]
mov dword [edi + 4], eax
mov ecx, dword [esp + 0x80]
mov dword [edi + 8], ecx
mov edx, dword [0x640ab0]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x50]
lea ebx, [ebp + ebx + 1]
test edx, edx
jne 0x4a9b21
mov edx, dword [esp + 0xb8]
mov dword [edi], edx
jmp 0x4a9b38
mov edx, eax
mov eax, dword [esp + 0xb8]
call fcn.0045f0c0
mov eax, edx
mov edx, dword [esp + 0xb8]
cmp ecx, ebx
jae 0x4a9b87
lea ebp, [0x52a9e0]
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ebx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf4]
mov dword [edi + 8], edx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4a9b7e
mov dword [edi], eax
jmp 0x4a9b83
call fcn.0045f0c0
mov edx, eax
mov eax, ecx
lea ecx, [eax + 1]
mov dword [edi + 4], ecx
mov byte [edx + eax], 0x3a
jmp 0x4a9b9a
mov edi, dword [esp + 0xf4]
mov eax, dword [esp + 0x60]
jmp 0x4a982e
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jae 0x4a9c04
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf4]
mov dword [edi + 8], edx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4a9bfb
mov dword [edi], eax
jmp 0x4a9c00
call fcn.0045f0c0
mov ebx, eax
mov eax, edi
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x4a9827
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
mov edx, dword [esp + 0xfc]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x100]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.0049e790
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x104]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x108]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004a8510
mov eax, dword [esp + 0x58]
inc eax
mov ebx, dword [esp + 0xfc]
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x100]
mov dword [esp + 8], edx
call fcn.0049ead0
mov eax, dword [esp + 0x58]
cmp dword [esp + 0xc], eax
jle 0x4a9d52
test eax, eax
jle 0x4a9c13
nop
mov edi, dword [esp + 0xf4]
mov ecx, dword [edi + 4]
lea edx, [ecx + 2]
mov ebx, dword [edi + 8]
mov ebp, dword [edi]
cmp ebx, edx
jae 0x4a9d24
mov dword [esp + 0x88], ecx
mov dword [esp + 0x84], edx
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], edx
call fcn.004476c0
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x84]
mov edi, dword [esp + 0xf4]
mov word [ebp + ecx], 0x202c
mov dword [edi + 4], edx
mov dword [edi + 8], ebx
mov ecx, dword [0x640ab0]
test ecx, ecx
jne 0x4a9d42
mov dword [edi], ebp
jmp 0x4a9c13
mov ecx, eax
mov eax, ebp
call fcn.0045f0c0
mov eax, ecx
jmp 0x4a9c13
nop
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jae 0x4a9db4
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf4]
mov dword [edi + 8], edx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4a9dab
mov dword [edi], eax
jmp 0x4a9db0
call fcn.0045f0c0
mov ebx, eax
mov eax, edi
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x4a9827
mov ecx, dword [esp + 0xf8]
mov dword [esp], ecx
mov edx, dword [esp + 0xfc]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x100]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.0049e790
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xf4]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0x104]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x108]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004a8510
mov eax, dword [esp + 0x54]
inc eax
mov ebx, dword [esp + 0xf8]
mov ebp, dword [esp + 0xfc]
mov dword [esp + 0x54], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov ecx, dword [esp + 0x100]
mov dword [esp + 8], ecx
call fcn.0049ead0
mov eax, dword [esp + 0x54]
cmp dword [esp + 0xc], eax
jle 0x4a9ee3
test eax, eax
jle 0x4a9dc3
mov ecx, dword [esp + 0xf4]
mov edx, dword [ecx + 4]
lea ebx, [edx + 1]
mov ebp, dword [ecx]
mov esi, dword [ecx + 8]
cmp esi, ebx
jae 0x4a9ed3
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf4]
mov dword [edi + 8], edx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4a9ec4
mov dword [edi], eax
jmp 0x4a9ec9
call fcn.0045f0c0
mov edx, ecx
mov ebp, eax
mov eax, dword [esp + 0x54]
mov ecx, edi
lea ebx, [edx + 1]
mov dword [ecx + 4], ebx
mov byte [ebp + edx], 0x20
jmp 0x4a9dc3
nop
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jae 0x4a9f45
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf4]
mov dword [edi + 8], edx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4a9f3c
mov dword [edi], eax
jmp 0x4a9f41
call fcn.0045f0c0
mov ebx, eax
mov eax, edi
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x5d
jmp 0x4a9827
mov dword [esp + 0x6c], edx
mov dword [esp + 0x68], ecx
mov dword [esp + 0xa8], eax
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x80]
mov ebp, dword [esp + 0x8c]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xf4]
mov dword [esp], edx
mov edx, dword [esp + 0xa8]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x104]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.004a6600
add esp, 0xf0
ret
mov ebx, dword [esp + 0xb4]
mov byte [ebx + eax], dl
lea edx, [eax + 1]
mov eax, ebx
mov ecx, edx
mov edx, dword [esp + 0x68]
cmp ecx, edx
jge 0x4aa09d
mov dword [esp + 0x5c], ecx
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
mov edx, dword [esp + 0xfc]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0x100]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.0049e790
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
and eax, 0x1f
mov dword [esp + 0x7c], eax
cmp eax, 9
ja 0x4aa05e
cmp eax, 7
jne 0x4aa036
mov edx, dword [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jmp 0x4aa095
cmp eax, 8
jne 0x4aa04a
movzx edx, byte [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jmp 0x4aa095
cmp eax, 9
jne 0x4aa0a9
movzx edx, word [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jmp 0x4aa095
cmp eax, 0xa
jne 0x4aa071
mov edx, dword [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jmp 0x4aa095
cmp eax, 0xb
jne 0x4aa084
mov edx, dword [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jmp 0x4aa095
cmp eax, 0xc
jne 0x4aa0a9
mov edx, dword [ecx]
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x68]
cmp eax, ecx
jb 0x4a9fc5
jmp 0x4aa0a4
mov ecx, edx
jmp 0x4a9f54
call fcn.0045f140
lea eax, [0x52e820]
mov dword [esp], eax
call fcn.0040b1d0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x53f45f]
mov dword [eax], ecx
mov ecx, dword [esp + 0x7c]
mov dword [eax + 8], ecx
lea ecx, [0x52c060]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00433220
mov eax, dword [esp + 0xf4]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4aa15c
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jae 0x4aa14d
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf4]
mov dword [edi + 8], edx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4aa144
mov dword [edi], eax
jmp 0x4aa149
call fcn.0045f0c0
mov ebx, eax
mov eax, edi
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x7d
jmp 0x4a9827
nop
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jae 0x4aa1b7
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf4]
mov dword [edi + 8], edx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4aa1ae
mov dword [edi], eax
jmp 0x4aa1b3
call fcn.0045f0c0
mov ebx, eax
mov eax, edi
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x5d
jmp 0x4a9827
mov ebp, dword [esp + 0xac]
lea edx, [ebp + 0xc]
mov ebx, eax
mov eax, dword [esp + 0x90]
mov dword [esp + 0xac], edx
mov dword [esp + 0x64], ebx
mov ebp, dword [edx + 4]
mov esi, dword [edx + 8]
mov edi, edx
mov edx, dword [edx]
test ebx, ebx
jle 0x4aa348
mov dword [esp + 0x7c], esi
mov dword [esp + 0xb4], ebp
mov dword [esp + 0xb0], edx
mov ecx, dword [esp + 0xf4]
movzx ebx, byte [ecx + 0x2c]
test bl, bl
je 0x4aa2b5
nop
mov ebx, dword [ecx + 4]
lea esi, [ebx + 2]
mov ebp, dword [ecx + 8]
mov edx, dword [ecx]
cmp ebp, esi
jae 0x4aa282
mov dword [esp + 0x84], ebx
mov dword [esp + 0x80], esi
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.004476c0
mov edx, dword [esp + 0x14]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0xf4]
mov ebx, dword [esp + 0x84]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0xac]
mov word [edx + ebx], 0x202c
mov dword [ecx + 4], esi
mov dword [ecx + 8], ebp
mov ebx, dword [0x640ab0]
test ebx, ebx
jne 0x4aa29f
mov dword [ecx], edx
jmp 0x4aa336
mov ebx, edi
mov edi, ecx
mov ebp, eax
mov eax, edx
call fcn.0045f0c0
mov eax, ebp
mov edi, ebx
jmp 0x4aa336
nop
mov ebx, dword [ecx + 4]
lea edi, [ebx + 1]
mov eax, dword [ecx]
mov esi, dword [ecx + 8]
cmp esi, edi
jae 0x4aa31e
lea ecx, [0x52a9e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], edi
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf4]
mov dword [edi + 8], edx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4aa307
mov dword [edi], eax
jmp 0x4aa30c
call fcn.0045f0c0
mov edx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xb4]
mov ebx, ecx
mov ecx, edi
lea esi, [ebx + 1]
mov dword [ecx + 4], esi
mov byte [eax + ebx], 0x20
mov eax, dword [esp + 0x90]
mov edi, dword [esp + 0xac]
mov edx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xb4]
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov ecx, dword [esp + 0x104]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x108]
lea ebx, [edx + 1]
mov dword [esp + 0x84], ebx
mov dword [esp + 0x14], ebx
call fcn.004a8510
nop
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax + 4]
lea edx, [ecx + 1]
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
cmp ebp, edx
jae 0x4aa3e5
lea eax, [0x52a9e0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], edx
call fcn.004476c0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov edi, dword [esp + 0xf4]
mov dword [edi + 8], edx
mov edx, dword [0x640ab0]
test edx, edx
jne 0x4aa3dc
mov dword [edi], eax
jmp 0x4aa3e1
call fcn.0045f0c0
mov ebx, eax
mov eax, edi
lea edx, [ecx + 1]
mov dword [eax + 4], edx
mov byte [ebx + ecx], 0x3a
mov edx, dword [esp + 0x90]
mov ebx, dword [edx + 0xc]
mov ecx, dword [edx + 0x10]
mov ebp, dword [esp + 0x64]
cmp ebp, ecx
jae 0x4aa456
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 + 0x104]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x14], edx
call fcn.004a8510
mov eax, dword [esp + 0x64]
inc eax
mov ecx, dword [esp + 0x88]
cmp ecx, eax
jg 0x4aa1c6
jmp 0x4aa0e3
mov eax, ebp
call fcn.0045f140
nop
call fcn.0045dcf0
jmp fcn.004a8510