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

Disassembly:
mov ecx, dword [0x85d3cc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x3e4]
cmp eax, dword [ecx + 8]
jbe 0x4aa764
sub esp, 0x464
lea edi, [esp + 0x480]
xor eax, eax
call fcn.0046827b
mov ecx, dword [esp + 0x46c]
mov edx, dword [esp + 0x468]
xor ebx, ebx
xor ebp, ebp
mov esi, 0xffffffff
xor edi, edi
mov ecx, 0xffffffff
mov dword [esp + 0xe8], ecx
mov ecx, 0xffffffff
mov dword [esp + 0x80], ecx
xor ecx, ecx
mov dword [esp + 0xb4], ecx
xor ecx, ecx
mov byte [esp + 0x36], cl
xor edx, edx
mov byte [esp + 0x37], dl
mov edx, 0xffffffff
mov dword [esp + 0xc0], edx
xor edx, edx
mov dword [esp + 0xc8], edx
xor edx, edx
mov dword [esp + 0xe0], edx
xor edx, edx
mov dword [esp + 0x3f4], edx
xor ebx, ebx
mov dword [esp + 0xa8], ebx
xor ebx, ebx
mov dword [esp + 0xa0], ebx
xor ebx, ebx
mov dword [esp + 0x40c], ebx
mov ebx, dword [esp + 0x474]
mov dword [esp + 0xfc], ebx
mov ebx, dword [esp + 0x470]
mov dword [esp + 0x424], ebx
mov ecx, dword [esp + 0x46c]
mov edx, dword [esp + 0x468]
xor ebx, ebx
jmp 0x4a7da4
mov edx, dword [esp + 0x3fc]
mov ebx, dword [esp + 0x88]
mov ebp, dword [esp + 0x84]
mov esi, dword [esp + 0x8c]
mov dword [esp + 0x3f4], eax
mov dword [esp + 0xfc], edi
mov dword [esp + 0x424], ecx
mov ecx, dword [esp + 0x98]
mov edi, dword [esp + 0x3f0]
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x420], edx
mov dword [esp + 0x84], ebp
mov dword [esp + 0x3f0], edi
mov dword [esp + 0x88], ebx
mov dword [esp + 0x8c], esi
mov dword [esp], edx
mov dword [esp + 4], ecx
call fcn.004a34c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xf8]
mov edx, ecx
sub ecx, eax
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 8]
cmp edx, ecx
jb 0x4aa75e
mov edx, dword [esp + 0xc]
cmp edx, ecx
ja 0x4aa757
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xac], edx
mov dword [esp + 0xf8], ecx
mov dword [esp + 0x98], eax
mov dword [esp + 0x3fc], ebx
mov dword [esp + 0x410], esi
mov eax, dword [esp + 0x424]
mov dword [esp], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], eax
call fcn.004a79d0
mov eax, dword [esp + 0xf8]
mov ecx, dword [esp + 0xac]
sub eax, ecx
mov edx, eax
neg eax
sar eax, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x420]
add eax, ebp
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x424], ebp
mov esi, dword [esp + 0x14]
mov dword [esp + 0x94], esi
test ebx, ebx
jne 0x4a9f08
mov edi, dword [esp + 0x9c]
test edi, edi
je 0x4a8d60
mov dword [esp + 0xfc], edx
mov dword [esp + 0x400], eax
mov ecx, edi
and edi, 0xffff
cmp edi, 0x106
jg 0x4a8699
cmp edi, 0x23
jg 0x4a8439
cmp edi, 0x21
jg 0x4a833b
cmp edi, 0x17
jne 0x4a7fb5
mov dword [esp + 0xe4], ebx
cmp esi, 3
jl 0x4a7f11
cmp word [ebp], 0x5455
jne 0x4a7f11
cmp byte [ebp + 2], 0x43
jne 0x4a7f11
lea ecx, [esi - 3]
mov edi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 3
mov eax, dword [0x832474]
add ecx, ebp
jmp 0x4a8d44
mov dword [esp], ebp
mov dword [esp + 4], esi
call fcn.004aa770
movzx eax, byte [esp + 0xc]
test al, al
je 0x4a7f8a
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x94]
cmp ecx, edx
ja 0x4aa752
mov esi, edx
sub esi, ecx
mov eax, esi
neg eax
sar eax, 0x1f
and eax, ecx
mov edi, dword [esp + 0x424]
lea ebp, [eax + edi]
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0x3f4]
mov ebx, dword [esp + 0xe4]
mov dword [esp + 0x84], ecx
mov dword [esp + 0x3f0], edi
mov edi, esi
mov ecx, ebp
mov ebp, dword [esp + 0x3f0]
mov esi, dword [esp + 0x94]
jmp 0x4a8d44
mov ebx, dword [0x832830]
mov edx, dword [esp + 0xfc]
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
jmp 0x4a8d44
cmp edi, 0x18
jl 0x4a8a64
cmp ecx, 0x18
je 0x4a7fcd
cmp ecx, 0x1a
je 0x4a7fcd
cmp ecx, 0x1b
jne 0x4a7ff6
test esi, esi
je 0x4a7ff1
cmp byte [ebp], 0x5a
jne 0x4a7ff1
lea ecx, [esi - 1]
mov edi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
add ecx, ebp
mov eax, dword [0x832474]
jmp 0x4a8d44
cmp ecx, 0x1b
je 0x4a7ffb
cmp ecx, 0x20
jne 0x4a8067
cmp esi, 6
jge 0x4a8016
mov ebx, dword [0x832830]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
jmp 0x4a8d44
cmp byte [ebp + 3], 0x3a
je 0x4a8032
mov ebx, dword [0x832830]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
jmp 0x4a8d44
lea ecx, [esi - 6]
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 6
lea edi, [ebp + 1]
lea eax, [ebp + 4]
add ecx, ebp
mov dword [esp + 0x120], eax
lea eax, [0x690dcb]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x120]
jmp 0x4a8222
cmp ecx, 0x1f
je 0x4a8071
cmp ecx, 0x1a
jne 0x4a80cb
cmp esi, 3
jge 0x4a808c
mov ebx, dword [0x832830]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
jmp 0x4a8d44
lea ecx, [esi - 3]
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 3
lea edi, [ebp + 1]
add ecx, ebp
mov dword [esp + 0x130], eax
lea eax, [0x690dcb]
mov dword [esp + 0x404], eax
lea eax, [0x690dcb]
mov dword [esp + 0x414], eax
mov eax, dword [esp + 0x130]
jmp 0x4a821b
cmp ecx, 0x1c
je 0x4a80d5
cmp ecx, 0x21
jne 0x4a8151
cmp esi, 9
jge 0x4a80f0
mov ebx, dword [0x832830]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
jmp 0x4a8d44
cmp byte [ebp + 3], 0x3a
jne 0x4a80fc
cmp byte [ebp + 6], 0x3a
je 0x4a8112
mov ebx, dword [0x832830]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
jmp 0x4a8d44
lea ecx, [esi - 9]
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 9
lea edi, [ebp + 1]
lea eax, [ebp + 4]
lea edx, [ebp + 7]
add ecx, ebp
mov dword [esp + 0x404], edx
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x138], eax
mov eax, ecx
mov ecx, ebx
mov ebx, eax
mov eax, dword [esp + 0x138]
jmp 0x4a81fd
cmp ecx, 0x19
je 0x4a815b
cmp ecx, 0x1e
jne 0x4a81b2
cmp esi, 7
jge 0x4a8176
mov ebx, dword [0x832830]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
jmp 0x4a8d44
lea ecx, [esi - 7]
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 7
lea edi, [ebp + 1]
lea eax, [ebp + 3]
lea edx, [ebp + 5]
add ecx, ebp
mov dword [esp + 0x404], edx
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x148], eax
mov eax, ecx
mov ecx, ebx
mov ebx, eax
mov eax, dword [esp + 0x148]
jmp 0x4a81fd
cmp esi, 5
jge 0x4a81cd
mov ebx, dword [0x832830]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
jmp 0x4a8d44
lea ecx, [esi - 5]
mov ebx, ecx
neg ebx
sar ebx, 0x1f
and ebx, 5
lea edi, [ebp + 1]
lea eax, [ebp + 3]
add ebx, ebp
mov dword [esp + 0x140], eax
lea eax, [0x690dcb]
mov dword [esp + 0x404], eax
mov eax, dword [esp + 0x140]
mov dword [esp + 0x414], eax
mov eax, dword [esp + 0x400]
mov dword [esp + 0x128], ecx
mov ecx, ebx
mov ebx, dword [esp + 0x128]
mov eax, dword [esp + 0x414]
mov dword [esp + 0x414], eax
mov dword [esp + 0x420], ecx
mov dword [esp + 0xf8], ebx
mov dword [esp], edi
mov dword [esp + 4], 2
mov byte [esp + 8], 1
call fcn.004a78c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xdc], ecx
test eax, eax
je 0x4a8263
xor edx, edx
jmp 0x4a8292
mov eax, dword [esp + 0x414]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 1
call fcn.004a78c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, eax
mov eax, ecx
mov ecx, dword [esp + 0xdc]
test eax, eax
je 0x4a829a
xor ebx, ebx
jmp 0x4a82d7
mov dword [esp + 0xc4], edx
mov eax, dword [esp + 0x404]
mov dword [esp], eax
mov dword [esp + 4], 2
mov byte [esp + 8], 1
call fcn.004a78c0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xc4]
mov ebx, eax
mov eax, ecx
mov ecx, dword [esp + 0xdc]
imul ecx, ecx, 0x3c
add ecx, edx
imul ecx, ecx, 0x3c
mov edx, dword [esp + 0x424]
movzx ebp, byte [edx]
add ecx, ebx
xchg ebp, eax
cmp al, 0x2b
xchg ebp, eax
je 0x4a8303
xchg ebp, eax
cmp al, 0x2d
xchg ebp, eax
jne 0x4a82fd
neg ecx
jmp 0x4a8303
mov eax, dword [0x832830]
mov edx, dword [esp + 0xfc]
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
mov ebx, eax
mov dword [esp + 0x80], ecx
mov edi, dword [esp + 0xf8]
mov ecx, dword [esp + 0x420]
mov eax, dword [esp + 0x3f4]
jmp 0x4a8d44
cmp edi, 0x22
jne 0x4a83f9
sar ecx, 0x10
and ecx, 0xfff
lea ebx, [ecx + 1]
cmp esi, ebx
jge 0x4a836a
mov ebx, dword [0x832830]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
jmp 0x4a8d44
mov dword [esp + 0x78], ecx
mov dword [esp + 0xb8], ebx
lea eax, [0x6f1200]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
call fcn.004b3140
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0x78]
sub eax, ecx
lea esi, [eax - 1]
mov eax, esi
neg eax
sar eax, 0x1f
mov ecx, dword [esp + 0xb8]
and ecx, eax
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x10]
mov ebp, dword [esp + 0x424]
add ecx, ebp
mov edi, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp + 0xa8], edx
mov dword [esp + 0x40c], edi
mov dword [esp + 0xb4], eax
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov esi, dword [esp + 0x94]
jmp 0x4a8d44
cmp esi, 2
jl 0x4a8429
movzx edi, byte [ebp]
xchg edi, eax
cmp al, 0x2e
xchg edi, eax
je 0x4a8410
xchg edi, eax
cmp al, 0x2c
xchg edi, eax
jne 0x4a8429
movzx edi, byte [ebp + 1]
xchg edi, eax
cmp al, 0x30
xchg edi, eax
jb 0x4a8429
xchg edi, eax
cmp al, 0x39
xchg edi, eax
ja 0x4a8429
xor ecx, ecx
jmp 0x4aa68b
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
jmp 0x4a8d44
cmp edi, 0x102
jg 0x4a8527
cmp edi, 0x101
je 0x4a84c0
cmp edi, 0x102
jne 0x4a8a64
mov eax, dword [0x832e00]
mov ecx, dword [0x832e04]
mov edx, dword [0x832e08]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.004a4270
mov eax, dword [esp + 0x14]
inc eax
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0xfc]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
jmp 0x4a8d44
mov eax, dword [0x832e10]
mov ecx, dword [0x832e14]
mov edx, dword [0x832e18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.004a4270
mov eax, dword [esp + 0x14]
inc eax
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0xfc]
mov dword [esp + 0xc0], eax
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
jmp 0x4a8d44
cmp edi, 0x104
jle 0x4a85fd
cmp edi, 0x105
je 0x4a85a2
cmp edi, 0x106
jne 0x4a8a64
mov eax, dword [0x832df0]
mov ecx, dword [0x832df4]
mov edx, dword [0x832df8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.004a4270
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
jmp 0x4a8d44
mov eax, dword [0x832de0]
mov ecx, dword [0x832de4]
mov edx, dword [0x832de8]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], esi
call fcn.004a4270
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov edx, dword [esp + 0xfc]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
jmp 0x4a8d44
mov dword [esp], ebp
mov dword [esp + 4], esi
cmp ecx, 0x104
sete al
mov byte [esp + 8], al
call fcn.004a78c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
test eax, eax
je 0x4a8632
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x40c]
jmp 0x4a8655
lea edx, [ecx - 1]
cmp edx, 0xb
jbe 0x4a8647
mov edx, 5
lea ebx, [0x6911e4]
jmp 0x4a8655
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0x40c]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov dword [esp + 0xa8], edx
mov dword [esp + 0xc0], ecx
mov edi, esi
mov ecx, ebp
mov dword [esp + 0x40c], ebx
mov edx, dword [esp + 0xfc]
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
mov ebx, eax
mov eax, dword [esp + 0x3f4]
jmp 0x4a8d44
cmp edi, 0x20c
jg 0x4a8940
cmp edi, 0x10b
jg 0x4a8755
cmp edi, 0x109
jle 0x4a86cd
mov ebx, esi
mov edi, ebp
xor ebx, ebx
mov dword [esp + 0xd8], ebx
mov ebx, esi
jmp 0x4aa59b
cmp ecx, 0x108
jne 0x4a86fc
test esi, esi
je 0x4a86f6
cmp byte [ebp], 0x20
jne 0x4a86f0
lea ebx, [esi - 1]
mov edi, ebx
neg ebx
sar ebx, 0x1f
and ebx, 1
add ebx, ebp
jmp 0x4a8700
mov edi, esi
mov ebx, ebp
jmp 0x4a8700
mov edi, esi
mov ebx, ebp
jmp 0x4a8700
mov edi, esi
mov ebx, ebp
mov dword [esp], ebx
mov dword [esp + 4], edi
cmp ecx, 0x109
sete al
mov byte [esp + 8], al
call fcn.004a78c0
mov eax, dword [esp + 0xc]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0xfc]
mov dword [esp + 0xe8], eax
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
jmp 0x4a8d44
cmp edi, 0x113
jne 0x4a87f6
cmp esi, 4
jl 0x4a8772
movzx ecx, byte [ebp]
add ecx, 0xffffffd0
cmp cl, 9
jbe 0x4a8788
mov ebx, dword [0x832830]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
jmp 0x4a8d44
lea eax, [0x6f11f8]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 4
call fcn.004b32d0
mov eax, dword [esp + 0x94]
lea esi, [eax - 4]
mov ecx, esi
neg ecx
sar ecx, 0x1f
and ecx, 4
mov edx, dword [esp + 0x424]
lea ebp, [ecx + edx]
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xfc]
mov dword [esp + 0x88], ebx
mov eax, dword [esp + 0x3f4]
mov ebx, ecx
mov edi, esi
mov ecx, ebp
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
jmp 0x4a8d44
cmp edi, 0x114
jne 0x4a88b9
cmp esi, 2
jge 0x4a881d
mov ebx, dword [0x832830]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
jmp 0x4a8d44
lea eax, [0x6f11f8]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], 2
call fcn.004b32d0
mov eax, dword [esp + 0x94]
lea ecx, [eax - 2]
mov edx, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x424]
add ecx, ebp
mov esi, dword [esp + 0xc]
test ebx, ebx
je 0x4a8883
mov dword [esp + 0x88], esi
mov eax, dword [esp + 0x3f4]
mov edi, edx
mov edx, dword [esp + 0xfc]
mov esi, dword [esp + 0x94]
jmp 0x4a8d44
cmp esi, 0x45
jl 0x4a8890
add esi, 0x76c
jmp 0x4a8896
add esi, 0x7d0
mov dword [esp + 0x88], esi
mov eax, dword [esp + 0x3f4]
mov edi, edx
mov edx, dword [esp + 0xfc]
mov esi, dword [esp + 0x94]
jmp 0x4a8d44
cmp edi, 0x20c
jne 0x4a8a64
mov dword [esp], ebp
mov dword [esp + 4], esi
mov byte [esp + 8], 0
call fcn.004a78c0
mov eax, dword [esp + 0xc]
cmp eax, 0x18
jb 0x4a88ec
mov ecx, 4
lea edx, [0x691043]
jmp 0x4a88fa
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x40c]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
mov dword [esp + 0x40c], edx
mov edx, dword [esp + 0xfc]
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
jmp 0x4a8d44
cmp edi, 0x210
jle 0x4a8c3a
cmp edi, 0x212
jle 0x4a8a74
cmp edi, 0x215
jne 0x4a89de
cmp esi, 2
jge 0x4a897b
mov ebx, dword [0x832830]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
jmp 0x4a8d44
lea ecx, [esi - 2]
mov edi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebp
cmp word [ebp], 0x4d41
jne 0x4a89ab
mov dword [esp + 0x110], eax
mov eax, 1
mov byte [esp + 0x37], al
mov eax, dword [esp + 0x110]
jmp 0x4a89d2
cmp word [ebp], 0x4d50
jne 0x4a89cc
mov dword [esp + 0x118], eax
mov eax, 1
mov byte [esp + 0x36], al
mov eax, dword [esp + 0x118]
jmp 0x4a89d2
mov ebx, dword [0x832830]
mov eax, dword [esp + 0x3f4]
jmp 0x4a8d44
cmp edi, 0x216
jne 0x4a8a64
cmp esi, 2
jge 0x4a8a01
mov ebx, dword [0x832830]
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
jmp 0x4a8d44
lea ecx, [esi - 2]
mov edi, ecx
neg ecx
sar ecx, 0x1f
and ecx, 2
add ecx, ebp
cmp word [ebp], 0x6d61
jne 0x4a8a31
mov dword [esp + 0x100], eax
mov eax, 1
mov byte [esp + 0x37], al
mov eax, dword [esp + 0x100]
jmp 0x4a8a58
cmp word [ebp], 0x6d70
jne 0x4a8a52
mov dword [esp + 0x108], eax
mov eax, 1
mov byte [esp + 0x36], al
mov eax, dword [esp + 0x108]
jmp 0x4a8a58
mov ebx, dword [0x832830]
mov eax, dword [esp + 0x3f4]
jmp 0x4a8d44
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
jmp 0x4a8d44
mov dword [esp], ebp
mov dword [esp + 4], esi
cmp ecx, 0x212
sete al
mov byte [esp + 8], al
call fcn.004a78c0
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
test eax, eax
je 0x4a8acf
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
mov dword [esp + 0xa0], ecx
mov edi, ebx
mov ecx, edx
mov edx, dword [esp + 0xfc]
mov ebx, eax
mov eax, dword [esp + 0x3f4]
jmp 0x4a8d44
cmp ecx, 0x3c
jb 0x4a8b1b
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
mov edi, 6
mov dword [esp + 0xa8], edi
mov dword [esp + 0xa0], ecx
mov edi, ebx
mov ecx, edx
lea edx, [0x6913f6]
mov dword [esp + 0x40c], edx
mov edx, dword [esp + 0xfc]
mov ebx, eax
mov eax, dword [esp + 0x3f4]
jmp 0x4a8d44
cmp ebx, 2
jl 0x4a8c20
movzx ebp, byte [edx]
xchg ebp, eax
cmp al, 0x2e
xchg ebp, eax
je 0x4a8b39
xchg ebp, eax
cmp al, 0x2c
xchg ebp, eax
jne 0x4a8c06
movzx ebp, byte [edx + 1]
add ebp, 0xffffffd0
xchg ebp, eax
cmp al, 9
xchg ebp, eax
jbe 0x4a8b61
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0x40c]
jmp 0x4aa4cf
mov dword [esp + 0xf4], ecx
mov dword [esp + 0xf0], eax
mov dword [esp + 0xa4], ebx
mov dword [esp + 0x408], edx
mov eax, dword [esp + 0x3fc]
mov dword [esp], eax
mov ecx, dword [esp + 0x98]
mov dword [esp + 4], ecx
call fcn.004a34c0
mov eax, dword [esp + 0x10]
and eax, 0xffff
cmp eax, 0x22
je 0x4a8baa
cmp eax, 0x23
jne 0x4a8bee
mov edx, dword [esp + 0xfc]
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x3f4]
mov ebx, dword [esp + 0xf0]
mov edi, dword [esp + 0xa4]
mov ecx, dword [esp + 0x408]
jmp 0x4a8d44
mov eax, dword [esp + 0x408]
mov ecx, dword [esp + 0xa4]
mov edx, 2
jmp 0x4aa513
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0x40c]
jmp 0x4aa4cf
mov ebp, dword [esp + 0xa8]
mov esi, dword [esp + 0xb4]
mov edi, dword [esp + 0x40c]
jmp 0x4aa4cf
cmp edi, 0x20e
jg 0x4a8cc6
mov dword [esp], ebp
mov dword [esp + 4], esi
cmp ecx, 0x20e
sete al
mov byte [esp + 8], al
call fcn.004a78c0
mov eax, dword [esp + 0xc]
cmp eax, 0xc
jbe 0x4a8c75
mov ecx, 4
lea edx, [0x691043]
jmp 0x4a8c83
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x40c]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xe0], eax
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
mov dword [esp + 0x40c], edx
mov edx, dword [esp + 0xfc]
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
jmp 0x4a8d44
mov dword [esp], ebp
mov dword [esp + 4], esi
cmp ecx, 0x210
sete al
mov byte [esp + 8], al
call fcn.004a78c0
mov eax, dword [esp + 0xc]
cmp eax, 0x3c
jb 0x4a8cf5
mov ecx, 6
lea edx, [0x6913f0]
jmp 0x4a8d03
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x40c]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x3f4]
mov edi, esi
mov ecx, ebp
mov dword [esp + 0x40c], edx
mov edx, dword [esp + 0xfc]
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
mov edx, dword [esp + 0xa8]
test edx, edx
jne 0x4aa29a
test ebx, ebx
je 0x4a7d65
jmp 0x4aa0e8
test esi, esi
jne 0x4a9d06
movzx edx, byte [esp + 0x36]
test dl, dl
je 0x4a8d82
mov edx, dword [esp + 0xe0]
cmp edx, 0xc
jge 0x4a8d89
add edx, 0xc
jmp 0x4a8d99
mov edx, dword [esp + 0xe0]
movzx ebx, byte [esp + 0x37]
test bl, bl
je 0x4a8d99
cmp edx, 0xc
jne 0x4a8d99
xor edx, edx
mov ebx, dword [esp + 0x8c]
test ebx, ebx
jl 0x4a939d
mov eax, dword [esp + 0x88]
test eax, 3
jne 0x4a8e46
mov edi, 0x51eb851f
mov ecx, edx
imul edi
mov dword [esp + 0xfc], edx
mov eax, dword [esp + 0x88]
sar eax, 0x1f
sar edx, 5
sub edx, eax
imul edx, edx, 0x64
mov esi, dword [esp + 0x88]
cmp esi, edx
jne 0x4a8dfd
mov edx, dword [esp + 0xfc]
sar edx, 7
sub edx, eax
imul edx, edx, 0x190
cmp esi, edx
jne 0x4a8e35
cmp ebx, 0x3c
jne 0x4a8e10
mov edx, ebx
mov eax, 2
mov ebx, 0x1d
jmp 0x4a8e1d
jle 0x4a8e17
lea edx, [ebx - 1]
jmp 0x4a8e19
mov edx, ebx
xor eax, eax
xor ebx, ebx
mov esi, dword [esp + 0x94]
mov edi, ebx
mov ebx, edx
mov edx, ecx
mov ecx, eax
mov eax, dword [esp + 0x88]
jmp 0x4a8e4a
mov eax, esi
mov edx, ecx
mov esi, dword [esp + 0x94]
xor ecx, ecx
xor edi, edi
jmp 0x4a8e4a
xor ecx, ecx
xor edi, edi
lea esi, [ebx - 1]
cmp esi, 0x16c
ja 0x4a9209
test ecx, ecx
jne 0x4a8eb3
mov ecx, eax
mov eax, 0x84210843
mov edi, edx
imul esi
lea edx, [edx + ebx - 1]
sar edx, 4
lea eax, [edx + 1]
cmp eax, 0xd
jae 0x4aa0de
lea esi, [0x827480]
lea ebp, [esi + edx*4 + 4]
cmp dword [ebp], ebx
jge 0x4a8e8d
lea eax, [edx + 2]
lea edx, [eax - 1]
cmp edx, 0xd
jae 0x4aa0d2
mov edx, dword [esi + eax*4 - 4]
sub ebx, edx
mov edx, edi
mov ebp, dword [esp + 0x424]
mov ecx, eax
mov edi, ebx
mov eax, dword [esp + 0x88]
mov ebx, dword [esp + 0xc0]
test ebx, ebx
jl 0x4a905e
cmp ecx, ebx
je 0x4a905e
nop
lea eax, [esp + 0x230]
mov dword [esp], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x474]
mov dword [esp + 8], eax
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
nop
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3a4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x4c], ecx
lea edx, [esp + 0x210]
mov dword [esp], edx
mov edx, dword [esp + 0x424]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 8], edx
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3a0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
lea edx, [0x67c400]
mov dword [esp], edx
call fcn.0040c260
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x46c]
mov dword [eax + 4], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a8fa3
mov ecx, dword [esp + 0x468]
jmp 0x4a8fb1
call fcn.00468030
mov ecx, dword [esp + 0x468]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x4c]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a8fcd
mov ecx, dword [esp + 0x3a4]
jmp 0x4a8fdb
call fcn.00468030
mov ecx, dword [esp + 0x3a4]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov ecx, dword [esp + 0x48]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a9006
mov ecx, dword [esp + 0x3a0]
jmp 0x4a9014
call fcn.00468030
mov ecx, dword [esp + 0x3a0]
mov dword [edi], ecx
mov dword [esp + 0x3d8], eax
mov dword [eax + 0x18], ecx
mov dword [eax + 0x24], 0x22
lea ecx, [0x69b9d2]
mov dword [eax + 0x20], ecx
lea edi, [esp + 0x480]
xor eax, eax
call fcn.0046827b
lea ecx, [0x6f1d14]
mov dword [esp + 0x494], ecx
mov ecx, dword [esp + 0x3d8]
mov dword [esp + 0x498], ecx
add esp, 0x464
ret
mov ebx, dword [esp + 0xe8]
test ebx, ebx
jl 0x4a93c6
cmp edi, ebx
je 0x4a93c6
nop
lea eax, [esp + 0x1f0]
mov dword [esp], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x474]
mov dword [esp + 8], eax
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
nop
mov eax, dword [esp + 0xc]
mov dword [esp + 0x39c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x44], ecx
lea edx, [esp + 0x1d0]
mov dword [esp], edx
mov edx, dword [esp + 0x424]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 8], edx
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
mov eax, dword [esp + 0xc]
mov dword [esp + 0x398], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
lea edx, [0x67c400]
mov dword [esp], edx
call fcn.0040c260
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x46c]
mov dword [eax + 4], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a914e
mov ecx, dword [esp + 0x468]
jmp 0x4a915c
call fcn.00468030
mov ecx, dword [esp + 0x468]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x44]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a9178
mov ecx, dword [esp + 0x39c]
jmp 0x4a9186
call fcn.00468030
mov ecx, dword [esp + 0x39c]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov ecx, dword [esp + 0x40]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a91b1
mov ecx, dword [esp + 0x398]
jmp 0x4a91bf
call fcn.00468030
mov ecx, dword [esp + 0x398]
mov dword [edi], ecx
mov dword [esp + 0x3d4], eax
mov dword [eax + 0x18], ecx
mov dword [eax + 0x24], 0x20
lea ecx, [0x69a9ab]
mov dword [eax + 0x20], ecx
lea edi, [esp + 0x480]
xor eax, eax
call fcn.0046827b
lea ecx, [0x6f1d14]
mov dword [esp + 0x494], ecx
mov ecx, dword [esp + 0x3d4]
mov dword [esp + 0x498], ecx
add esp, 0x464
ret
nop
lea eax, [esp + 0x270]
mov dword [esp], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x474]
mov dword [esp + 8], eax
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
nop
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3ac], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x54], ecx
lea edx, [esp + 0x250]
mov dword [esp], edx
mov edx, dword [esp + 0x424]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 8], edx
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3a8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], ecx
lea edx, [0x67c400]
mov dword [esp], edx
call fcn.0040c260
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x46c]
mov dword [eax + 4], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a92e2
mov ecx, dword [esp + 0x468]
jmp 0x4a92f0
call fcn.00468030
mov ecx, dword [esp + 0x468]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x54]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a930c
mov ecx, dword [esp + 0x3ac]
jmp 0x4a931a
call fcn.00468030
mov ecx, dword [esp + 0x3ac]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov ecx, dword [esp + 0x50]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a9345
mov ecx, dword [esp + 0x3a8]
jmp 0x4a9353
call fcn.00468030
mov ecx, dword [esp + 0x3a8]
mov dword [edi], ecx
mov dword [esp + 0x3dc], eax
mov dword [eax + 0x18], ecx
mov dword [eax + 0x24], 0x1a
lea ecx, [0x697f91]
mov dword [eax + 0x20], ecx
lea edi, [esp + 0x480]
xor eax, eax
call fcn.0046827b
lea ecx, [0x6f1d14]
mov dword [esp + 0x494], ecx
mov ecx, dword [esp + 0x3dc]
mov dword [esp + 0x498], ecx
add esp, 0x464
ret
mov ebx, dword [esp + 0xc0]
test ebx, ebx
jge 0x4a93ad
mov ebx, 1
mov edi, dword [esp + 0xe8]
test edi, edi
jge 0x4a93bd
mov edi, 1
mov eax, dword [esp + 0x88]
mov ecx, ebx
test edi, edi
jle 0x4a9458
cmp ecx, 2
jne 0x4a9423
test eax, 3
jne 0x4a941f
mov ebx, 0x51eb851f
mov esi, edx
imul ebx
mov dword [esp + 0xfc], edx
mov ebx, dword [esp + 0x88]
mov eax, ebx
sar ebx, 0x1f
sar edx, 5
sub edx, ebx
imul edx, edx, 0x64
cmp eax, edx
jne 0x4a9418
mov edx, dword [esp + 0xfc]
sar edx, 7
sub edx, ebx
imul edx, edx, 0x190
cmp eax, edx
jne 0x4a9425
mov edx, 0x1d
jmp 0x4a9450
mov esi, edx
jmp 0x4a9425
mov esi, edx
cmp ecx, 0xd
jae 0x4aa0c6
lea edx, [ecx - 1]
lea ebx, [0x827480]
mov ebp, dword [ebx + ecx*4]
cmp edx, 0xd
jae 0x4aa0ba
sub ebp, dword [ebx + ecx*4 - 4]
mov edx, ebp
mov ebp, dword [esp + 0x424]
cmp edx, edi
jge 0x4a95ec
nop
lea eax, [esp + 0x1b0]
mov dword [esp], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x474]
mov dword [esp + 8], eax
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
nop
mov eax, dword [esp + 0xc]
mov dword [esp + 0x394], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
lea edx, [esp + 0x190]
mov dword [esp], edx
mov edx, dword [esp + 0x424]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 8], edx
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
mov eax, dword [esp + 0xc]
mov dword [esp + 0x390], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x38], ecx
lea edx, [0x67c400]
mov dword [esp], edx
call fcn.0040c260
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x46c]
mov dword [eax + 4], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a9531
mov ecx, dword [esp + 0x468]
jmp 0x4a953f
call fcn.00468030
mov ecx, dword [esp + 0x468]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x3c]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a955b
mov ecx, dword [esp + 0x394]
jmp 0x4a9569
call fcn.00468030
mov ecx, dword [esp + 0x394]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov ecx, dword [esp + 0x38]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a9594
mov ecx, dword [esp + 0x390]
jmp 0x4a95a2
call fcn.00468030
mov ecx, dword [esp + 0x390]
mov dword [edi], ecx
mov dword [esp + 0x3d0], eax
mov dword [eax + 0x18], ecx
mov dword [eax + 0x24], 0x12
lea ecx, [0x694618]
mov dword [eax + 0x20], ecx
lea edi, [esp + 0x480]
xor eax, eax
call fcn.0046827b
lea ecx, [0x6f1d14]
mov dword [esp + 0x494], ecx
mov ecx, dword [esp + 0x3d0]
mov dword [esp + 0x498], ecx
add esp, 0x464
ret
mov edx, dword [esp + 0x3f4]
test edx, edx
jne 0x4a9c8d
mov edx, dword [esp + 0x80]
cmp edx, 0xffffffff
jne 0x4a999b
mov edx, dword [esp + 0x84]
test edx, edx
je 0x4a991b
mov edx, dword [0x832474]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
call fcn.004ae320
lea edi, [esp + 0x428]
lea esi, [esp + 0x20]
call fcn.0046875e
mov eax, dword [esp + 0x42c]
test eax, 0x80000000
je 0x4a96a0
mov ecx, dword [esp + 0x428]
shl eax, 1
mov edx, ecx
shl ecx, 1
shr edx, 0x1f
or edx, eax
mov eax, edx
shl edx, 1
shr eax, 0x1f
shr ecx, 0x1f
or ecx, edx
add ecx, 0xd7b17f80
adc eax, 0xd
jmp 0x4a96ae
mov ecx, dword [esp + 0x430]
mov eax, dword [esp + 0x434]
mov edx, dword [esp + 0x47c]
mov dword [esp], edx
mov ebx, dword [esp + 0x3f0]
mov dword [esp + 4], ebx
mov ebp, dword [esp + 0x84]
mov dword [esp + 8], ebp
add ecx, 0x886e0900
adc eax, 0xfffffff1
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], ecx
call fcn.004b0ea0
movzx eax, byte [esp + 0x18]
mov ecx, dword [esp + 0x14]
test al, al
jne 0x4a984e
mov eax, dword [esp + 0x84]
cmp eax, 3
jle 0x4a974b
mov edx, dword [esp + 0x3f0]
cmp word [edx], 0x4d47
jne 0x4a9752
cmp byte [edx + 2], 0x54
jne 0x4a9752
lea ecx, [0x6f11f8]
mov dword [esp], ecx
lea ecx, [edx + 3]
mov dword [esp + 4], ecx
lea ecx, [eax - 3]
mov dword [esp + 8], ecx
call fcn.004b32d0
mov eax, dword [esp + 0xc]
imul ecx, eax, 0xe10
mov eax, dword [esp + 0x84]
mov edx, dword [esp + 0x3f0]
jmp 0x4a9752
mov edx, dword [esp + 0x3f0]
mov dword [esp + 0xb0], ecx
nop
lea ebx, [esp + 0x150]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0xb0]
mov dword [esp + 8], eax
call fcn.004aeaa0
mov eax, dword [esp + 0xc]
lea ecx, [0x8358a0]
cmp eax, ecx
jne 0x4a97bc
xor eax, eax
mov ecx, dword [esp + 0x42c]
nop
test ecx, 0x80000000
je 0x4a9817
mov edx, dword [esp + 0x428]
shl ecx, 1
mov ebx, edx
shl edx, 1
shr ebx, 0x1f
or ebx, ecx
mov ecx, ebx
shl ebx, 1
shr edx, 0x1f
or ebx, edx
shr ecx, 0x1f
add ebx, 0xd7b17f80
mov dword [esp + 0x430], ebx
adc ecx, 0xd
mov dword [esp + 0x434], ecx
and dword [esp + 0x428], 0x3fffffff
mov dword [esp + 0x42c], 0
mov dword [esp + 0x438], eax
lea edi, [esp + 0x480]
lea esi, [esp + 0x428]
call fcn.0046875e
mov dword [esp + 0x494], 0
mov dword [esp + 0x498], 0
add esp, 0x464
ret
lea eax, [esp + 0x428]
mov dword [esp], eax
mov eax, ecx
sar ecx, 0x1f
xor edx, edx
sub edx, eax
mov eax, 0
sbb eax, ecx
mov dword [esp + 8], eax
mov dword [esp + 4], edx
call fcn.004ab760
nop
mov eax, dword [esp + 0x47c]
lea ecx, [0x8358a0]
cmp eax, ecx
jne 0x4a9889
xor eax, eax
mov ecx, dword [esp + 0x42c]
nop
test ecx, 0x80000000
je 0x4a98e4
mov edx, dword [esp + 0x428]
shl ecx, 1
mov ebx, edx
shl edx, 1
shr ebx, 0x1f
or ebx, ecx
mov ecx, ebx
shl ebx, 1
shr ecx, 0x1f
shr edx, 0x1f
or ebx, edx
add ebx, 0xd7b17f80
mov dword [esp + 0x430], ebx
adc ecx, 0xd
mov dword [esp + 0x434], ecx
and dword [esp + 0x428], 0x3fffffff
mov dword [esp + 0x42c], 0
mov dword [esp + 0x438], eax
lea edi, [esp + 0x480]
lea esi, [esp + 0x428]
call fcn.0046875e
mov dword [esp + 0x494], 0
mov dword [esp + 0x498], 0
add esp, 0x464
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x478]
mov dword [esp + 0x1c], eax
call fcn.004ae320
lea edi, [esp + 0x450]
lea esi, [esp + 0x20]
call fcn.0046875e
lea edi, [esp + 0x480]
lea esi, [esp + 0x450]
call fcn.0046875e
mov dword [esp + 0x494], 0
mov dword [esp + 0x498], 0
add esp, 0x464
ret
mov edx, dword [0x832474]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
call fcn.004ae320
lea edi, [esp + 0x43c]
lea esi, [esp + 0x20]
call fcn.0046875e
lea eax, [esp + 0x43c]
mov dword [esp], eax
mov eax, dword [esp + 0x80]
mov ecx, eax
sar eax, 0x1f
xor edx, edx
sub edx, ecx
mov ebx, 0
sbb ebx, eax
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
call fcn.004ab760
mov eax, dword [esp + 0x440]
test eax, 0x80000000
je 0x4a9a4f
mov ecx, dword [esp + 0x43c]
shl eax, 1
mov edx, ecx
shl ecx, 1
shr edx, 0x1f
or edx, eax
mov eax, edx
shl edx, 1
shr eax, 0x1f
shr ecx, 0x1f
or ecx, edx
add ecx, 0xd7b17f80
adc eax, 0xd
jmp 0x4a9a5d
mov ecx, dword [esp + 0x444]
mov eax, dword [esp + 0x448]
mov edx, dword [esp + 0x47c]
mov dword [esp], edx
add ecx, 0x886e0900
adc eax, 0xfffffff1
mov dword [esp + 8], eax
mov dword [esp + 4], ecx
call fcn.004aecb0
mov eax, dword [esp + 0x80]
cmp dword [esp + 0x14], eax
jne 0x4a9ada
mov ecx, dword [esp + 0x84]
test ecx, ecx
jne 0x4a9a9c
mov edx, 1
jmp 0x4a9ae3
mov edx, dword [esp + 0x10]
cmp ecx, edx
je 0x4a9aa8
xor edx, edx
jmp 0x4a9ae3
mov eax, dword [esp + 0xc]
mov dword [esp], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004034b0
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x84]
mov edx, eax
mov eax, dword [esp + 0x80]
jmp 0x4a9ae3
mov ecx, dword [esp + 0x84]
xor edx, edx
test dl, dl
je 0x4a9b91
nop
mov eax, dword [esp + 0x47c]
lea ecx, [0x8358a0]
cmp eax, ecx
jne 0x4a9aff
xor eax, eax
mov ecx, dword [esp + 0x440]
nop
test ecx, 0x80000000
je 0x4a9b5a
mov edx, dword [esp + 0x43c]
mov ebx, edx
shl edx, 1
shl ecx, 1
shr ebx, 0x1f
or ebx, ecx
mov ecx, ebx
shl ebx, 1
shr ecx, 0x1f
shr edx, 0x1f
or edx, ebx
add edx, 0xd7b17f80
mov dword [esp + 0x444], edx
adc ecx, 0xd
mov dword [esp + 0x448], ecx
and dword [esp + 0x43c], 0x3fffffff
mov dword [esp + 0x440], 0
mov dword [esp + 0x44c], eax
lea edi, [esp + 0x480]
lea esi, [esp + 0x43c]
call fcn.0046875e
mov dword [esp + 0x494], 0
mov dword [esp + 0x498], 0
add esp, 0x464
ret
nop
lea eax, [esp + 0x170]
mov dword [esp], eax
mov eax, dword [esp + 0x3f0]
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x80]
mov dword [esp + 8], eax
call fcn.004aeaa0
mov eax, dword [esp + 0xc]
lea ecx, [0x8358a0]
cmp eax, ecx
jne 0x4a9bfb
xor eax, eax
mov ecx, dword [esp + 0x440]
nop
test ecx, 0x80000000
je 0x4a9c56
mov edx, dword [esp + 0x43c]
mov ebx, edx
shl edx, 1
shl ecx, 1
shr ebx, 0x1f
or ebx, ecx
mov ecx, ebx
shl ebx, 1
shr edx, 0x1f
or ebx, edx
shr ecx, 0x1f
add ebx, 0xd7b17f80
mov dword [esp + 0x444], ebx
adc ecx, 0xd
mov dword [esp + 0x448], ecx
and dword [esp + 0x43c], 0x3fffffff
mov dword [esp + 0x440], 0
mov dword [esp + 0x44c], eax
lea edi, [esp + 0x480]
lea esi, [esp + 0x43c]
call fcn.0046875e
mov dword [esp + 0x494], 0
mov dword [esp + 0x498], 0
add esp, 0x464
ret
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov eax, dword [esp + 0xc8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
call fcn.004ae320
lea edi, [esp + 0x450]
lea esi, [esp + 0x20]
call fcn.0046875e
lea edi, [esp + 0x480]
lea esi, [esp + 0x450]
call fcn.0046875e
mov dword [esp + 0x494], 0
mov dword [esp + 0x498], 0
add esp, 0x464
ret
mov dword [esp], ebp
mov dword [esp + 4], esi
call fcn.004a7240
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [esp], 0
lea edx, [0x693249]
mov dword [esp + 4], edx
mov dword [esp + 8], 0xe
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.00451270
nop
mov eax, dword [esp + 0x14]
mov dword [esp + 0x41c], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xd0], ecx
lea edx, [esp + 0x330]
mov dword [esp], edx
mov edx, dword [esp + 0x470]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x474]
mov dword [esp + 8], edx
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
nop
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x6c], ecx
lea edx, [esp + 0x310]
mov dword [esp], edx
mov edx, dword [esp + 0x424]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 8], edx
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x68], ecx
lea edx, [0x67c400]
mov dword [esp], edx
call fcn.0040c260
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x46c]
mov dword [eax + 4], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a9e2f
mov ecx, dword [esp + 0x468]
jmp 0x4a9e3d
call fcn.00468030
mov ecx, dword [esp + 0x468]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x6c]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a9e59
mov ecx, dword [esp + 0x3c4]
jmp 0x4a9e67
call fcn.00468030
mov ecx, dword [esp + 0x3c4]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov dword [eax + 0x14], 0
mov dword [eax + 0x10], 0
mov ecx, dword [esp + 0x68]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a9e92
mov ecx, dword [esp + 0x3c0]
jmp 0x4a9ea0
call fcn.00468030
mov ecx, dword [esp + 0x3c0]
mov dword [edi], ecx
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0xd0]
mov dword [eax + 0x24], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a9ec0
mov ecx, dword [esp + 0x41c]
jmp 0x4a9ece
call fcn.00468030
mov ecx, dword [esp + 0x41c]
mov dword [edi], ecx
mov dword [esp + 0x3e8], eax
mov dword [eax + 0x20], ecx
lea edi, [esp + 0x480]
xor eax, eax
call fcn.0046827b
lea ecx, [0x6f1d14]
mov dword [esp + 0x494], ecx
mov ecx, dword [esp + 0x3e8]
mov dword [esp + 0x498], ecx
add esp, 0x464
ret
nop
lea eax, [esp + 0x370]
mov dword [esp], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x474]
mov dword [esp + 8], eax
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
nop
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3cc], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x74], ecx
lea edx, [esp + 0x350]
mov dword [esp], edx
mov edx, dword [esp + 0x424]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 8], edx
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x70], ecx
lea edx, [0x67c400]
mov dword [esp], edx
call fcn.0040c260
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x46c]
mov dword [eax + 4], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4a9fe1
mov ecx, dword [esp + 0x468]
jmp 0x4a9fef
call fcn.00468030
mov ecx, dword [esp + 0x468]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x74]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4aa00b
mov ecx, dword [esp + 0x3cc]
jmp 0x4aa019
call fcn.00468030
mov ecx, dword [esp + 0x3cc]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xac]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4aa039
mov ecx, dword [esp + 0x410]
jmp 0x4aa047
call fcn.00468030
mov ecx, dword [esp + 0x410]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x70]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4aa064
mov ecx, dword [esp + 0x3c8]
jmp 0x4aa072
call fcn.00468030
mov ecx, dword [esp + 0x3c8]
mov dword [edi], ecx
mov dword [esp + 0x3ec], eax
mov dword [eax + 0x18], ecx
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
lea edi, [esp + 0x480]
xor eax, eax
call fcn.0046827b
lea ecx, [0x6f1d14]
mov dword [esp + 0x494], ecx
mov ecx, dword [esp + 0x3ec]
mov dword [esp + 0x498], ecx
add esp, 0x464
ret
mov eax, edx
mov ecx, 0xd
call fcn.00468090
mov eax, ecx
mov ecx, 0xd
call fcn.00468090
mov eax, edx
mov ecx, 0xd
call fcn.00468090
mov ecx, 0xd
call fcn.00468090
nop
lea eax, [esp + 0x2b0]
mov dword [esp], eax
mov eax, dword [esp + 0x470]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x474]
mov dword [esp + 8], eax
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
nop
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3b4], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x5c], ecx
lea edx, [esp + 0x290]
mov dword [esp], edx
mov edx, dword [esp + 0x424]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x94]
mov dword [esp + 8], edx
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3b0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x58], ecx
lea edx, [0x67c400]
mov dword [esp], edx
call fcn.0040c260
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x46c]
mov dword [eax + 4], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4aa1c1
mov ecx, dword [esp + 0x468]
jmp 0x4aa1cf
call fcn.00468030
mov ecx, dword [esp + 0x468]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x5c]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4aa1eb
mov ecx, dword [esp + 0x3b4]
jmp 0x4aa1f9
call fcn.00468030
mov ecx, dword [esp + 0x3b4]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xfc]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4aa219
mov ecx, dword [esp + 0x400]
jmp 0x4aa227
call fcn.00468030
mov ecx, dword [esp + 0x400]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x58]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4aa244
mov ecx, dword [esp + 0x3b0]
jmp 0x4aa252
call fcn.00468030
mov ecx, dword [esp + 0x3b0]
mov dword [edi], ecx
mov dword [esp + 0x3e0], eax
mov dword [eax + 0x18], ecx
mov dword [eax + 0x24], 0
mov dword [eax + 0x20], 0
lea edi, [esp + 0x480]
xor eax, eax
call fcn.0046827b
lea ecx, [0x6f1d14]
mov dword [esp + 0x494], ecx
mov ecx, dword [esp + 0x3e0]
mov dword [esp + 0x498], ecx
add esp, 0x464
ret
mov dword [esp + 0x90], edi
mov dword [esp + 0x3f8], ecx
mov dword [esp], 0
lea eax, [0x690d87]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
mov eax, dword [esp + 0x40c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
lea eax, [0x692d91]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], 0xd
call fcn.00451310
nop
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x418], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0xcc], ecx
lea edx, [esp + 0x2f0]
mov dword [esp], edx
mov edx, dword [esp + 0x470]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x474]
mov dword [esp + 8], edx
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
nop
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3bc], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x64], ecx
lea edx, [esp + 0x2d0]
mov dword [esp], edx
mov edx, dword [esp + 0x3f8]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x90]
mov dword [esp + 8], edx
call fcn.004516b0
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call fcn.00451510
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3b8], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x60], ecx
lea edx, [0x67c400]
mov dword [esp], edx
call fcn.0040c260
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x46c]
mov dword [eax + 4], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4aa3d6
mov ecx, dword [esp + 0x468]
jmp 0x4aa3e4
call fcn.00468030
mov ecx, dword [esp + 0x468]
mov dword [edi], ecx
mov dword [eax], ecx
mov ecx, dword [esp + 0x64]
mov dword [eax + 0xc], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4aa400
mov ecx, dword [esp + 0x3bc]
jmp 0x4aa40e
call fcn.00468030
mov ecx, dword [esp + 0x3bc]
mov dword [edi], ecx
mov dword [eax + 8], ecx
mov ecx, dword [esp + 0xfc]
mov dword [eax + 0x14], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4aa42e
mov ecx, dword [esp + 0x400]
jmp 0x4aa43c
call fcn.00468030
mov ecx, dword [esp + 0x400]
mov dword [edi], ecx
mov dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x60]
mov dword [eax + 0x1c], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4aa459
mov ecx, dword [esp + 0x3b8]
jmp 0x4aa467
call fcn.00468030
mov ecx, dword [esp + 0x3b8]
mov dword [edi], ecx
mov dword [eax + 0x18], ecx
mov ecx, dword [esp + 0xcc]
mov dword [eax + 0x24], ecx
mov ecx, dword [0x85d680]
test ecx, ecx
jne 0x4aa487
mov ecx, dword [esp + 0x418]
jmp 0x4aa495
call fcn.00468030
mov ecx, dword [esp + 0x418]
mov dword [edi], ecx
mov dword [esp + 0x3e4], eax
mov dword [eax + 0x20], ecx
lea edi, [esp + 0x480]
xor eax, eax
call fcn.0046827b
lea ecx, [0x6f1d14]
mov dword [esp + 0x494], ecx
mov ecx, dword [esp + 0x3e4]
mov dword [esp + 0x498], ecx
add esp, 0x464
ret
mov dword [esp + 0xa8], ebp
mov dword [esp + 0xa0], ecx
mov ecx, edx
mov dword [esp + 0x40c], edi
mov dword [esp + 0xb4], esi
mov edx, dword [esp + 0xfc]
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
mov edi, ebx
mov ebx, eax
mov eax, dword [esp + 0x3f4]
jmp 0x4a8d44
inc edx
cmp edx, ecx
jge 0x4aa523
movzx ebx, byte [edx + eax]
add ebx, 0xffffffd0
cmp bl, 9
jbe 0x4aa512
mov dword [esp + 0xbc], edx
lea ebx, [0x6f1200]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call fcn.004b3140
mov eax, dword [esp + 0xbc]
mov ecx, dword [esp + 0xa4]
cmp eax, ecx
ja 0x4aa587
sub ecx, eax
mov ebx, ecx
neg ecx
sar ecx, 0x1f
and eax, ecx
mov esi, dword [esp + 0x10]
mov ecx, dword [esp + 0x408]
lea edx, [eax + ecx]
mov edi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xf4]
jmp 0x4aa4cf
call fcn.004680f0
inc edx
mov dword [esp + 0xd8], edx
mov edx, dword [esp + 0xfc]
mov edx, dword [esp + 0xd8]
cmp edx, 2
jge 0x4aa5d8
cmp ecx, 0x10a
jne 0x4aa58c
test esi, esi
je 0x4aa58c
cmp byte [ebp], 0x20
jne 0x4aa58c
dec esi
mov dword [esp + 0xf8], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add ebp, esi
mov esi, dword [esp + 0xf8]
jmp 0x4aa58c
xor edx, edx
xor edx, edx
mov dword [esp + 0x7c], edx
xor edx, edx
jmp 0x4aa604
mov ebx, dword [esp + 0x7c]
lea ebx, [ebx + ebx*4]
movzx eax, al
inc edx
lea eax, [eax + ebx*2]
mov ebx, dword [esp + 0x94]
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x400]
cmp edx, 3
jge 0x4aa624
cmp edx, esi
jge 0x4aa620
movzx eax, byte [edx + ebp]
add eax, 0xffffffd0
cmp al, 9
jbe 0x4aa5e4
mov eax, dword [esp + 0x400]
test edx, edx
je 0x4aa631
cmp ecx, 0x10b
jne 0x4aa63b
cmp edx, 3
je 0x4aa63b
mov ecx, dword [0x832830]
xor edx, edx
jmp 0x4aa652
cmp edx, esi
ja 0x4aa680
sub esi, edx
mov ecx, esi
neg ecx
sar ecx, 0x1f
and ecx, edx
add ebp, ecx
mov edx, dword [esp + 0x7c]
xor ecx, ecx
mov dword [esp + 0x8c], edx
mov eax, dword [esp + 0x3f4]
mov ebx, ecx
mov edi, esi
mov ecx, ebp
mov edx, dword [esp + 0xfc]
mov ebp, dword [esp + 0x424]
mov esi, dword [esp + 0x94]
jmp 0x4a8d44
mov eax, edx
mov ecx, esi
call fcn.004680f0
mov ecx, ebx
mov dword [esp + 0xd4], ecx
lea ebx, [ecx + 1]
cmp esi, ebx
jle 0x4aa6b2
jbe 0x4aa749
movzx edi, byte [ecx + ebp + 1]
xchg edi, eax
cmp al, 0x30
xchg edi, eax
jb 0x4aa6b2
xchg edi, eax
cmp al, 0x39
xchg edi, eax
jbe 0x4aa689
mov dword [esp + 0xec], ebx
lea eax, [0x6f1200]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov dword [esp + 0xc], ebx
call fcn.004b3140
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0xec]
cmp ecx, eax
jb 0x4aa744
mov edx, dword [esp + 0xd4]
sub ecx, edx
lea edi, [ecx - 1]
mov ecx, edi
neg ecx
sar ecx, 0x1f
and eax, ecx
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
mov ebp, dword [esp + 0x424]
add eax, ebp
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov dword [esp + 0xa8], esi
mov dword [esp + 0x40c], edx
mov dword [esp + 0xb4], ecx
mov edx, dword [esp + 0xfc]
mov esi, dword [esp + 0x94]
mov ecx, eax
mov eax, dword [esp + 0x3f4]
jmp 0x4a8d44
call fcn.004680f0
mov eax, ebx
mov ecx, esi
call fcn.00468090
call fcn.004680b0
mov eax, edx
call fcn.004680f0
call fcn.004680b0
nop
call fcn.00466c30
jmp fcn.004a7c80