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

Disassembly:
mov ecx, dword [0x69c3d8]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x68]
cmp eax, dword [ecx + 8]
jbe 0x4a4a5e
sub esp, 0xe8
mov eax, dword [esp + 0x100]
test eax, eax
jle 0x4a2bea
mov ecx, dword [esp + 0xf8]
test ecx, ecx
je 0x4a2bf1
test ecx, 0x60
jne 0x4a2bf1
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
call fcn.00482f30
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xec]
mov dword [edx + 0xc], eax
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a2bb4
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [edx + 0x10]
mov dword [edi + 4], eax
mov dword [edx + 0x10], ecx
mov dword [esp], edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
call fcn.004a1dd0
movzx eax, byte [esp + 8]
test al, al
jne 0x4a2be3
mov eax, dword [esp + 0x100]
mov ecx, dword [esp + 0xf8]
jmp 0x4a2bf1
add esp, 0xe8
ret
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xec]
mov dword [edx + 0xc], 0
mov ebx, dword [0x69c4d8]
test ebx, ebx
jne 0x4a2c19
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
jmp 0x4a2c43
mov ebx, dword [edx + 0x10]
call fcn.0046cf00
mov dword [edi], ebx
mov ebx, dword [esp + 0xf0]
mov dword [edi + 4], ebx
mov ebp, dword [edx + 0x14]
mov dword [edi + 8], ebp
mov ebp, dword [esp + 0xf4]
mov dword [edi + 0xc], ebp
mov esi, dword [edx + 0x18]
mov dword [edi + 0x10], esi
mov dword [edx + 0x10], 0
mov dword [edx + 0x1c], ecx
mov dword [edx + 0x14], ebx
mov dword [edx + 0x18], ebp
mov esi, ecx
and ecx, 0x1f
nop
cmp ecx, 0x10
jbe 0x4a3a59
cmp ecx, 0x15
ja 0x4a3228
cmp ecx, 0x13
ja 0x4a2c7e
cmp ecx, 0x11
je 0x4a323a
jmp 0x4a39f6
cmp ecx, 0x14
je 0x4a2f98
movzx ecx, byte [edx + 0x2c]
test cl, cl
je 0x4a2edf
test esi, 0x200
jne 0x4a2ca3
lea ecx, [0x5ce63c]
jmp 0x4a2cbf
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00482610
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
mov ecx, eax
mov eax, dword [ecx + 0x94]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
lea ebp, [eax + ebx]
mov esi, dword [esp + 4]
mov edi, dword [ecx]
cmp edx, ebp
jae 0x4a2d36
mov dword [esp + 0x88], ebx
mov dword [esp + 0x54], eax
mov dword [esp + 0x9c], esi
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
lea ecx, [0x4fb820]
mov dword [esp + 0x10], ecx
call fcn.00468110
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x9c]
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ebp
mov dword [esp + 0xb0], edi
lea ecx, [edi + ebx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.0046d810
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xec]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x88]
mov dword [ecx + 8], edx
mov ebx, dword [0x69c4d8]
test ebx, ebx
jne 0x4a2da0
mov ebx, dword [esp + 0xf8]
test ebx, 0x200
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0xf8]
jmp 0x4a2dc0
call fcn.0046ced0
mov ebx, dword [esp + 0xb0]
mov dword [edi], ebx
mov ebp, dword [ecx]
mov dword [edi + 4], ebp
mov ebp, dword [esp + 0xf8]
test ebp, 0x200
mov dword [ecx], ebx
je 0x4a2dcd
mov esi, dword [esp + 0xf4]
jmp 0x4a2ded
test ebp, 0x80
je 0x4a2de0
mov esi, dword [esp + 0xf4]
mov edi, dword [esi]
jmp 0x4a2de9
mov esi, dword [esp + 0xf4]
mov edi, esi
test edi, edi
je 0x4a2e68
inc eax
cmp edx, eax
jae 0x4a2e5b
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a2e40
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebp, dword [esp + 0xf8]
mov esi, dword [esp + 0xf4]
mov eax, edx
mov ebx, ecx
mov ecx, dword [esp + 0xec]
mov dword [ecx + 4], eax
mov byte [eax + ebx - 1], 0x7b
jmp 0x4a2f6e
lea ebp, [eax + 5]
nop
cmp edx, ebp
jae 0x4a2eae
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 5
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xec]
mov ebx, edi
mov dword [ebx + eax], 0x6c696e28
mov byte [ebx + eax + 4], 0x29
mov dword [ecx + 4], ebp
mov dword [ecx + 8], edx
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a2ed6
call fcn.0046ced0
mov dword [edi], ebx
mov eax, dword [ecx]
mov dword [edi + 4], eax
mov dword [ecx], ebx
add esp, 0xe8
ret
mov ecx, dword [edx + 8]
mov edi, dword [edx + 4]
lea eax, [edi + 4]
nop
mov esi, dword [edx]
cmp ecx, eax
jae 0x4a2f40
mov dword [esp + 0x88], edi
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 4
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov edi, dword [esp + 0x88]
mov dword [esi + edi], 0x5b70616d
mov dword [edx + 4], eax
mov dword [edx + 8], ecx
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a2f63
call fcn.0046ced0
mov dword [edi], esi
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], esi
mov esi, ebp
mov ebp, dword [esp + 0xf8]
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
call fcn.004835a0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
xor edx, edx
jmp 0x4a4774
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004814e0
mov eax, dword [esp + 0x14]
test eax, eax
jne 0x4a31e9
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4a3166
mov ecx, dword [esp + 0xf8]
test ecx, 0x200
jne 0x4a2fe5
lea ecx, [0x5ce63c]
mov edx, dword [esp + 0xf0]
jmp 0x4a300f
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00482610
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, ecx
mov ecx, eax
mov eax, dword [ecx + 0x94]
mov dword [esp], edx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
lea ebp, [eax + ebx]
mov esi, dword [esp + 4]
mov edi, dword [ecx]
cmp edx, ebp
jae 0x4a3086
mov dword [esp + 0x4c], eax
mov dword [esp + 0x94], esi
mov dword [esp + 0x88], ebx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
lea ecx, [0x4fb820]
mov dword [esp + 0x10], ecx
call fcn.00468110
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x94]
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ebp
mov dword [esp + 0xb0], edi
lea ecx, [edi + ebx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.0046d810
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xec]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x88]
mov dword [ecx + 8], edx
mov ebx, dword [0x69c4d8]
test ebx, ebx
jne 0x4a30dc
mov ebx, dword [esp + 0xb0]
jmp 0x4a30ef
call fcn.0046ced0
mov ebx, dword [esp + 0xb0]
mov dword [edi], ebx
mov ebp, dword [ecx]
mov dword [edi + 4], ebp
mov dword [ecx], ebx
lea ebp, [eax + 5]
nop
cmp edx, ebp
jae 0x4a3137
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 5
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xec]
mov ebx, edi
mov dword [ebx + eax], 0x6c696e28
mov byte [ebx + eax + 4], 0x29
mov dword [ecx + 4], ebp
mov dword [ecx + 8], edx
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a315f
call fcn.0046ced0
mov dword [edi], ebx
mov eax, dword [ecx]
mov dword [edi + 4], eax
mov dword [ecx], ebx
jmp 0x4a3dc8
mov ecx, dword [eax + 4]
lea edx, [ecx + 5]
mov ebx, dword [eax + 8]
nop
mov ebp, dword [eax]
cmp ebx, edx
jae 0x4a31b9
mov dword [esp + 0x88], ecx
mov dword [esp], ebp
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 5
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov ebp, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0x88]
mov dword [ebp + ecx], 0x6c696e3c
mov byte [ebp + ecx + 4], 0x3e
mov dword [eax + 4], edx
mov dword [eax + 8], ebx
mov ecx, dword [0x69c4d8]
test ecx, ecx
je 0x4a31e2
call fcn.0046ced0
mov dword [edi], ebp
mov ecx, dword [eax]
mov dword [edi + 4], ecx
mov dword [eax], ebp
jmp 0x4a3dc8
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
inc eax
mov dword [esp + 0x14], eax
call fcn.004a2b20
jmp 0x4a3dc8
cmp ecx, 0x17
ja 0x4a3822
cmp ecx, 0x16
je 0x4a369c
mov dword [esp + 0x80], ecx
mov edi, dword [esp + 0xfc]
cmp edi, 0x71
jg 0x4a325c
cmp edi, 0x58
je 0x4a326a
cmp edi, 0x71
je 0x4a326a
jmp 0x4a33b2
cmp edi, 0x73
je 0x4a326a
cmp edi, 0x78
jne 0x4a33b2
test esi, 0x200
jne 0x4a3282
mov dword [esp + 0x78], eax
lea eax, [0x5ce63c]
mov dword [esp + 0x3c], eax
jmp 0x4a32a0
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00482610
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov ebx, ecx
mov dword [esp + 0x8c], ebx
mov eax, dword [esp + 0x3c]
mov ecx, dword [eax + 0x2c]
mov dword [esp], ebx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x54]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
jne 0x4a3388
mov eax, dword [esp + 0x80]
cmp eax, 0x17
je 0x4a3336
mov eax, dword [esp + 0xf8]
test eax, 0x100
jne 0x4a333d
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004819c0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x40], eax
lea ecx, [0x4fb820]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call fcn.00468060
mov eax, dword [esp + 0xc]
mov dword [esp + 0xac], eax
xor ecx, ecx
jmp 0x4a4638
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xf0]
cmp dword [0x67cea0], ecx
jne 0x4a3360
mov eax, dword [esp + 0xf4]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
jmp 0x4a45b4
mov dword [esp], ecx
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.00480600
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
jmp 0x4a45b4
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, dword [esp + 0xfc]
movzx eax, byte [edx + 0x2c]
test al, al
je 0x4a3609
test esi, 0x200
jne 0x4a33ce
lea eax, [0x5ce63c]
jmp 0x4a33e8
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00482610
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
mov eax, dword [eax + 0x94]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
lea ebp, [eax + ebx]
mov esi, dword [esp + 4]
mov edi, dword [ecx]
cmp edx, ebp
jae 0x4a345f
mov dword [esp + 0x48], eax
mov dword [esp + 0x90], esi
mov dword [esp + 0x88], ebx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
lea ecx, [0x4fb820]
mov dword [esp + 0x10], ecx
call fcn.00468110
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x48]
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x90]
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ebp
mov dword [esp + 0xb0], edi
lea ecx, [edi + ebx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.0046d810
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xec]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x88]
mov dword [ecx + 8], edx
mov ebx, dword [0x69c4d8]
test ebx, ebx
jne 0x4a34b5
mov ebx, dword [esp + 0xb0]
jmp 0x4a34c8
call fcn.0046ced0
mov ebx, dword [esp + 0xb0]
mov dword [edi], ebx
mov ebp, dword [ecx]
mov dword [edi + 4], ebp
mov dword [ecx], ebx
mov ebp, dword [esp + 0x80]
cmp ebp, 0x17
jne 0x4a355e
mov esi, dword [esp + 0xf4]
mov edi, dword [esi]
test edi, edi
jne 0x4a3565
lea ebp, [eax + 5]
nop
cmp edx, ebp
jae 0x4a352d
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 5
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xec]
mov ebx, edi
mov dword [ebx + eax], 0x6c696e28
mov byte [ebx + eax + 4], 0x29
mov dword [ecx + 4], ebp
mov dword [ecx + 8], edx
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a3555
call fcn.0046ced0
mov dword [edi], ebx
mov eax, dword [ecx]
mov dword [edi + 4], eax
mov dword [ecx], ebx
add esp, 0xe8
ret
mov esi, dword [esp + 0xf4]
inc eax
cmp edx, eax
jb 0x4a356f
cmp ebp, 0x17
jmp 0x4a35e9
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
jne 0x4a35bd
mov eax, dword [esp + 0x80]
cmp eax, 0x17
jmp 0x4a35d3
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x80]
cmp eax, 0x17
mov dword [ebx], ecx
mov ebp, eax
mov esi, dword [esp + 0xf4]
mov eax, edx
mov ebx, ecx
mov ecx, dword [esp + 0xec]
mov dword [ecx + 4], eax
mov byte [eax + ebx - 1], 0x7b
mov eax, dword [esp + 0xf8]
mov edx, dword [esp + 0xf0]
mov ebx, 0
jmp 0x4a4459
mov eax, dword [edx + 8]
mov edi, dword [edx + 4]
inc edi
mov esi, dword [edx]
cmp eax, edi
jae 0x4a3686
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a3664
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov edi, edx
mov esi, ecx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xec]
mov dword [edx + 4], edi
mov byte [edi + esi - 1], 0x5b
mov eax, dword [esp + 0xf8]
xor esi, esi
jmp 0x4a426c
test eax, eax
je 0x4a36a4
xor ecx, ecx
jmp 0x4a36e2
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00482760
mov eax, dword [esp + 0xc]
test eax, eax
setne al
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov ecx, eax
mov eax, dword [esp + 0x100]
test cl, cl
je 0x4a39f6
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.004814e0
mov eax, dword [esp + 0x14]
mov ecx, eax
and eax, 0x1f
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
nop
cmp eax, 0x15
ja 0x4a3720
cmp eax, 0x11
je 0x4a372e
cmp eax, 0x15
je 0x4a372e
jmp 0x4a3801
cmp eax, 0x17
je 0x4a372e
cmp eax, 0x19
jne 0x4a3801
mov eax, dword [esp + 0xec]
mov ebp, dword [eax + 8]
mov esi, dword [eax + 4]
inc esi
nop
mov edi, dword [eax]
cmp ebp, esi
jae 0x4a37c7
mov dword [esp + 0x80], ecx
mov dword [esp + 0xac], ebx
mov dword [esp + 0xa8], edx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a37aa
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov ebx, dword [esp + 0xac]
mov esi, edx
mov edi, ecx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xa8]
mov dword [eax + 4], esi
mov byte [esi + edi - 1], 0x26
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x100]
inc eax
mov dword [esp + 0x14], eax
call fcn.004a2b20
add esp, 0xe8
ret
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
jmp 0x4a39f6
cmp ecx, 0x18
je 0x4a3a33
cmp ecx, 0x19
jne 0x4a39f1
movzx ecx, byte [edx + 0x2c]
test cl, cl
je 0x4a3965
test esi, 0x200
jne 0x4a3850
lea ecx, [0x5ce63c]
jmp 0x4a386c
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00482610
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, ecx
mov ecx, eax
mov eax, dword [ecx + 0x94]
mov dword [esp], ebx
call eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xec]
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
lea ebp, [eax + ebx]
mov esi, dword [esp + 4]
mov edi, dword [ecx]
cmp edx, ebp
jae 0x4a38e3
mov dword [esp + 0x50], eax
mov dword [esp + 0x98], esi
mov dword [esp + 0x88], ebx
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
lea ecx, [0x4fb820]
mov dword [esp + 0x10], ecx
call fcn.00468110
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x88]
mov esi, dword [esp + 0x98]
mov dword [esp + 0xb0], edi
mov dword [esp + 0x88], edx
mov dword [esp + 0x84], ebp
lea ecx, [edi + ebx]
mov dword [esp], ecx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.0046d810
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xec]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x88]
mov dword [ecx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
jne 0x4a3939
mov eax, dword [esp + 0xb0]
jmp 0x4a394c
call fcn.0046ced0
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
mov edx, ecx
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov ecx, dword [edx + 8]
mov edi, dword [edx + 4]
inc edi
mov eax, dword [edx]
cmp ecx, edi
jae 0x4a39e2
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a39c0
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov edi, edx
mov eax, ecx
mov edx, dword [esp + 0xec]
mov dword [edx + 4], edi
mov byte [edi + eax - 1], 0x7b
xor eax, eax
jmp 0x4a3e52
cmp ecx, 0x1a
jne 0x4a3a1a
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.004a1480
jmp 0x4a3dc8
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], esi
call fcn.0049fd50
jmp 0x4a3dc8
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xc], eax
call fcn.004a0c60
jmp 0x4a3dc8
cmp ecx, 0xc
ja 0x4a3cf6
cmp ecx, 1
ja 0x4a3c03
test ecx, ecx
jne 0x4a3be3
test eax, eax
jne 0x4a3b40
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
lea ebx, [ecx + 0x17]
nop
mov ebp, dword [edx]
cmp eax, ebx
jae 0x4a3ac7
mov dword [esp + 0x88], ecx
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0x17
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ebx
mov dword [esp + 0xb0], ebp
add ecx, ebp
mov dword [esp], ecx
lea ecx, [0x51a5e0]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x17
call fcn.0046d810
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xec]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x88]
mov dword [ecx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
jne 0x4a3b26
mov eax, dword [esp + 0xb0]
jmp 0x4a3b39
call fcn.0046ced0
mov eax, dword [esp + 0xb0]
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
jmp 0x4a3dc8
mov eax, dword [esp + 0xfc]
cmp eax, 0x76
jne 0x4a3bd2
mov eax, dword [edx + 4]
lea ecx, [eax + 5]
mov ebx, dword [edx + 8]
mov ebp, dword [edx]
cmp ebx, ecx
jae 0x4a3ba2
mov dword [esp + 0x88], eax
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 5
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0xec]
mov dword [ebp + eax], 0x6c696e3c
mov byte [ebp + eax + 4], 0x3e
mov dword [edx + 4], ecx
mov dword [edx + 8], ebx
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a3bcb
call fcn.0046ced0
mov dword [edi], ebp
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ebp
jmp 0x4a3dc8
mov dword [esp], edx
mov dword [esp + 4], eax
call fcn.0049ffd0
jmp 0x4a3dc8
movzx eax, byte [ebp]
mov dword [esp], edx
mov byte [esp + 4], al
mov eax, dword [esp + 0xfc]
mov dword [esp + 8], eax
call fcn.004a0540
jmp 0x4a3dc8
cmp ecx, 6
ja 0x4a3c8d
cmp ecx, 3
ja 0x4a3c31
cmp ecx, 2
jne 0x4a3c20
mov eax, dword [ebp]
mov ecx, eax
sar eax, 0x1f
jmp 0x4a3c68
movsx eax, byte [ebp]
mov ecx, eax
sar ecx, 0x1f
mov ebx, eax
mov eax, ecx
mov ecx, ebx
jmp 0x4a3c68
cmp ecx, 4
jne 0x4a3c47
movsx eax, word [ebp]
mov ecx, eax
sar ecx, 0x1f
mov ebx, eax
mov eax, ecx
mov ecx, ebx
jmp 0x4a3c68
cmp ecx, 5
jne 0x4a3c5c
mov eax, dword [ebp]
mov ecx, eax
sar ecx, 0x1f
mov ebx, eax
mov eax, ecx
mov ecx, ebx
jmp 0x4a3c68
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
mov ebx, eax
mov eax, ecx
mov ecx, ebx
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.004a0620
jmp 0x4a3dc8
cmp ecx, 9
ja 0x4a3cb3
cmp ecx, 7
jne 0x4a3c9e
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4a3cd1
cmp ecx, 8
jne 0x4a3cab
movzx eax, byte [ebp]
xor ecx, ecx
jmp 0x4a3cd1
movzx eax, word [ebp]
xor ecx, ecx
jmp 0x4a3cd1
cmp ecx, 0xa
jne 0x4a3cbf
mov eax, dword [ebp]
xor ecx, ecx
jmp 0x4a3cd1
cmp ecx, 0xb
jne 0x4a3ccc
mov eax, dword [ebp]
mov ecx, dword [ebp + 4]
jmp 0x4a3cd1
mov eax, dword [ebp]
xor ecx, ecx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 0
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.004a0620
jmp 0x4a3dc8
cmp ecx, 0xe
ja 0x4a3d57
cmp ecx, 0xd
jne 0x4a3d2f
movss xmm0, dword [ebp]
cvtss2sd xmm0, xmm0
mov dword [esp], edx
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.004a0940
jmp 0x4a3dc8
movsd xmm0, qword [ebp]
mov dword [esp], edx
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
call fcn.004a0940
jmp 0x4a3dc8
cmp ecx, 0xf
jne 0x4a3d97
movss xmm0, dword [ebp]
movss xmm1, dword [ebp + 4]
cvtss2sd xmm0, xmm0
cvtss2sd xmm1, xmm1
mov dword [esp], edx
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
call fcn.004a0aa0
jmp 0x4a3dc8
movsd xmm0, qword [ebp]
movsd xmm1, qword [ebp + 8]
mov dword [esp], edx
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x18], eax
call fcn.004a0aa0
add esp, 0xe8
ret
mov ecx, dword [esp + 0xf0]
mov dword [esp], ecx
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call fcn.0049fcc0
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x100]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004a2b20
mov eax, dword [esp + 0x68]
inc eax
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0xf8]
mov dword [esp + 0x68], eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
call fcn.00482030
mov eax, dword [esp + 0x68]
cmp dword [esp + 0xc], eax
jle 0x4a4160
test eax, eax
jle 0x4a3f7d
mov ecx, dword [esp + 0xec]
movzx edx, byte [ecx + 0x2c]
test dl, dl
je 0x4a3f07
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
lea ebp, [ebx + 2]
mov esi, dword [ecx]
cmp edx, ebp
jae 0x4a3ee1
mov dword [esp + 0x88], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 2
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0xec]
mov ebx, dword [esp + 0x88]
mov word [esi + ebx], 0x202c
mov dword [ecx + 4], ebp
mov dword [ecx + 8], edx
mov edx, dword [0x69c4d8]
test edx, edx
je 0x4a3f03
call fcn.0046ced0
mov dword [edi], esi
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], esi
jmp 0x4a3f84
mov edx, dword [ecx + 8]
mov ebx, dword [ecx + 4]
inc ebx
mov ebp, dword [ecx]
cmp edx, ebx
jae 0x4a3f73
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a3f62
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, dword [esp + 0x68]
mov ebx, edx
mov ebp, ecx
mov ecx, dword [esp + 0xec]
mov dword [ecx + 4], ebx
mov byte [ebx + ebp - 1], 0x20
jmp 0x4a3f84
mov ecx, dword [esp + 0xec]
movzx edx, byte [ecx + 0x2b]
test dl, dl
jne 0x4a3f98
movzx edx, byte [ecx + 0x2c]
test dl, dl
je 0x4a3dcf
mov edx, dword [esp + 0xf8]
test edx, 0x200
jne 0x4a3fb6
lea ebx, [0x5ce63c]
mov ebp, dword [esp + 0xf0]
jmp 0x4a3fe4
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov ecx, dword [esp + 0xf4]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.00482610
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov ebp, ecx
mov eax, dword [esp + 0x68]
mov ecx, dword [ebx + 0x30]
mov dword [esp], ebp
mov dword [esp + 4], eax
call ecx
lea edi, [esp + 0xb4]
lea esi, [esp + 8]
call fcn.0046d5ae
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb4]
test eax, eax
je 0x4a4150
mov edx, dword [esp + 0xec]
mov ebx, dword [edx + 8]
mov ebp, dword [edx + 4]
lea esi, [eax + ebp]
nop
mov edi, dword [edx]
cmp ebx, esi
jae 0x4a407b
mov dword [esp + 0x88], ebp
mov dword [esp + 0x58], eax
mov dword [esp + 0xa0], ecx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
lea ecx, [0x4fb820]
mov dword [esp + 0x10], ecx
call fcn.00468110
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x88]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x84], esi
mov dword [esp + 0xb0], edi
lea edx, [edi + ebp]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call fcn.0046d810
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0xec]
mov dword [ecx + 4], eax
mov edx, dword [esp + 0x88]
mov dword [ecx + 8], edx
mov ebx, dword [0x69c4d8]
test ebx, ebx
jne 0x4a40d1
mov ebx, dword [esp + 0xb0]
jmp 0x4a40e4
call fcn.0046ced0
mov ebx, dword [esp + 0xb0]
mov dword [edi], ebx
mov ebp, dword [ecx]
mov dword [edi + 4], ebp
mov dword [ecx], ebx
inc eax
cmp edx, eax
jae 0x4a4146
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a4139
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, edx
mov ebx, ecx
mov ecx, dword [esp + 0xec]
mov dword [ecx + 4], eax
mov byte [eax + ebx - 1], 0x3a
jmp 0x4a4157
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0x68]
jmp 0x4a3dcf
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
inc edx
mov ebx, dword [eax]
cmp ecx, edx
jae 0x4a41c8
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a41c2
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov ebx, ecx
mov dword [eax + 4], edx
mov byte [edx + ebx - 1], 0x7d
jmp 0x4a3dc8
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], esi
call fcn.00481780
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x100]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004a2b20
mov eax, dword [esp + 0x5c]
lea esi, [eax + 1]
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf8]
mov ebx, dword [esp + 0xf4]
mov ebp, dword [esp + 0xf0]
mov eax, edx
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xec]
mov ebx, ebp
mov ebp, dword [esp + 0xf4]
mov dword [esp + 0x5c], esi
cmp ecx, 0x17
jne 0x4a427a
mov edi, dword [ebp + 4]
jmp 0x4a42b5
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call fcn.004819c0
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0xec]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, dword [esp + 0x5c]
cmp edi, esi
jle 0x4a4353
test esi, esi
jle 0x4a41d5
mov edi, dword [edx + 8]
mov ecx, dword [edx + 4]
inc ecx
mov esi, dword [edx]
cmp edi, ecx
jae 0x4a4342
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a4320
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, dword [esp + 0xf8]
mov ebx, dword [esp + 0xf0]
mov ebp, dword [esp + 0xf4]
mov esi, ecx
mov ecx, edx
mov edx, dword [esp + 0xec]
mov dword [edx + 4], ecx
mov byte [ecx + esi - 1], 0x20
mov esi, dword [esp + 0x5c]
jmp 0x4a41d5
mov eax, dword [edx + 8]
mov ecx, dword [edx + 4]
inc ecx
nop
mov ebx, dword [edx]
cmp eax, ecx
jae 0x4a43b9
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a43af
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, edx
mov edx, ebx
mov ebx, ecx
mov ecx, eax
mov dword [edx + 4], ecx
mov byte [ecx + ebx - 1], 0x5d
jmp 0x4a3dc8
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
call fcn.00481780
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x100]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call fcn.004a2b20
mov eax, dword [esp + 0x60]
lea ebx, [eax + 1]
mov ebp, dword [esp + 0x80]
cmp ebp, 0x17
mov eax, dword [esp + 0xec]
mov ecx, dword [esp + 0xf8]
mov edx, dword [esp + 0xf4]
mov esi, dword [esp + 0xf0]
mov eax, ecx
mov ecx, dword [esp + 0xec]
mov edx, esi
mov esi, dword [esp + 0xf4]
mov dword [esp + 0x60], ebx
jne 0x4a4464
mov edi, dword [esi + 4]
jmp 0x4a449f
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], eax
call fcn.004819c0
mov edi, dword [esp + 0xc]
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x80]
mov esi, dword [esp + 0xf4]
cmp edi, ebx
jle 0x4a4543
test ebx, ebx
jle 0x4a43c6
mov edi, dword [ecx + 8]
mov ebp, dword [ecx + 4]
lea ebx, [ebp + 2]
mov eax, dword [ecx]
cmp edi, ebx
jae 0x4a450f
mov dword [esp + 0x88], ebp
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 2
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xf0]
mov ebp, dword [esp + 0x88]
mov esi, dword [esp + 0xf4]
mov word [eax + ebp], 0x202c
mov dword [ecx + 4], ebx
mov dword [ecx + 8], edi
mov ebx, dword [0x69c4d8]
test ebx, ebx
je 0x4a4531
call fcn.0046ced0
mov dword [edi], eax
mov ebx, dword [ecx]
mov dword [edi + 4], ebx
mov dword [ecx], eax
mov eax, dword [esp + 0xf8]
mov ebx, dword [esp + 0x60]
jmp 0x4a43c6
mov eax, dword [ecx + 8]
mov edx, dword [ecx + 4]
inc edx
nop
mov ebx, dword [ecx]
cmp eax, edx
jae 0x4a45a7
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a459f
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ecx
mov ecx, ebx
mov ebx, eax
mov dword [ecx + 4], edx
mov byte [edx + ebx - 1], 0x7d
jmp 0x4a3dc8
mov dword [esp + 0x74], eax
mov dword [esp + 0x70], edx
mov dword [esp + 0xa4], ecx
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x94]
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 + 0xec]
mov dword [esp], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x74]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call fcn.004a0e00
add esp, 0xe8
ret
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0xac]
mov byte [ebx + edx], al
lea ecx, [edx + 1]
mov eax, ebx
mov edx, dword [esp + 0x40]
cmp ecx, edx
jge 0x4a46cd
mov dword [esp + 0x64], ecx
mov eax, dword [esp + 0xf0]
mov dword [esp], eax
mov edx, dword [esp + 0xf4]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xf8]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call fcn.00481780
mov eax, dword [esp + 0x18]
and eax, 0x1f
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x14]
nop
cmp eax, 9
ja 0x4a46a9
cmp eax, 7
jne 0x4a4692
mov eax, dword [ecx]
jmp 0x4a4625
cmp eax, 8
jne 0x4a469c
movzx eax, byte [ecx]
jmp 0x4a4625
cmp eax, 9
jne 0x4a46db
movzx eax, word [ecx]
jmp 0x4a4625
cmp eax, 0xa
jne 0x4a46b5
mov eax, dword [ecx]
jmp 0x4a4625
cmp eax, 0xb
jne 0x4a46c1
mov eax, dword [ecx]
jmp 0x4a4625
cmp eax, 0xc
jne 0x4a46db
mov eax, dword [ecx]
jmp 0x4a4625
mov eax, edx
mov ecx, dword [esp + 0xac]
jmp 0x4a45b4
lea eax, [0x501d40]
mov dword [esp], eax
call fcn.0040b6c0
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x12
lea ecx, [0x5182f0]
mov dword [eax], ecx
mov ecx, dword [esp + 0x80]
mov dword [eax + 8], ecx
lea ecx, [0x4fde60]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00466d40
mov dword [eax + 4], edx
mov byte [edx + ebx - 1], 0x3a
mov ecx, dword [esp + 0xc0]
mov edx, dword [esp + 0xc4]
mov ebx, dword [esp + 0xc8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov ecx, dword [esp + 0xfc]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x88]
mov dword [esp + 0x14], edx
call fcn.004a2b20
mov eax, dword [esp + 0xac]
add eax, 0x18
mov ecx, dword [esp + 0x6c]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x44]
cmp edx, ecx
jge 0x4a4971
mov dword [esp + 0x6c], edx
mov dword [esp + 0xac], eax
lea edi, [esp + 0xb4]
mov esi, eax
call fcn.0046d5f4
test edx, edx
jle 0x4a48af
mov ecx, dword [esp + 0xec]
movzx ebx, byte [ecx + 0x2c]
test bl, bl
je 0x4a4837
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 4]
lea esi, [ebp + 2]
mov edi, dword [ecx]
cmp ebx, esi
jae 0x4a480d
mov dword [esp + 0x88], ebp
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 2
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0x6c]
mov ebp, dword [esp + 0x88]
mov word [edi + ebp], 0x202c
mov dword [ecx + 4], esi
mov dword [ecx + 8], ebx
mov ebx, dword [0x69c4d8]
test ebx, ebx
je 0x4a4833
mov ebx, edi
call fcn.0046ced0
mov dword [edi], ebx
mov ebp, dword [ecx]
mov dword [edi + 4], ebp
mov edi, ebx
mov dword [ecx], edi
jmp 0x4a48b6
mov ebx, dword [ecx + 8]
mov ebp, dword [ecx + 4]
inc ebp
mov esi, dword [ecx]
cmp ebx, ebp
jae 0x4a48a5
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a4892
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, dword [esp + 0xac]
mov ebp, edx
mov esi, ecx
mov ecx, ebx
mov edx, dword [esp + 0x6c]
mov dword [ecx + 4], ebp
mov byte [ebp + esi - 1], 0x20
jmp 0x4a48b6
mov ecx, dword [esp + 0xec]
mov eax, dword [esp + 0xb4]
mov edx, dword [esp + 0xb8]
mov ebx, dword [esp + 0xbc]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0xfc]
mov dword [esp + 0x10], eax
mov edx, dword [esp + 0x100]
lea ebx, [edx + 1]
mov dword [esp + 0x88], ebx
mov dword [esp + 0x14], ebx
call fcn.004a2b20
mov eax, dword [esp + 0xec]
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
inc edx
nop
mov ebx, dword [eax]
cmp ecx, edx
jae 0x4a4718
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a4966
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov ebx, ecx
jmp 0x4a4718
mov eax, dword [esp + 0xec]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4a49ef
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
inc edx
nop
mov ebx, dword [eax]
cmp ecx, edx
jae 0x4a49e2
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a49dc
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov ebx, ecx
mov dword [eax + 4], edx
mov byte [edx + ebx - 1], 0x7d
jmp 0x4a3dc8
mov ecx, dword [eax + 8]
mov edx, dword [eax + 4]
inc edx
nop
mov ebx, dword [eax]
cmp ecx, edx
jae 0x4a4a51
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x4fb820]
mov dword [esp + 0x10], eax
call fcn.00468110
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xec]
mov dword [ebx + 8], eax
mov eax, dword [0x69c4d8]
test eax, eax
je 0x4a4a4b
call fcn.0046ced0
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov ebx, ecx
mov dword [eax + 4], edx
mov byte [edx + ebx - 1], 0x5d
jmp 0x4a3dc8
call fcn.0046bac0
jmp fcn.004a2b20