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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
mov eax, dword [0x9727c0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ecx + 4]
push ebx
push esi
mov esi, dword [ecx]
xor ebx, ebx
mov dword [ebp - 0xd8], eax
push edi
mov edi, dword [ecx + 8]
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xe0], ecx
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xdc], 0
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xe4], esi
mov byte [ebp - 0xfd], 0
mov dword [ebp - 0x114], 0
mov al, byte [eax + 0x4d]
mov byte [ebp - 0xf0], al
mov eax, dword [esi + 0x20]
mov dword [ebp - 0x104], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0xe8], edi
mov dword [ebp - 0xec], ebx
mov dword [ebp - 0x110], ebx
mov dword [ebp - 0x10c], ebx
mov dword [ebp - 0x108], eax
call fcn.006a3930
mov eax, dword [ebp - 0xe0]
cmp dword [eax + 0x5c], 7
je 0x6aef5b
mov dword [eax + 0x5c], ebx
mov dword [eax + 0x14], ebx
mov dword [esi + 0x1b4], ebx
cmp dword [esi + 0xe0], ebx
jne 0x6aef0a
mov eax, dword [eax + 0x58]
xor ecx, ecx
cmp dword [esi + 0x114], ecx
setne cl
mov dword [ebp - 0x118], ecx
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
lea ecx, [ecx]
cmp byte [esi + 0x38], 0
jne 0x6aef5b
cmp dword [ebp - 0x118], 0
lea edi, [eax + eax*4]
je 0x6a880a
mov eax, dword [ebp - 0x114]
cmp dword [esi + 0x11c], eax
jne 0x6a87fd
push dword [esi + 0x118]
mov eax, dword [esi + 0x114]
call eax
add esp, 4
test eax, eax
jne 0x6aeab5
mov edx, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0x114], eax
test byte [edx + edi*4 + 2], 2
je 0x6a8848
mov eax, dword [edx + edi*4 + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, 0x2460
mov dword [ebp - 0xec], ebx
test word [ebx + 0x1c], ax
je 0x6a883f
mov ecx, ebx
call fcn.006a1bb0
mov edx, dword [ebp - 0xd8]
mov eax, 4
mov word [ebx + 0x1c], ax
movzx eax, byte [edx + edi*4]
dec eax
cmp eax, 0x93
ja case.default.0x6a8858
jmp dword [eax*4 + 0x6aef88]
cmp dword [esi + 0xe0], 0
jne 0x6aef0a
mov eax, dword [edx + edi*4 + 8]
jmp 0x6a87b7
mov ecx, dword [edx + edi*4 + 4]
mov edx, 4
mov eax, dword [ebp - 0xe8]
mov ebx, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
mov word [eax + ecx*8 + 0x1c], dx
mov eax, dword [ebp - 0xd4]
cdq
mov dword [ebx + ecx*8 + 0x10], eax
mov eax, ebx
mov ebx, dword [ebp - 0xec]
mov dword [eax + ecx*8 + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov eax, dword [edx + edi*4 + 8]
jmp 0x6a87b7
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
mov eax, dword [ecx + eax*8 + 0x10]
inc eax
jmp 0x6a87b7
mov eax, dword [edx + edi*4 + 4]
mov edi, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov eax, 4
mov word [edi + ecx*8 + 0x1c], ax
mov eax, dword [edi + ecx*8 + 0x10]
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xd4]
cdq
mov dword [edi + ecx*8 + 0x10], eax
mov dword [edi + ecx*8 + 0x14], edx
mov eax, dword [ebp - 0xd0]
inc eax
jmp 0x6a87b1
mov eax, dword [edx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je case.default.0x6a8858
cmp dword [edx + edi*4 + 4], 0
jne 0x6aeac5
mov eax, dword [ebp - 0xe0]
mov ecx, dword [eax + 0xa8]
test ecx, ecx
je 0x6aeac5
mov edx, dword [ebp - 0xe0]
mov eax, dword [ecx + 4]
dec dword [edx + 0xb0]
mov dword [edx + 0xa8], eax
mov eax, dword [edx + 0x68]
add dword [esi + 0x4c], eax
mov dword [esi + 0x48], eax
call fcn.006a4310
mov ecx, dword [esi + 0x20]
mov dword [ebp - 0x104], ecx
mov ecx, dword [esi + 0x24]
mov dword [ebp - 0x108], ecx
mov ecx, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
cmp dword [ecx + edi*4 + 8], 4
jne 0x6a899d
mov edi, eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 4]
lea ecx, [edi + edi*4]
mov eax, dword [eax + ecx*4 + 8]
dec eax
mov edx, dword [ebp - 0xe0]
inc eax
mov ecx, dword [ebp - 0xe0]
mov edx, dword [edx + 4]
mov ecx, dword [ecx + 8]
mov dword [ebp - 0xd8], edx
mov dword [ebp - 0xe8], ecx
jmp 0x6a87b7
mov eax, dword [edx + edi*4 + 4]
cdq
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebx + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
jmp 0x6a87c0
mov ecx, dword [edx + edi*4 + 0x10]
mov eax, dword [ecx]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 4]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b7
mov eax, 8
mov word [ebx + 0x1c], ax
mov eax, dword [edx + edi*4 + 0x10]
movsd xmm0, qword [eax]
mov eax, dword [ebp - 0xd4]
movsd qword [ebx + 8], xmm0
inc eax
jmp 0x6a87b7
mov ebx, dword [edx + edi*4 + 0x10]
mov ecx, ebx
mov byte [edx + edi*4], 9
call fcn.006897e0
cmp byte [ebp - 0xf0], 1
mov dword [edx + edi*4 + 4], eax
je 0x6a8b62
test ebx, ebx
jne 0x6a8a57
mov ebx, dword [ebp - 0xec]
mov ecx, ebx
call fcn.006a1f30
jmp 0x6a8af6
mov ecx, dword [ebp - 0xec]
mov eax, dword [ecx]
test eax, eax
je 0x6a8a68
mov eax, dword [eax + 0x50]
jmp 0x6a8a6d
mov eax, 0x3b9aca00
xor esi, esi
mov dword [ebp - 0xf4], eax
test eax, eax
js 0x6a8a8b
lea esp, [esp]
cmp byte [esi + ebx], 0
je 0x6a8a8b
inc esi
cmp esi, eax
jle 0x6a8a80
xor eax, eax
mov dword [ebp - 0xfc], 0x202
cmp eax, 0x6875a0
jne 0x6a8ab7
call fcn.006a1c10
mov eax, dword [ebp - 0xec]
mov dword [eax + 4], ebx
mov dword [eax + 0x24], ebx
mov eax, dword [ebp - 0xfc]
jmp 0x6a8aca
call fcn.006a1c10
mov eax, dword [ebp - 0xec]
mov dword [eax + 4], ebx
mov eax, 0xa02
mov ebx, dword [ebp - 0xec]
cmp esi, dword [ebp - 0xf4]
mov dword [ebx + 0x18], esi
mov esi, dword [ebp - 0xe4]
mov dword [ebx + 0x20], 0
mov word [ebx + 0x1c], ax
mov word [ebx + 0x1e], 0x103
jg 0x6aedb4
movzx edx, byte [ebp - 0xf0]
mov ecx, ebx
mov dword [ebp - 0xdc], 0
call fcn.006a1800
test eax, eax
jne 0x6aef5b
mov edx, dword [ebp - 0xd8]
mov ecx, 0xfbff
mov dword [ebx + 0x24], eax
mov ax, word [ebx + 0x1c]
and ax, cx
mov ecx, 0x800
or ax, cx
mov word [ebx + 0x1c], ax
cmp byte [edx + edi*4 + 1], 0xff
jne 0x6a8b4f
mov edx, dword [edx + edi*4 + 0x10]
mov ecx, esi
call fcn.00687650
mov edx, dword [ebp - 0xd8]
mov byte [edx + edi*4 + 1], 0xff
mov eax, dword [ebx + 4]
mov dword [edx + edi*4 + 0x10], eax
mov eax, dword [ebx + 0x18]
mov dword [edx + edi*4 + 4], eax
mov eax, dword [edx + edi*4 + 4]
cmp eax, dword [esi + 0x50]
jg 0x6aedb4
mov ebx, dword [ebp - 0xec]
mov eax, 0xa02
mov word [ebx + 0x1c], ax
mov eax, dword [edx + edi*4 + 0x10]
mov dword [ebx + 4], eax
mov eax, dword [edx + edi*4 + 4]
mov dword [ebx + 0x18], eax
mov al, byte [ebp - 0xf0]
mov byte [ebx + 0x1f], al
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b7
mov eax, dword [edx + edi*4 + 0xc]
mov ecx, 0x101
sub eax, dword [edx + edi*4 + 8]
mov dword [ebp - 0xd0], eax
mov eax, 1
cmp dword [edx + edi*4 + 4], 0
cmovne eax, ecx
mov word [ebp - 0xcc], ax
mov word [ebx + 0x1c], ax
cmp dword [ebp - 0xd0], 0
jle 0x6a8c1e
mov esi, 0x2460
lea ebx, [ebx]
add ebx, 0x28
test word [ebx + 0x1c], si
je 0x6a8bf0
mov ecx, ebx
call fcn.006a1bb0
mov ax, word [ebp - 0xcc]
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
dec eax
mov dword [ebp - 0xd0], eax
test eax, eax
jg 0x6a8be0
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xec], ebx
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b7
mov ebx, dword [edx + edi*4 + 0x10]
mov esi, dword [edx + edi*4 + 4]
test ebx, ebx
jne 0x6a8c48
mov ebx, dword [ebp - 0xec]
mov ecx, ebx
call fcn.006a1f30
jmp 0x6a8cd5
mov eax, dword [ebp - 0xec]
mov ecx, dword [eax]
test ecx, ecx
je 0x6a8c59
mov ecx, dword [ecx + 0x50]
jmp 0x6a8c5e
mov ecx, 0x3b9aca00
mov edi, 0x10
test esi, esi
jns 0x6a8c8b
xor esi, esi
test ecx, ecx
js 0x6a8c86
lea ecx, [ecx]
mov al, byte [esi + ebx + 1]
or al, byte [esi + ebx]
je 0x6a8c80
add esi, 2
cmp esi, ecx
jle 0x6a8c70
mov eax, dword [ebp - 0xec]
mov edi, 0x210
xor ecx, ecx
cmp ecx, 0x6875a0
mov ecx, eax
jne 0x6a8ca7
call fcn.006a1c10
mov eax, dword [ebp - 0xec]
mov dword [eax + 0x24], ebx
jmp 0x6a8cb8
call fcn.006a1c10
mov eax, dword [ebp - 0xec]
or edi, 0x800
mov dword [eax + 4], ebx
mov ebx, dword [ebp - 0xec]
mov dword [ebx + 0x20], 0
mov dword [ebx + 0x18], esi
mov word [ebx + 0x1c], di
mov word [ebx + 0x1e], 0x104
mov al, byte [ebp - 0xf0]
mov byte [ebx + 0x1f], al
inc dword [ebp - 0xd4]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
mov eax, dword [edx + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
lea ecx, [ecx - 5]
mov eax, dword [eax + 0x48]
lea esi, [eax + ecx*8]
mov ecx, esi
mov dword [ebp - 0xd0], esi
call fcn.006a20b0
test eax, eax
jne 0x6aedae
push 0x800
mov edx, esi
mov ecx, ebx
call fcn.006a20e0
mov esi, dword [ebp - 0xe4]
add esp, 4
inc dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
mov edx, dword [edx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xd8]
inc edx
mov dword [ebp - 0xcc], edx
mov eax, dword [ecx + edi*4 + 4]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ecx + edi*4 + 8]
mov edi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
mov dword [ebp - 0xc4], ecx
lea esi, [edi + eax*8]
lea eax, [ecx + ecx*4]
lea ebx, [edi + eax*8]
mov dword [ebp - 0xec], ebx
je 0x6a8dd2
dec edx
mov ecx, ebx
mov dword [ebp - 0xcc], edx
mov edx, esi
mov eax, dword [ebx + 0x24]
mov dword [ebp - 0xd0], eax
mov dword [ebx + 0x24], 0
call fcn.006a21c0
mov eax, dword [ebp - 0xd0]
add ebx, 0x28
mov dword [esi + 0x24], eax
add esi, 0x28
mov edx, dword [ebp - 0xcc]
test edx, edx
jne 0x6a8d93
mov dword [ebp - 0xec], ebx
mov esi, dword [ebp - 0xe4]
dec edx
inc dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xcc], edx
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
mov eax, dword [edx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xd0], eax
mov eax, dword [edx + edi*4 + 4]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
push 0x1000
mov edx, esi
mov dword [ebp - 0xec], ebx
mov ecx, ebx
call fcn.006a20e0
mov eax, 0x1000
add esp, 4
test word [ebx + 0x1c], ax
je 0x6a8e4b
mov ecx, ebx
call fcn.006a1940
test eax, eax
jne 0x6aef55
mov eax, dword [ebp - 0xd0]
mov ecx, eax
dec eax
mov dword [ebp - 0xd0], eax
test ecx, ecx
je 0x6a8cde
add ebx, 0x28
add esi, 0x28
jmp 0x6a8e1a
mov eax, dword [edx + edi*4 + 8]
mov ecx, dword [ebp - 0xe8]
push 0x1000
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 4]
mov dword [ebp - 0xec], ebx
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov ecx, ebx
call fcn.006a20e0
mov eax, dword [ebp - 0xd4]
add esp, 4
inc eax
jmp 0x6a87b1
mov ecx, dword [ebp - 0xe0]
xor edx, edx
call fcn.006a4e60
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aa8e3
mov ecx, dword [ebp - 0xe0]
lea edx, [eax + 1]
call fcn.006a4d40
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aa8e3
mov ecx, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xe8]
mov eax, dword [ecx + 0x54]
add eax, 2
or eax, 1
mov dword [ecx + 0x54], eax
mov eax, dword [ebx + edi*4 + 4]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ecx + 0x14], edx
xor ecx, ecx
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xcc], ecx
cmp dword [ebx + edi*4 + 8], ecx
jle 0x6aeb8b
nop
lea eax, [ecx + ecx*4]
mov esi, 0x1000
test word [edx + eax*8 + 0x1c], si
lea eax, [edx + eax*8]
mov esi, dword [ebp - 0xe4]
je 0x6a8f53
mov ecx, eax
call fcn.006a1940
test eax, eax
jne 0x6aef5b
mov ecx, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xd0]
lea eax, [ecx + ecx*4]
lea ecx, [edx + eax*8]
call fcn.006a1a00
mov eax, dword [ebp - 0xcc]
lea ecx, [eax + eax*4]
mov eax, dword [ebp - 0xd0]
lea ecx, [eax + ecx*8]
call fcn.006a8420
mov ecx, dword [ebp - 0xcc]
inc ecx
mov dword [ebp - 0xcc], ecx
cmp ecx, dword [ebx + edi*4 + 8]
jge 0x6aeb8b
mov edx, dword [ebp - 0xd0]
jmp 0x6a8f20
mov ecx, dword [ebp - 0xe8]
mov eax, dword [edx + edi*4 + 4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
movzx ecx, word [ebx + 0x1c]
mov dword [ebp - 0xec], eax
mov al, byte [esi + 0x1c]
or al, cl
test al, 1
je 0x6a8ff5
mov ebx, dword [ebp - 0xec]
mov ecx, ebx
call fcn.006a1f30
inc dword [ebp - 0xd4]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
test ecx, 0x4000
je 0x6a900c
mov ecx, ebx
call fcn.006a19a0
test eax, eax
jne 0x6aef55
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x6a9026
mov ecx, esi
call fcn.006a19a0
test eax, eax
jne 0x6aef55
test byte [ebx + 0x1c], 0x12
jne 0x6a9042
movzx edx, byte [ebp - 0xf0]
mov ecx, ebx
call fcn.006a1a50
test eax, eax
jne 0x6aef55
test byte [esi + 0x1c], 0x12
jne 0x6a905e
movzx edx, byte [ebp - 0xf0]
mov ecx, esi
call fcn.006a1a50
test eax, eax
jne 0x6aef55
mov eax, dword [esi + 0x18]
add eax, dword [ebx + 0x18]
cdq
mov edi, eax
mov ecx, edx
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xd0], edi
mov dword [ebp - 0xcc], ecx
mov eax, dword [eax + 0x50]
cdq
cmp ecx, edx
jg 0x6aedae
jl 0x6a9091
cmp edi, eax
ja 0x6aedae
mov edi, dword [ebp - 0xec]
mov ecx, 0xbe02
mov ax, word [edi + 0x1c]
and ax, cx
mov ecx, edi
or ax, 2
mov word [edi + 0x1c], ax
xor eax, eax
mov edx, dword [ebp - 0xd0]
cmp edi, esi
sete al
push eax
lea edx, [edx + 2]
call fcn.006a1820
add esp, 4
test eax, eax
jne 0x6aef55
cmp edi, esi
je 0x6a90e3
push dword [esi + 0x18]
push dword [esi + 4]
push dword [edi + 4]
call fcn.00736570
add esp, 0xc
push dword [ebx + 0x18]
push dword [ebx + 4]
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebx + 4]
add eax, dword [esi + 0x18]
push eax
call fcn.00736570
mov eax, dword [ebp - 0xd0]
add esp, 0xc
mov ecx, dword [ebx + 4]
mov byte [eax + ecx], 0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebx + 4]
mov byte [ecx + eax + 1], 0
mov eax, 0x200
or word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
mov dword [ebx + 0x18], eax
jmp 0x6a8cd5
mov eax, dword [edx + edi*4 + 4]
mov ebx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ecx, esi
call fcn.006a8520
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov ecx, ebx
call fcn.006a8520
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
movzx ecx, word [ebx + 0x1c]
mov dword [ebp - 0xec], eax
movzx eax, word [esi + 0x1c]
or ecx, eax
mov dword [ebp - 0xcc], ecx
test cl, 1
jne 0x6a9487
mov al, byte [ebx + 0x1c]
and al, byte [esi + 0x1c]
test al, 4
je 0x6a9318
mov ecx, dword [esi + 0x10]
mov dword [ebp - 0xc8], ecx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xc0], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0xfc], eax
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xd8]
mov byte [ebp - 0xd0], 1
movzx eax, byte [eax + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x6a91ee
jmp dword [eax*4 + 0x6af1d8]
push edx
push ecx
lea ecx, [ebp - 0xc0]
call fcn.0068a790
add esp, 8
test eax, eax
jne 0x6a931f
jmp 0x6a92cf
push edx
push ecx
lea ecx, [ebp - 0xc0]
call fcn.0068a830
add esp, 8
test eax, eax
jne 0x6a931f
jmp 0x6a92cf
push edx
push ecx
lea ecx, [ebp - 0xc0]
call fcn.0068a880
add esp, 8
test eax, eax
jne 0x6a931f
jmp 0x6a92cf
mov eax, ecx
or eax, edx
je 0x6a9487
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
mov eax, dword [ebp - 0xf4]
jne 0x6a9279
test eax, eax
jne 0x6a9279
cmp dword [ebp - 0xfc], 0x80000000
je 0x6a931f
push edx
push ecx
push dword [ebp - 0xfc]
push eax
call fcn.0073c660
jmp 0x6a92c3
mov eax, ecx
or eax, edx
je 0x6a9487
mov eax, ecx
and eax, edx
cmp eax, 0xffffffff
jne 0x6a92af
mov ecx, 1
xor edx, edx
mov dword [ebp - 0xc8], ecx
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xf4]
push edx
push ecx
push dword [ebp - 0xfc]
push eax
call fcn.0073cac0
mov dword [ebp - 0xbc], edx
mov dword [ebp - 0xc0], eax
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xc0]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xe4]
mov ecx, 0xbe04
mov edx, dword [ebp - 0xd8]
mov dword [ebx + 0x14], eax
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 4
inc dword [ebp - 0xd4]
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
mov byte [ebp - 0xd0], 0
mov ecx, esi
call fcn.006a1d00
mov ecx, ebx
movsd qword [ebp - 0xb8], xmm0
call fcn.006a1d00
mov eax, dword [ebp - 0xd8]
movsd qword [ebp - 0xb0], xmm0
movsd qword [ebp - 0xf8], xmm0
movzx eax, byte [eax + edi*4]
add eax, 0xffffffaa
cmp eax, 3
ja case.default.0x6a9357
jmp dword [eax*4 + 0x6af1e8]
addsd xmm0, qword [ebp - 0xb8]
jmp 0x6a9411
subsd xmm0, qword [ebp - 0xb8]
jmp 0x6a9411
mulsd xmm0, qword [ebp - 0xb8]
jmp 0x6a9411
movsd xmm1, qword [ebp - 0xb8]
ucomisd xmm1, qword [0x8d5a58]
lahf
test ah, 0x44
jnp 0x6a9487
divsd xmm0, xmm1
jmp 0x6a9411
movsd xmm0, qword [ebp - 0xb8]
call fcn.0073cd7f
movsd xmm0, qword [ebp - 0xf8]
mov esi, eax
mov edi, edx
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], edi
call fcn.0073cd7f
mov ecx, esi
mov dword [ebp - 0xc0], eax
or ecx, edi
mov dword [ebp - 0xbc], edx
je 0x6a9487
mov ecx, esi
and ecx, edi
cmp ecx, 0xffffffff
jne 0x6a9401
mov esi, 1
xor edi, edi
mov dword [ebp - 0xc8], esi
mov dword [ebp - 0xc4], edi
push edi
push esi
push edx
push eax
call fcn.0073cac0
mov ecx, eax
call fcn.0073cf1f
movsd qword [ebp - 0xb0], xmm0
call fcn.006897a0
test eax, eax
jne 0x6a9487
mov ebx, dword [ebp - 0xec]
mov ecx, 0xbe08
movsd xmm0, qword [ebp - 0xb0]
mov ax, word [ebx + 0x1c]
and ax, cx
movsd qword [ebx + 8], xmm0
or ax, 8
mov word [ebx + 0x1c], ax
test byte [ebp - 0xcc], 8
jne 0x6a8cde
cmp byte [ebp - 0xd0], 0
jne 0x6a8cde
mov ecx, ebx
call fcn.006a1d60
inc dword [ebp - 0xd4]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
mov ebx, dword [ebp - 0xec]
mov ecx, ebx
call fcn.006a1f30
inc dword [ebp - 0xd4]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
mov eax, dword [edx + edi*4 + 4]
test eax, eax
je 0x6a94d7
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
push 0
push 0
lea ecx, [ecx + eax*8]
call fcn.006a1f80
mov edx, dword [ebp - 0xd8]
add esp, 8
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b7
movzx ecx, byte [edx + edi*4 + 3]
mov eax, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xe8]
mov dword [ebp - 0x84], ecx
mov esi, dword [eax + 0xc]
mov dword [ebp - 0x88], esi
mov eax, dword [edx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov eax, dword [edx + edi*4 + 8]
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xec], ebx
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
xor eax, eax
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], eax
test ecx, ecx
jle 0x6a9598
jmp 0x6a9540
mov dword [esi + eax*4], edx
mov eax, 0x1000
mov ecx, dword [ebp - 0xcc]
test word [ecx + 0x1c], ax
je 0x6a9567
call fcn.006a1940
test eax, eax
jne 0x6aef55
mov ecx, dword [ebp - 0xcc]
call fcn.006a8420
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xcc]
inc eax
add edx, 0x28
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
cmp eax, dword [ebp - 0x84]
jge 0x6a9598
mov esi, dword [ebp - 0x88]
jmp 0x6a9540
mov eax, dword [ebp - 0xd8]
cmp byte [eax + edi*4 + 1], 0xfb
mov eax, dword [eax + edi*4 + 0x10]
jne 0x6a95b5
mov dword [ebp - 0xc4], 0
jmp 0x6a95bd
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
mov esi, dword [ebp - 0xe4]
lea ecx, [ebp - 0xc0]
mov dword [ebp - 0xc8], eax
mov edx, ebx
mov eax, 1
mov dword [ebp - 0xc0], esi
mov word [ebp - 0xa4], ax
mov dword [ebp - 0xa0], 0
mov dword [ebp - 0x9c], 0
call fcn.006a21c0
mov eax, dword [ebp - 0xa4]
and eax, 0xbe01
mov dword [ebp - 0x90], 0
or eax, 1
mov word [ebp - 0xa4], ax
mov eax, dword [ebp - 0xc8]
test byte [eax + 3], 8
je 0x6a9637
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 - 4]
mov dword [ebp - 0x94], eax
mov eax, dword [ebp - 0x104]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x108]
mov dword [esi + 0x24], eax
lea eax, [ebp - 0xc8]
push dword [ebp - 0x88]
push dword [ebp - 0x84]
push eax
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0xc]
call eax
mov eax, dword [esi + 0x20]
add esp, 0xc
mov ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x104], eax
mov eax, dword [esi + 0x24]
mov dword [ebp - 0x108], eax
test ecx, ecx
je 0x6a96aa
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + edi*4 + 4]
call fcn.006a5400
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xc4]
mov dword [ecx + edi*4 + 0x10], eax
mov byte [ecx + edi*4 + 1], 0xf9
cmp byte [esi + 0x38], 0
jne 0x6aebaf
cmp dword [ebp - 0x90], 0
je 0x6a96ef
mov dl, 1
lea ecx, [ebp - 0xc0]
call fcn.006a2800
push eax
mov eax, dword [ebp - 0xe0]
push 0x8d0ab8
add eax, 0x38
push esi
push eax
call fcn.00687a40
mov eax, dword [ebp - 0x90]
add esp, 0x10
mov dword [ebp - 0xdc], eax
movzx edx, byte [ebp - 0xf0]
lea ecx, [ebp - 0xc0]
call fcn.006a1800
lea edx, [ebp - 0xc0]
mov ecx, ebx
call fcn.006a21c0
mov ecx, ebx
call fcn.006a20b0
test eax, eax
jne 0x6aedb4
jmp 0x6aa8e3
mov eax, dword [edx + edi*4 + 4]
mov ebx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ebx + eax*8]
mov eax, dword [edx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov al, byte [ecx + 0x1c]
or al, byte [esi + 0x1c]
mov dword [ebp - 0xec], ebx
test al, 1
je 0x6a977a
mov ecx, ebx
call fcn.006a1f30
inc dword [ebp - 0xd4]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
call fcn.006a1c50
mov ecx, esi
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xcc], edx
call fcn.006a1c50
mov esi, eax
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc0], esi
mov cl, byte [eax + edi*4]
mov byte [ebp - 0xb8], cl
cmp cl, 0x52
jne 0x6a97d6
mov ecx, dword [ebp - 0xd0]
and ecx, esi
and dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0xcc]
jmp 0x6a92e4
cmp cl, 0x53
jne 0x6a97fd
mov ecx, dword [ebp - 0xd0]
or ecx, esi
or dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0xcc]
jmp 0x6a92e4
mov eax, esi
or eax, edx
je 0x6a995c
test edx, edx
jg 0x6a9847
jl 0x6a9811
test esi, esi
jae 0x6a983c
mov al, 0xa9
sub al, cl
mov cl, al
mov byte [ebp - 0xb8], cl
cmp edx, 0xffffffff
jl 0x6a9880
jg 0x6a9829
cmp esi, 0xffffffc0
jbe 0x6a9880
neg esi
mov dword [ebp - 0xc0], esi
adc edx, 0
neg edx
mov dword [ebp - 0xbc], edx
test edx, edx
jl 0x6a98b5
jg 0x6a9847
cmp esi, 0x40
jb 0x6a98b5
cmp dword [ebp - 0xcc], 0
jg 0x6a9896
jl 0x6a985b
cmp dword [ebp - 0xd0], 0
jae 0x6a9896
cmp cl, 0x54
je 0x6a9896
or eax, 0xffffffff
cdq
mov ecx, eax
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0xcc]
jmp 0x6a92e4
mov dword [ebp - 0xc0], 0x40
mov dword [ebp - 0xbc], 0
jmp 0x6a9847
xor eax, eax
cdq
mov ecx, eax
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0xcc]
jmp 0x6a92e4
movq xmm1, qword [ebp - 0xd0]
movd xmm0, esi
cmp cl, 0x54
jne 0x6a98f8
psllq xmm1, xmm0
movq qword [ebp - 0xc8], xmm1
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xd0], ecx
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0xcc]
jmp 0x6a92e4
cmp dword [ebp - 0xcc], 0
psrlq xmm1, xmm0
movq qword [ebp - 0xc8], xmm1
jg 0x6a9936
jl 0x6a9918
cmp dword [ebp - 0xd0], 0
jae 0x6a9936
mov ecx, 0x40
or eax, 0xffffffff
sub ecx, esi
or edx, 0xffffffff
call fcn.00754f70
or dword [ebp - 0xc8], eax
or dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xd0], ecx
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0xcc]
jmp 0x6a92e4
mov ecx, dword [ebp - 0xd0]
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0xcc]
jmp 0x6a92e4
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.006a1e00
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 + 8]
cdq
add dword [esi + 0x10], eax
adc dword [esi + 0x14], edx
inc dword [ebp - 0xd4]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.006a8520
test byte [esi + 0x1c], 8
je 0x6a99d9
mov ecx, esi
call fcn.006a1d60
movzx eax, word [esi + 0x1c]
test al, 4
jne 0x6a9a04
mov edx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe4]
mov eax, dword [edx + edi*4 + 8]
test eax, eax
je 0x6aebbf
mov dword [ebp - 0xd4], eax
jmp 0x6a87c0
mov edx, dword [ebp - 0xd8]
and eax, 0xbe04
or eax, 4
inc dword [ebp - 0xd4]
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 4
lea ecx, [ecx + eax*8]
je 0x6a8c1e
call fcn.006a1e30
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b1
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx ecx, word [esi + 0x1c]
test cl, 1
jne 0x6ab662
mov eax, ecx
shr eax, 3
and eax, 2
or eax, ecx
mov word [esi + 0x1c], ax
test al, 2
jne 0x6a9a9a
test al, 0xc
je 0x6a9a9a
movzx edx, byte [ebp - 0xf0]
mov ecx, esi
call fcn.006a1a50
mov eax, 0xfff3
and word [esi + 0x1c], ax
movzx eax, word [esi + 0x1c]
test eax, 0x4000
je 0x6a9acf
mov ecx, esi
call fcn.006a19a0
mov dword [ebp - 0xdc], eax
mov eax, 0xbfe3
and word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe4]
jmp 0x6aa8e3
mov eax, 0xbfe3
mov dword [ebp - 0xdc], 0
and word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe4]
jmp 0x6aa8e3
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
test al, 1
jne 0x6ab662
test al, 0x10
jne 0x6a9b54
test al, 2
jne 0x6a9b29
test al, 0xc
je 0x6a9b29
movzx edx, byte [ebp - 0xf0]
mov ecx, esi
call fcn.006a1a50
mov edx, dword [ebp - 0xd8]
mov ax, word [esi + 0x1c]
mov ecx, 0xbe10
and ax, cx
or ax, 0x10
inc dword [ebp - 0xd4]
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
and eax, 0xfe10
inc dword [ebp - 0xd4]
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.006a1eb0
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd4], eax
jmp 0x6a87c0
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne 0x6a8c1e
call fcn.006a1e00
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b1
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
jne 0x6a8c1e
call fcn.006a1e30
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b1
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
movzx eax, word [esi + 0x1c]
mov word [ebp - 0xca], ax
movzx eax, word [ebx + 0x1c]
mov cl, byte [ebp - 0xca]
mov dl, al
mov word [ebp - 0xc8], ax
or al, cl
test al, 1
mov eax, dword [ebp - 0xd8]
je 0x6a9d06
mov al, byte [eax + edi*4 + 3]
test al, al
jns 0x6a9c70
test cl, 1
je 0x6a9c66
test dl, 1
je 0x6a9c66
test dword [ebp - 0xc8], 0x100
jne 0x6a9c66
xor edx, edx
jmp 0x6a9d87
mov edx, 1
jmp 0x6a9d87
mov edx, dword [ebp - 0xd8]
test al, 0x10
je 0x6a9cbb
mov eax, dword [edx + edi*4 + 8]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe4]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, 0xbe01
mov ax, word [ebx + 0x1c]
and ax, cx
mov dword [ebp - 0xec], ebx
or ax, 1
inc dword [ebp - 0xd4]
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
test al, 8
je 0x6a9ce2
mov ebx, dword [edx + edi*4 + 8]
mov esi, dword [ebp - 0xe4]
dec ebx
inc ebx
mov dword [ebp - 0xd4], ebx
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
mov ebx, dword [ebp - 0xd4]
mov esi, dword [ebp - 0xe4]
inc ebx
mov dword [ebp - 0xd4], ebx
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
mov dl, byte [eax + edi*4 + 3]
and dl, 0x67
mov byte [ebp - 0xcc], dl
je 0x6a9d4b
push dword [ebp - 0xf0]
mov ecx, esi
call fcn.006a85b0
mov dl, byte [ebp - 0xcc]
add esp, 4
mov ecx, ebx
push dword [ebp - 0xf0]
call fcn.006a85b0
mov eax, dword [ebp - 0xe4]
add esp, 4
cmp byte [eax + 0x38], 0
jne 0x6aef51
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x6a9d62
mov ecx, esi
call fcn.006a19a0
mov eax, 0x4000
test word [ebx + 0x1c], ax
je 0x6a9d6f
mov ecx, ebx
call fcn.006a19a0
mov eax, dword [ebp - 0xd8]
mov edx, esi
mov ecx, ebx
push dword [eax + edi*4 + 0x10]
call fcn.006a23c0
add esp, 4
mov edx, eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], edx
movzx ecx, byte [eax + edi*4]
add ecx, 0xffffffb5
cmp ecx, 4
ja case.default.0x6a9d9f
jmp dword [ecx*4 + 0x6af1f8]
xor eax, eax
test edx, edx
sete al
jmp 0x6a9dda
xor eax, eax
test edx, edx
setne al
jmp 0x6a9dda
xor eax, eax
test edx, edx
sets al
jmp 0x6a9dda
xor eax, eax
test edx, edx
setle al
jmp 0x6a9dda
xor eax, eax
test edx, edx
setg al
jmp 0x6a9dda
xor eax, eax
test edx, edx
setns al
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], eax
test byte [edx + edi*4 + 3], 0x10
je 0x6a9e2c
mov eax, dword [edx + edi*4 + 8]
mov edx, 0xbe04
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov ax, word [ecx + 0x1c]
and ax, dx
mov dword [ebp - 0xec], ecx
or ax, 4
mov word [ecx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ecx + 0x14], edx
mov edx, dword [ebp - 0xd8]
mov dword [ecx + 0x10], eax
jmp 0x6a9e3b
test eax, eax
je 0x6a9e3b
mov eax, dword [edx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
movzx eax, word [esi + 0x1c]
mov edi, 0x1ff
xor ax, word [ebp - 0xca]
and ax, di
xor word [esi + 0x1c], ax
movzx eax, word [ebx + 0x1c]
xor ax, word [ebp - 0xc8]
mov esi, dword [ebp - 0xe4]
and ax, di
xor word [ebx + 0x1c], ax
inc dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
mov eax, dword [ebp - 0xd4]
mov ecx, dword [edx + edi*4 + 0x10]
inc eax
mov dword [ebp - 0x10c], ecx
jmp 0x6a87b7
test byte [edx + edi*4 + 3], 1
mov ecx, 0
mov eax, dword [ebp - 0x10c]
cmove eax, ecx
mov dword [ebp - 0x10c], eax
mov eax, dword [edx + edi*4 + 0xc]
mov dword [ebp - 0xd0], eax
mov ebx, dword [edx + edi*4 + 0x10]
mov dword [ebp - 0xc0], ebx
mov ecx, dword [edx + edi*4 + 4]
mov dword [ebp - 0xc8], ecx
mov edi, dword [edx + edi*4 + 8]
xor edx, edx
mov dword [ebp - 0xf4], ecx
mov dword [ebp - 0xc4], edi
mov dword [ebp - 0xcc], edx
test eax, eax
jle 0x6a9f99
mov edi, edi
mov eax, dword [ebp - 0x10c]
test eax, eax
je 0x6a9eff
mov esi, dword [eax + edx*4]
jmp 0x6a9f01
mov esi, edx
mov dword [ebp - 0xbc], esi
mov ecx, dword [ebx + edx*4 + 0xc]
mov dword [ebp - 0xb8], ecx
mov eax, dword [ebx + 8]
push ecx
movzx eax, byte [eax + edx]
mov dword [ebp - 0xb4], eax
lea eax, [esi + edi]
mov edi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [edi + eax*8]
mov eax, dword [ebp - 0xf4]
add eax, esi
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
call fcn.006a23c0
mov edi, eax
add esp, 4
mov dword [ebp - 0x110], edi
test edi, edi
jne 0x6a9f82
mov edx, dword [ebp - 0xcc]
inc edx
mov dword [ebp - 0xcc], edx
cmp edx, dword [ebp - 0xd0]
jge 0x6a9f93
mov ecx, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xc4]
mov dword [ebp - 0xf4], ecx
jmp 0x6a9ef0
cmp dword [ebp - 0xb4], 0
je 0x6a9f93
neg edi
mov dword [ebp - 0x110], edi
mov esi, dword [ebp - 0xe4]
inc dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0x10c], 0
jmp 0x6a87c0
mov eax, dword [ebp - 0x110]
test eax, eax
jns 0x6a9fd3
mov eax, dword [edx + edi*4 + 4]
jmp 0x6a87b7
jne 0x6a9fde
mov eax, dword [edx + edi*4 + 8]
jmp 0x6a87b7
mov eax, dword [edx + edi*4 + 0xc]
jmp 0x6a87b7
mov eax, dword [edx + edi*4 + 4]
mov ebx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea ecx, [ebx + eax*8]
je 0x6aa005
mov ecx, 2
jmp 0x6aa01d
call fcn.006a1c50
or eax, edx
mov edx, dword [ebp - 0xd8]
je 0x6aa01b
mov ecx, 1
jmp 0x6aa01d
xor ecx, ecx
mov dword [ebp - 0xd0], ecx
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea eax, [ebx + eax*8]
je 0x6aa03b
mov eax, 2
jmp 0x6aa05b
mov ecx, eax
call fcn.006a1c50
mov ecx, dword [ebp - 0xd0]
or eax, edx
mov edx, dword [ebp - 0xd8]
je 0x6aa059
mov eax, 1
jmp 0x6aa05b
xor eax, eax
mov dword [ebp - 0xcc], eax
lea eax, [eax + ecx*2]
cmp byte [edx + edi*4], 0x45
jne 0x6aa074
movzx ecx, byte [ecx + eax + 0x8c1688]
jmp 0x6aa07c
movzx ecx, byte [ecx + eax + 0x8c4744]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov dword [ebp - 0xec], ebx
cmp ecx, 2
jne 0x6aa0b7
mov ax, word [ebx + 0x1c]
mov ecx, 0xbe01
and ax, cx
or ax, 1
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b7
mov eax, ecx
mov ecx, 0xbe04
cdq
mov dword [ebx + 0x10], eax
mov ax, word [ebx + 0x1c]
and ax, cx
mov dword [ebx + 0x14], edx
mov edx, dword [ebp - 0xd8]
or ax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0xd4], eax
jmp 0x6a87c0
mov eax, dword [edx + edi*4 + 4]
mov ebx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea ecx, [ebx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov dword [ebp - 0xec], ebx
je 0x6aa132
mov ecx, ebx
call fcn.006a1f30
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd4], eax
jmp 0x6a87c0
call fcn.006a1c50
or eax, edx
jne 0x6aa142
mov eax, 1
jmp 0x6aa144
xor eax, eax
cdq
push edx
push eax
mov ecx, ebx
call fcn.006a1f80
mov eax, dword [ebp - 0xd4]
add esp, 8
mov edx, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd4], eax
jmp 0x6a87c0
mov eax, dword [edx + edi*4 + 4]
mov ebx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ebx + eax*8 + 0x1c], 1
lea ecx, [ebx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ebx + eax*8]
mov dword [ebp - 0xec], ebx
je 0x6aa1af
mov ecx, ebx
call fcn.006a1f30
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd4], eax
jmp 0x6a87c0
call fcn.006a1c50
not eax
not edx
jmp 0x6aa145
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0xc0]
cmp byte [eax + ecx], 0
je 0x6aa1d9
mov eax, dword [edx + edi*4 + 8]
jmp 0x6a87b7
mov byte [eax + ecx], 1
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b7
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
lea ecx, [ecx + eax*8]
je 0x6aa206
mov ecx, dword [edx + edi*4 + 0xc]
jmp 0x6aa23d
call fcn.006a1d00
ucomisd xmm0, qword [0x8d5a58]
lahf
test ah, 0x44
jnp 0x6aa220
mov ecx, 1
jmp 0x6aa222
xor ecx, ecx
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], ecx
cmp byte [edx + edi*4], 0x1c
jne 0x6aa243
xor eax, eax
test ecx, ecx
sete al
mov ecx, eax
mov dword [ebp - 0xd0], ecx
test ecx, ecx
je 0x6a89f3
mov eax, dword [edx + edi*4 + 8]
dec eax
inc eax
jmp 0x6a87b7
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
je 0x6a89f3
mov eax, dword [edx + edi*4 + 8]
dec eax
inc eax
jmp 0x6a87b7
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 1
jne 0x6a89f3
mov eax, dword [edx + edi*4 + 8]
dec eax
inc eax
jmp 0x6a87b7
mov ecx, dword [edx + edi*4 + 4]
xorps xmm0, xmm0
mov esi, dword [ebp - 0xe8]
mov dword [ebp - 0xc0], ecx
mov ebx, dword [edx + edi*4 + 8]
mov dword [ebp - 0xb8], 0
mov dword [ebp - 0xbc], ebx
movdqu xmmword [ebp - 0x90], xmm0
movdqu xmmword [ebp - 0x80], xmm0
movq qword [ebp - 0x70], xmm0
mov eax, dword [edx + edi*4 + 0xc]
mov dword [ebp - 0xb4], 0
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x94], esi
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xb8], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xb0], eax
test eax, eax
je 0x6aa3d3
call fcn.006a55f0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aeca6
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0x1c], al
je 0x6aa376
mov esi, dword [ebp - 0x94]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xd0], 0
mov ax, word [esi + 0x1c]
mov ecx, 0xbe01
mov ebx, dword [ebp - 0xec]
and ax, cx
or ax, 1
inc dword [ebp - 0xd4]
mov word [esi + 0x1c], ax
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
mov ebx, dword [ebp - 0xe0]
mov eax, dword [ecx + 0x50]
cmp eax, dword [ebx + 0x54]
jne 0x6aa39b
mov edx, dword [ecx + 0x54]
mov dword [ebp - 0xd0], edx
mov eax, dword [ecx + 0x60]
mov dword [ebp - 0xb4], eax
jmp 0x6aa484
cmp byte [ecx + 0x1f], 0
mov ecx, dword [ebp - 0xb0]
je 0x6aa3c3
lea edx, [ebp - 0xc8]
call fcn.0069b100
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xd0], edx
jmp 0x6aa47e
lea edx, [ebp - 0xd0]
call fcn.0069b140
jmp 0x6aa478
mov eax, dword [ecx + 0x10]
test eax, eax
jle 0x6aa33b
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov dword [ebp - 0x4c], edx
cmp byte [ecx + 0x22], 0
je 0x6aa449
lea eax, [ebx + ebx*4]
mov ecx, esi
push 0x1000
lea edx, [edx + eax*8]
call fcn.006a20e0
mov ecx, dword [ebp - 0x94]
mov eax, 0x1000
add esp, 4
test word [ecx + 0x1c], ax
je 0x6aa426
call fcn.006a1940
test eax, eax
jne 0x6aef55
inc dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
mov eax, dword [edx + 0x18]
mov ebx, dword [ebp - 0xe0]
mov dword [ebp - 0xd0], eax
mov eax, dword [edx + 4]
mov dword [ebp - 0xb4], eax
mov eax, dword [ebp - 0xd8]
test byte [eax + edi*4 + 3], 0x20
je 0x6aa472
xor eax, eax
jmp 0x6aa475
mov eax, dword [ebx + 0x54]
mov dword [ecx + 0x50], eax
mov edx, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xb8]
test edx, edx
je 0x6aa9e1
mov esi, dword [ebp - 0xe4]
cmp edx, dword [esi + 0x50]
ja 0x6aedb4
mov esi, dword [ecx + 0x14]
mov dword [ebp - 0xa4], esi
mov edx, dword [ecx + 0x58]
mov dword [ebp - 0xac], edx
mov eax, dword [ecx + 0x50]
cmp eax, dword [ebx + 0x54]
jne 0x6aa4c3
mov ecx, dword [ecx + 0x5c]
mov dword [ebp - 0xa8], ecx
jmp 0x6aa704
lea eax, [edx + esi*4]
mov dword [ebp - 0x54], 0
mov dword [ebp - 0xa8], eax
mov dword [ecx + 0x5c], eax
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0x54], eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [ebx + 0x54]
mov dword [eax + 0x50], ecx
mov ecx, dword [ebp - 0xb4]
test ecx, ecx
je 0x6aa503
mov dword [ebp - 0x98], ecx
jmp 0x6aa565
mov edx, dword [ebp - 0xb8]
xor ecx, ecx
mov eax, dword [ebp - 0xb0]
cmp byte [edx + 0x1f], cl
je 0x6aa51f
cmp byte [eax + 0x5b], 1
jne 0x6aa53c
push ecx
jmp 0x6aa527
cmp byte [eax + 0x5b], 1
jne 0x6aa53c
push 1
lea edx, [ebp - 0x54]
mov ecx, eax
call fcn.0069b6f0
mov edx, dword [ebp - 0xb8]
add esp, 4
mov ecx, eax
mov eax, dword [ebp - 0xd0]
mov dword [ebp - 0x98], ecx
cmp eax, dword [ebp - 0x54]
ja 0x6aa558
mov dword [ebp - 0xb4], ecx
mov dword [edx + 0x60], ecx
jmp 0x6aa55f
mov dword [edx + 0x60], 0
mov ecx, dword [ebp - 0x98]
mov al, byte [ecx]
cmp al, 0x80
jae 0x6aa578
movzx edx, al
mov eax, 1
mov dword [ebp - 0x60], edx
jmp 0x6aa58c
lea edx, [ebp - 0x60]
call fcn.0068a5c0
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x98]
movzx eax, al
movzx eax, al
mov dword [ebp - 0x58], eax
cmp edx, 0x18003
jbe 0x6aa5bb
mov ecx, 0x1037e
call fcn.006eb0a0
mov dword [ebp - 0xdc], eax
mov ebx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe4]
jmp 0x6aa8e3
mov ebx, dword [ebp - 0xa4]
lea esi, [ebx*4 + 3]
add esi, ebx
cmp esi, edx
cmovg esi, edx
cmp dword [ebp - 0xb4], 0
mov dword [ebp - 0xa0], esi
jne 0x6aa637
cmp dword [ebp - 0x54], esi
jge 0x6aa637
mov ecx, dword [ebp - 0xb0]
xor eax, eax
mov word [ebp - 0x74], ax
xor edx, edx
mov dword [ebp - 0x90], eax
lea eax, [ebp - 0x90]
push eax
mov eax, dword [ebp - 0xb8]
movzx eax, byte [eax + 0x1f]
push eax
push esi
call fcn.006a26b0
add esp, 0xc
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aa5aa
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x60]
mov esi, dword [ebp - 0xa0]
mov ebx, dword [ebp - 0xa4]
mov dword [ebp - 0x98], ecx
lea eax, [ecx + esi]
mov esi, dword [ebp - 0x58]
add esi, ecx
mov dword [ebp - 0x64], eax
xor ecx, ecx
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x9c], ecx
test ebx, ebx
jle 0x6aa6b9
cmp esi, eax
mov eax, dword [ebp - 0xa8]
jae 0x6aa75f
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x68]
mov al, byte [ecx]
cmp al, 0x80
jae 0x6aa677
movzx edx, al
inc ecx
mov dword [ebp - 0x50], edx
mov dword [ebp - 0x68], ecx
jmp 0x6aa688
lea edx, [ebp - 0x50]
call fcn.0068a5c0
mov edx, dword [ebp - 0x50]
movzx eax, al
add dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x9c]
mov eax, dword [ebp - 0xac]
mov dword [eax + ecx*4], edx
mov ecx, dword [ebp - 0x50]
call fcn.006a57a0
mov edx, dword [ebp - 0x60]
add edx, eax
mov dword [ebp - 0x5c], eax
mov dword [ebp - 0x60], edx
cmp edx, eax
jae 0x6aa769
mov eax, dword [ebp - 0x64]
inc eax
mov dword [ebp - 0x68], eax
lea ecx, [ebp - 0x90]
call fcn.006a1c10
mov edx, dword [ebp - 0x68]
mov eax, 1
mov esi, dword [ebp - 0x64]
mov word [ebp - 0x74], ax
cmp edx, esi
ja 0x6aa9c0
mov eax, dword [ebp - 0x60]
mov ecx, dword [ebp - 0xd0]
cmp eax, ecx
ja 0x6aa9c0
cmp edx, esi
jne 0x6aa6f8
cmp eax, ecx
jne 0x6aa9c0
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xbc]
cmp dword [ecx + eax*4], 0
je 0x6aa84d
cmp dword [ebp - 0xb4], 0
je 0x6aa78d
mov esi, dword [ebp - 0x94]
mov ebx, 0x2460
test word [esi + 0x1c], bx
je 0x6aa74d
mov ecx, esi
call fcn.006a1bb0
mov esi, dword [ebp - 0x94]
mov ecx, dword [ebp - 0xa8]
mov edx, dword [ebp - 0xac]
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ecx + eax*4]
add ecx, dword [ebp - 0xb4]
mov edx, dword [edx + eax*4]
push esi
jmp 0x6aa834
mov dword [eax + ecx*4], 0
mov edx, dword [ebp - 0x60]
mov ecx, dword [ebp - 0x9c]
inc ecx
mov dword [ebp - 0x9c], ecx
cmp ecx, dword [ebp - 0xa4]
jge 0x6aa6b9
mov eax, dword [ebp - 0x64]
mov esi, dword [ebp - 0x68]
jmp 0x6aa651
mov edx, dword [edx + eax*4]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x50], edx
mov al, byte [eax + edi*4 + 3]
test al, 0xc0
je 0x6aa7be
cmp edx, 0xc
jb 0x6aa7ab
test dl, 1
je 0x6aa7af
test al, al
jns 0x6aa7be
cmp edx, 0xc
lea eax, [ebp - 0xc8]
sbb ecx, ecx
and ecx, eax
jmp 0x6aa828
mov ecx, edx
call fcn.006a57a0
mov edx, dword [ebp - 0x94]
lea ecx, [ebp - 0x90]
mov dword [ebp - 0xa0], eax
call fcn.006a21c0
mov edx, dword [ebp - 0xbc]
lea eax, [ebp - 0x90]
mov ecx, dword [ebp - 0xb0]
push eax
mov eax, dword [ebp - 0xb8]
movzx eax, byte [eax + 0x1f]
push eax
mov eax, dword [ebp - 0xa8]
push dword [ebp - 0xa0]
mov edx, dword [eax + edx*4]
call fcn.006a26b0
add esp, 0xc
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aa5aa
mov ecx, dword [ebp - 0x8c]
mov edx, dword [ebp - 0x50]
push dword [ebp - 0x94]
mov dword [ebp - 0x98], ecx
call fcn.006a5880
mov eax, dword [ebp - 0x94]
add esp, 4
mov cl, byte [ebp - 0xf0]
mov byte [eax + 0x1f], cl
jmp 0x6aa887
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0x94]
cmp byte [eax + edi*4 + 1], 0xf8
jne 0x6aa873
mov edx, dword [eax + edi*4 + 0x10]
push 0x800
call fcn.006a20e0
add esp, 4
jmp 0x6aa887
mov ax, word [ecx + 0x1c]
mov edx, 0xbe01
and ax, dx
or ax, 1
mov word [ecx + 0x1c], ax
cmp dword [ebp - 0x6c], 0
je 0x6aa8c6
mov eax, dword [ebp - 0x94]
mov ecx, 0xe7ff
and word [eax + 0x1c], cx
mov ecx, 0x200
mov eax, dword [ebp - 0x94]
or word [eax + 0x1c], cx
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x8c]
mov dword [ecx + 4], eax
mov eax, dword [ebp - 0x94]
mov ecx, dword [ebp - 0x6c]
mov dword [eax + 0x24], ecx
mov ecx, dword [ebp - 0x94]
call fcn.006a1940
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xdc], eax
mov ebx, dword [ebp - 0xec]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ebp - 0xd4], eax
test ecx, ecx
je 0x6a87c0
mov eax, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xd4]
mov ecx, dword [ebp - 0xe0]
push dword [ecx + 0x38]
mov dword [ecx + 0x5c], eax
push dword [ecx + 0xa0]
push ebx
push 0x8d1f00
push eax
call fcn.00688f20
mov ecx, dword [ebp - 0xe0]
add esp, 0x14
call fcn.006a4ec0
cmp dword [ebp - 0xdc], 0xc0a
jne 0x6aa94c
mov byte [esi + 0x38], 1
mov al, byte [ebp - 0xfd]
mov edi, 1
test al, al
je 0x6aa990
movzx esi, al
mov eax, dword [ebp - 0xe4]
dec esi
mov ecx, esi
add ecx, ecx
mov eax, dword [eax + 0x10]
push dword [eax + ecx*8 + 0xc]
call fcn.006c1270
add esp, 4
cmp esi, edi
mov esi, dword [ebp - 0xe4]
je 0x6aa990
mov eax, dword [esi + 0x10]
push dword [eax + 0x1c]
call fcn.006c1270
add esp, 4
mov eax, dword [ebp - 0x104]
mov ecx, dword [ebp - 0xe0]
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0x108]
mov dword [esi + 0x24], eax
call fcn.006a3990
mov ecx, dword [ebp - 4]
mov eax, edi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.0073167f
mov esp, ebp
pop ebp
ret
mov ecx, 0x103ce
call fcn.006eb0a0
mov ebx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xdc], eax
jmp 0x6aa8e3
mov esi, dword [ebp - 0x94]
mov edx, dword [ebp - 0xd8]
jmp 0x6aa345
mov ecx, dword [edx + edi*4 + 0x10]
mov esi, dword [ebp - 0xe8]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edx + edi*4 + 4]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov al, byte [ecx]
mov byte [ebp - 0xcc], al
test al, al
je 0x6aaa6d
mov ebx, 0x4000
lea ecx, [ecx]
inc ecx
mov dword [ebp - 0xd0], ecx
test word [esi + 0x1c], bx
je 0x6aaa3a
mov ecx, esi
call fcn.006a19a0
mov al, byte [ebp - 0xcc]
push dword [ebp - 0xf0]
mov dl, al
mov ecx, esi
call fcn.006a85b0
mov ecx, dword [ebp - 0xd0]
add esp, 4
add esi, 0x28
mov al, byte [ecx]
mov byte [ebp - 0xcc], al
test al, al
jne 0x6aaa20
mov ebx, dword [ebp - 0xec]
mov edx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe4]
inc ecx
inc dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xd0], ecx
jmp 0x6a87c0
mov esi, dword [ebp - 0xd8]
xor edx, edx
mov dword [ebp - 0xc0], edx
xor ebx, ebx
mov dword [ebp - 0xb0], ebx
xorps xmm0, xmm0
movlpd qword [ebp - 0xc8], xmm0
mov eax, dword [esi + edi*4 + 4]
mov dword [ebp - 0x9c], eax
mov ecx, dword [esi + edi*4 + 0x10]
mov dword [ebp - 0x98], ecx
lea eax, [eax + eax*4]
mov dword [ebp - 0xf4], ecx
mov ecx, dword [ebp - 0xe8]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xa4], ecx
mov eax, dword [esi + edi*4 + 8]
mov dword [ebp - 0x9c], eax
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
add ecx, 0xffffffd8
mov dword [ebp - 0xa0], ecx
movzx eax, byte [eax + 0x61]
mov dword [ebp - 0x94], eax
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xa4]
mov esi, eax
mov dword [ebp - 0xcc], esi
cmp eax, ecx
ja 0x6aac2a
lea ecx, [ecx]
mov edi, dword [ebp - 0xf4]
test edi, edi
je 0x6aab7a
push dword [ebp - 0xf0]
mov ecx, esi
sub ecx, eax
mov eax, 0x66666667
imul ecx
mov ecx, esi
sar edx, 4
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dl, byte [eax + edi]
call fcn.006a85b0
mov ecx, dword [ebp - 0x98]
add esp, 4
mov ebx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0xf4], ecx
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x6aabaa
cmp dword [esi + 0x18], 0
jle 0x6aabaa
mov ecx, esi
call fcn.006a19a0
mov ecx, dword [ebp - 0x98]
mov ebx, dword [ebp - 0xb0]
mov esi, dword [ebp - 0xcc]
mov dword [ebp - 0xf4], ecx
mov edx, dword [ebp - 0x94]
mov ecx, esi
call fcn.006a5690
mov ecx, eax
mov dword [ebp - 0xa8], ecx
call fcn.006a57a0
mov edi, eax
cdq
add dword [ebp - 0xc8], eax
push 0
adc dword [ebp - 0xc4], edx
push ecx
mov dword [ebp - 0x8c], edi
call fcn.0068a640
mov edx, dword [ebp - 0xc0]
add esp, 8
add edx, eax
mov eax, 0x4000
mov dword [ebp - 0xc0], edx
test word [esi + 0x1c], ax
je 0x6aac02
add ebx, dword [esi + 0x10]
jmp 0x6aac09
xor eax, eax
test edi, edi
cmovne ebx, eax
mov eax, dword [ebp - 0xa4]
add esi, 0x28
mov dword [ebp - 0xb0], ebx
mov dword [ebp - 0xcc], esi
cmp esi, dword [ebp - 0xa0]
jbe 0x6aab30
mov eax, edx
cdq
push edx
push eax
call fcn.0068a640
mov edi, dword [ebp - 0xc0]
mov esi, eax
add edi, esi
mov dword [ebp - 0xac], esi
mov eax, edi
mov dword [ebp - 0xc0], edi
cdq
push edx
push eax
call fcn.0068a640
add esp, 0x10
cmp esi, eax
jge 0x6aac62
inc edi
mov dword [ebp - 0xc0], edi
mov eax, ebx
cdq
mov ecx, eax
mov esi, edx
mov eax, edi
cdq
mov ebx, eax
mov edi, edx
sub ebx, ecx
sbb edi, esi
add ebx, dword [ebp - 0xc8]
mov esi, dword [ebp - 0xe4]
adc edi, dword [ebp - 0xc4]
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb4], edi
mov eax, dword [esi + 0x50]
cdq
cmp edi, edx
jg 0x6aedb4
jl 0x6aaca8
cmp ebx, eax
ja 0x6aedb4
mov edx, ebx
mov ebx, dword [ebp - 0xec]
push 0
mov ecx, ebx
call fcn.006a1820
add esp, 4
test eax, eax
jne 0x6aef5b
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebx + 4]
mov dword [ebp - 0xd0], ecx
cmp edx, 0x80
jae 0x6aace6
mov al, dl
mov byte [ecx], al
mov eax, 1
jmp 0x6aaceb
call fcn.0068a410
mov ecx, dword [ebp - 0xa0]
movzx esi, al
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xcc], eax
cmp eax, ecx
ja 0x6aad7d
lea ebx, [ebx]
mov edx, dword [ebp - 0x94]
mov ecx, eax
call fcn.006a5690
mov edx, eax
mov dword [ebp - 0xa8], edx
cmp edx, 0x80
jae 0x6aad3f
mov cl, al
mov eax, dword [ebp - 0xd0]
mov byte [esi + eax], cl
mov eax, 1
jmp 0x6aad4d
mov ecx, dword [ebp - 0xd0]
lea ecx, [esi + ecx]
call fcn.0068a410
mov esi, dword [ebp - 0x90]
mov ecx, dword [ebp - 0xa0]
movzx eax, al
add esi, eax
mov eax, dword [ebp - 0xcc]
add eax, 0x28
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xcc], eax
cmp eax, ecx
jbe 0x6aad10
mov eax, dword [ebp - 0xa4]
mov dword [ebp - 0xcc], eax
cmp eax, ecx
ja 0x6aadd5
jmp 0x6aad90
mov ecx, dword [ebp - 0xd0]
push dword [ebp - 0x94]
mov edx, dword [ebp - 0xb8]
push eax
sub edx, esi
lea ecx, [esi + ecx]
call fcn.006a57c0
mov esi, dword [ebp - 0x90]
add esp, 8
add esi, eax
mov eax, dword [ebp - 0xcc]
add eax, 0x28
mov dword [ebp - 0x90], esi
mov dword [ebp - 0xcc], eax
cmp eax, dword [ebp - 0xa0]
jbe 0x6aad90
mov eax, dword [ebp - 0xb8]
mov dword [ebx + 0x18], eax
mov eax, 0x410
mov word [ebx + 0x1c], ax
mov dword [ebx + 0x20], 0
mov eax, dword [ebp - 0xb0]
test eax, eax
je 0x6aae04
mov dword [ebx + 0x10], eax
mov eax, 0x4410
mov word [ebx + 0x1c], ax
inc dword [ebp - 0xd4]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
mov byte [ebx + 0x1f], 1
jmp 0x6a87c0
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je 0x6aae6f
lea edx, [ebp - 0xd0]
call fcn.0069f590
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xd0]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebx + 0x14], eax
jmp case.default.0x6a8858
xorps xmm0, xmm0
movlpd qword [ebp - 0xd0], xmm0
mov eax, dword [ebp - 0xd0]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebx + 0x14], eax
jmp case.default.0x6a8858
mov ebx, dword [edx + edi*4 + 4]
mov dword [ebp - 0xd0], ebx
mov eax, dword [edx + edi*4 + 0x10]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xcc], eax
test ebx, ebx
jne 0x6aaf9a
cmp dword [esi + 0x88], ebx
jg 0x6aebcf
mov ecx, eax
call fcn.006897e0
mov dword [ebp - 0xc8], eax
xor edx, edx
mov eax, dword [esi + 0x1e4]
mov ecx, esi
add eax, dword [esi + 0x1e0]
push eax
call fcn.006dd7f0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aecac
mov edx, dword [ebp - 0xc8]
mov ecx, esi
lea edx, [edx + 0x19]
call fcn.006878a0
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x6aaf7d
lea ecx, [eax + 0x18]
mov dword [eax], ecx
mov eax, dword [ebp - 0xc8]
inc eax
push eax
mov eax, dword [ebp - 0xc4]
push dword [ebp - 0xcc]
push dword [eax]
call fcn.00736570
add esp, 0xc
cmp byte [esi + 0x36], bl
je 0x6aaf3e
mov byte [esi + 0x36], bl
mov byte [esi + 0x3d], 1
jmp 0x6aaf44
inc dword [esi + 0x1e0]
mov eax, dword [ebp - 0xc4]
mov ecx, dword [esi + 0x1d8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [esi + 0x1e8]
mov dword [esi + 0x1d8], eax
mov eax, dword [ebp - 0xc4]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [esi + 0x1ec]
mov dword [eax + 0xc], ecx
inc dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
xor edi, edi
mov dword [ebp - 0xb8], edi
mov esi, dword [esi + 0x1d8]
mov dword [ebp - 0xc0], esi
push eax
test esi, esi
je 0x6aec27
push dword [esi]
call fcn.006899a0
add esp, 8
test eax, eax
je 0x6aafd7
mov eax, dword [ebp - 0xf4]
inc edi
mov dword [ebp - 0xb8], edi
mov esi, dword [esi + 0x10]
jmp 0x6aafa8
mov eax, dword [ebp - 0xe4]
cmp dword [eax + 0x88], 0
jle 0x6aafef
cmp ebx, 1
je 0x6aebfe
cmp dword [esi + 0x10], 0
jne 0x6ab052
cmp byte [eax + 0x3d], 0
je 0x6ab052
mov dword [ebp - 0xf4], 1
cmp ebx, 1
jne 0x6ab05c
mov ecx, dword [ebp - 0xe0]
mov edx, ebx
call fcn.006a4e60
mov esi, dword [ebp - 0xe4]
mov edi, eax
test edi, edi
jne 0x6aa990
mov edi, dword [ebp - 0xe0]
mov ecx, edi
mov byte [esi + 0x36], bl
call fcn.006a4ec0
cmp eax, 5
je 0x6aec07
mov byte [esi + 0x3d], 0
mov eax, dword [edi + 0x5c]
mov dword [ebp - 0xdc], eax
jmp 0x6ab134
mov dword [ebp - 0xf4], 0
mov eax, dword [eax + 0x1e0]
sub eax, edi
mov edi, dword [ebp - 0xe4]
dec eax
mov dword [ebp - 0xb8], eax
cmp ebx, 2
jne 0x6ab0b4
xor eax, eax
mov dword [ebp - 0xb4], eax
cmp dword [edi + 0x14], eax
jle 0x6ab0b4
mov ecx, dword [edi + 0x10]
add eax, eax
mov edx, 4
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0069aba0
mov eax, dword [ebp - 0xb4]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, dword [edi + 0x14]
jl 0x6ab083
mov esi, dword [ebp - 0xc0]
mov ebx, dword [ebp - 0xd0]
xor eax, eax
mov dword [ebp - 0xb4], eax
cmp dword [edi + 0x14], eax
jle 0x6ab11b
mov esi, dword [ebp - 0xe4]
jmp 0x6ab0d0
mov ecx, dword [esi + 0x10]
add eax, eax
push dword [ebp - 0xb8]
mov edx, ebx
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0069adf0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aecac
mov eax, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xd0]
inc eax
mov dword [ebp - 0xb4], eax
cmp eax, dword [esi + 0x14]
jl 0x6ab0d0
mov esi, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xe4]
cmp ebx, 2
jne 0x6ab140
test byte [edi + 0x18], bl
je 0x6ab140
mov ecx, edi
call fcn.006a6020
call fcn.006bc2d0
or dword [edi + 0x18], ebx
mov ebx, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xe4]
cmp dword [edi + 0x1d8], esi
je 0x6ab18c
mov edi, edi
mov eax, dword [edi + 0x1d8]
mov ecx, edi
mov dword [ebp - 0xbc], eax
mov eax, dword [eax + 0x10]
mov dword [edi + 0x1d8], eax
mov edx, dword [ebp - 0xbc]
call fcn.00687650
dec dword [edi + 0x1e0]
mov esi, dword [ebp - 0xc0]
cmp dword [edi + 0x1d8], esi
jne 0x6ab150
mov ebx, dword [ebp - 0xd0]
cmp ebx, 1
jne 0x6ab1be
mov eax, dword [esi + 0x10]
mov esi, edi
mov ecx, esi
mov dword [esi + 0x1d8], eax
mov edx, dword [ebp - 0xc0]
call fcn.00687650
cmp dword [ebp - 0xf4], 0
jne 0x6aa8dd
dec dword [esi + 0x1e0]
jmp 0x6ab1df
cmp dword [ebp - 0xf4], 0
mov eax, dword [esi + 8]
mov dword [edi + 0x1e8], eax
mov eax, dword [esi + 0xc]
mov esi, edi
mov dword [esi + 0x1ec], eax
jne 0x6aa8dd
push dword [ebp - 0xb8]
mov edx, dword [ebp - 0xd0]
mov ecx, esi
call fcn.006dd7f0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aecac
jmp 0x6aa8dd
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xd0], ecx
test ecx, ecx
je case.default.0x6a8858
mov edx, dword [edx + edi*4 + 8]
call fcn.00699cb0
mov dword [ebp - 0xdc], eax
cmp eax, 5
je 0x6aec5c
test eax, eax
jne 0x6aecac
mov edx, dword [ebp - 0xd8]
cmp dword [edx + edi*4 + 8], eax
je case.default.0x6a8858
mov ecx, dword [ebp - 0xe0]
test byte [ecx + 0x64], 0x80
je case.default.0x6a8858
cmp byte [esi + 0x36], al
je 0x6ab275
cmp dword [esi + 0x84], 1
jle case.default.0x6a8858
cmp dword [ecx + 0x74], 0
jne 0x6ab290
mov eax, dword [esi + 0x1e0]
inc dword [esi + 0x1e4]
add eax, dword [esi + 0x1e4]
mov dword [ecx + 0x74], eax
mov eax, dword [ecx + 0x74]
xor edx, edx
dec eax
mov ecx, esi
push eax
call fcn.006dd7f0
mov edx, eax
add esp, 4
mov dword [ebp - 0xdc], edx
test edx, edx
jne 0x6ab2c7
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [eax + 0x74]
call fcn.0069ada0
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0xe0]
mov eax, dword [esi + 0x1e8]
mov dword [ecx + 0x98], eax
mov eax, dword [esi + 0x1ec]
mov dword [ecx + 0x9c], eax
jmp 0x6aa8e3
mov eax, dword [edx + edi*4 + 4]
lea ecx, [ebp - 0xd0]
mov dword [ebp - 0xcc], eax
add eax, eax
mov edx, dword [edx + edi*4 + 0xc]
mov dword [ebp - 0xc8], edx
push ecx
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0069f480
mov eax, dword [ebp - 0xd0]
add esp, 4
jmp 0x6a89c5
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
shl eax, 4
add eax, dword [esi + 0x10]
mov dword [ebp - 0xd0], eax
mov eax, dword [edx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.006a1e00
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd0]
push dword [esi + 0x10]
mov edx, dword [eax + edi*4 + 8]
mov ecx, dword [ecx + 4]
call fcn.0069f4f0
mov edx, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xdc], eax
mov eax, dword [edx + edi*4 + 8]
cmp eax, 1
jne 0x6ab395
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
mov esi, dword [ebp - 0xe4]
mov dword [ecx], eax
or dword [esi + 0x18], 2
jmp 0x6ab3af
cmp eax, 2
jne 0x6ab3a9
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 0xc]
mov al, byte [esi + 0x10]
mov byte [ecx + 0x4c], al
mov esi, dword [ebp - 0xe4]
cmp dword [edx + edi*4 + 4], 1
jne case.default.0x6a8858
mov ecx, esi
call fcn.006a6020
mov eax, dword [ebp - 0xe0]
and dword [eax + 0x64], 0xffffffdf
jmp case.default.0x6a8858
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je 0x6ab419
lea eax, [ebp - 0xd0]
mov edx, 1
push eax
call fcn.0069f480
mov edx, dword [ebp - 0xd8]
add esp, 4
mov eax, dword [esi + 0x10]
mov ecx, dword [edx + edi*4 + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov ecx, dword [ebp - 0xd0]
mov eax, dword [eax + 4]
jmp 0x6ab423
xor ecx, ecx
xor eax, eax
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], eax
cmp ecx, dword [edx + edi*4 + 8]
jne 0x6ab439
cmp eax, dword [edx + edi*4 + 0xc]
je case.default.0x6a8858
mov eax, dword [ebp - 0xe0]
mov ecx, esi
mov edx, dword [eax + 0x38]
call fcn.00687650
mov edx, 0x8d1e38
mov ecx, esi
call fcn.006879b0
mov ecx, dword [ebp - 0xe0]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xd8]
mov edx, dword [eax + edi*4 + 4]
mov ecx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 0xc]
mov eax, dword [eax]
cmp eax, dword [ebp - 0xd0]
je 0x6ab484
mov ecx, esi
call fcn.006bc290
mov eax, dword [ebp - 0xe0]
mov ecx, 0x11
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], 0x11
or dword [eax + 0x64], 0x20
jmp 0x6aa8ef
mov eax, dword [ebp - 0xe0]
test byte [eax + 0x64], 0x20
jne 0x6aec84
mov eax, dword [ebp - 0xe4]
xor ecx, ecx
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xcc], ecx
mov ebx, dword [edx + edi*4 + 8]
mov dword [ebp - 0xc8], ebx
mov esi, dword [edx + edi*4 + 0xc]
mov edx, esi
mov dword [ebp - 0xc4], esi
shl edx, 4
add edx, dword [eax + 0x10]
mov dword [ebp - 0xb4], edx
mov eax, dword [edx + 4]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xd8]
cmp byte [eax + edi*4], 0x28
jne 0x6ab523
mov dword [ebp - 0xc0], 1
mov eax, dword [edx + 0xc]
mov edx, dword [ebp - 0xe0]
mov al, byte [eax + 0x4c]
cmp al, byte [edx + 0x61]
jae 0x6ab529
mov byte [edx + 0x61], al
jmp 0x6ab529
mov dword [ebp - 0xc0], ecx
mov edx, dword [ebp - 0xd8]
test byte [edx + edi*4 + 3], 2
je 0x6ab56d
mov ecx, dword [ebp - 0xe8]
lea eax, [ebx + ebx*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.006a1e00
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xc8], eax
cmp eax, 2
jl 0x6aec78
mov esi, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd8]
mov al, byte [edx + edi*4 + 1]
cmp al, 0xfa
jne 0x6ab5a6
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 0x10]
mov dword [ebp - 0xcc], ecx
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov eax, dword [eax + 0xc]
mov al, byte [eax + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xc4]
movzx ecx, word [eax + 6]
inc ecx
jmp 0x6ab5ae
cmp al, 0xf2
jne 0x6ab5b4
mov ecx, dword [edx + edi*4 + 0x10]
mov dword [ebp - 0xd0], ecx
mov edx, dword [edx + edi*4 + 4]
push 1
push esi
push ecx
mov ecx, dword [ebp - 0xe0]
call fcn.006a8450
add esp, 0xc
mov dword [ebp - 0xb8], eax
test eax, eax
je 0x6aef55
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xb8]
mov byte [eax + 0x20], 1
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xbc]
push dword [eax]
push dword [ebp - 0xcc]
push dword [ebp - 0xc0]
call fcn.0069af20
mov ecx, dword [ebp - 0xb8]
add esp, 0xc
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xcc]
mov dword [ecx + 8], eax
mov eax, dword [ebp - 0xb8]
mov cl, byte [edx + edi*4 + 3]
and cl, 1
mov eax, dword [eax]
mov byte [eax + 0x5d], cl
cmp byte [edx + edi*4 + 1], 0xfa
mov eax, dword [ebp - 0xb8]
setne cl
mov byte [eax + 0x1e], cl
mov ecx, dword [ebp - 0xb8]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
mov ebx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe4]
jmp case.default.0x6a8858
mov ecx, dword [ebp - 0xe0]
push 1
push 0xffffffffffffffff
push dword [edx + edi*4 + 8]
mov edx, dword [edx + edi*4 + 4]
call fcn.006a8450
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x6aef5b
mov byte [eax + 0x1c], 1
xor edx, edx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [esi]
push 0x41e
movzx eax, byte [eax + edi*4 + 3]
or eax, 5
push eax
mov eax, dword [ebp - 0xd0]
add eax, 4
push eax
push esi
call fcn.00698df0
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6ab7b9
mov ecx, dword [ebp - 0xd0]
lea edx, [eax + 1]
mov ecx, dword [ecx + 4]
call fcn.00699cb0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6ab7b9
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xd0]
cmp dword [eax + edi*4 + 0x10], 0
je 0x6ab793
movzx eax, byte [eax + edi*4 + 3]
lea edx, [ebp - 0x120]
mov ecx, dword [ecx + 4]
or eax, 2
push eax
call fcn.0069ef90
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6ab787
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
mov edx, dword [ebp - 0x120]
push dword [ecx]
mov ecx, dword [ecx + 4]
push dword [eax + edi*4 + 0x10]
push 1
call fcn.0069af20
mov dword [ebp - 0xdc], eax
add esp, 0xc
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + edi*4 + 0x10]
mov eax, dword [ebp - 0xd0]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 0
jmp 0x6ab7b9
push dword [ecx]
mov ecx, dword [ecx + 4]
mov edx, 1
push 0
push 1
call fcn.0069af20
mov dword [ebp - 0xdc], eax
add esp, 0xc
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 1
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xd0]
cmp byte [edx + edi*4 + 3], 8
setne cl
mov byte [eax + 0x20], cl
mov ecx, dword [ebp - 0xd0]
cmp byte [ecx + 0x1e], 0
sete al
mov byte [ecx + 0x1f], al
jmp case.default.0x6a8858
mov ecx, dword [ebp - 0xe0]
push 1
push 0xffffffffffffffff
push dword [edx + edi*4 + 8]
mov edx, dword [edx + edi*4 + 4]
call fcn.006a8450
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x6aef5b
mov ecx, dword [ebp - 0xd8]
mov ecx, dword [ecx + edi*4 + 0x10]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax]
mov eax, dword [eax + 0x10]
mov edx, dword [eax + 0xc]
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax + 8]
mov al, byte [edx + 0x4d]
mov byte [ecx + 4], al
mov ecx, esi
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x21], 1
mov edx, dword [ebp - 0xd0]
call fcn.006b0260
mov dword [ebp - 0xdc], eax
jmp 0x6aa8e3
mov ecx, dword [ebp - 0xe0]
push 0
push 0xffffffffffffffff
push dword [edx + edi*4 + 0xc]
mov edx, dword [edx + edi*4 + 4]
call fcn.006a8450
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x6aef5b
mov edx, dword [ebp - 0xd8]
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + edi*4 + 8]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1e], 1
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1f], 0
mov eax, dword [ebp - 0xd0]
mov cl, byte [edx + edi*4 + 3]
mov byte [eax + 0x22], cl
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b7
mov ecx, dword [ebp - 0xe0]
mov eax, dword [edx + edi*4 + 4]
mov edx, dword [ecx + 0x44]
mov edx, dword [edx + eax*4]
call fcn.006a42b0
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov dword [eax + ecx*4], 0
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b7
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
cmp dword [ecx], 0
je 0x6a886c
movzx eax, byte [edx + edi*4]
mov dword [ebp - 0xcc], eax
mov byte [ecx + 0x1c], 0
mov ecx, dword [ebp - 0xc8]
cmp byte [ecx + 0x1e], 0
je 0x6abb55
mov eax, dword [edx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov ecx, ebx
mov dword [ebp - 0xfc], ebx
call fcn.006a8520
mov ecx, ebx
call fcn.006a1c50
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0x9c], edx
mov byte [eax + 0x19], 0
movzx eax, word [ebx + 0x1c]
test al, 4
jne 0x6abadf
test al, 8
jne 0x6ab9a8
mov edx, dword [ebp - 0xd8]
mov ebx, dword [edx + edi*4 + 8]
mov dword [ebp - 0xd4], ebx
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
mov ebx, dword [ebp - 0xa0]
mov esi, dword [ebp - 0x9c]
test ebx, ebx
jne 0x6aba77
cmp esi, 0x80000000
jne 0x6aba77
mov edx, esi
xor ecx, ecx
call fcn.0073cf1f
mov eax, dword [ebp - 0xfc]
movsd xmm1, qword [eax + 8]
comisd xmm0, xmm1
xorps xmm0, xmm0
ja 0x6ab9ef
comisd xmm1, xmm0
jbe 0x6aba77
mov dword [ebp - 0xd0], 1
comisd xmm0, xmmword [eax + 8]
jbe 0x6aba1e
cmp dword [ebp - 0xcc], 0x30
jl 0x6aba55
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xd0]
mov ecx, dword [ecx]
call fcn.0069bad0
jmp 0x6aba3a
cmp dword [ebp - 0xcc], 0x2f
jg 0x6aba55
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xd0]
mov ecx, dword [ecx]
call fcn.0069bb00
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aeca6
cmp dword [ebp - 0xd0], 0
je 0x6aa5aa
mov edx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe4]
mov ebx, dword [edx + edi*4 + 8]
dec ebx
mov dword [ebp - 0xd4], ebx
mov ebx, dword [ebp - 0xec]
jmp case.default.0x6a8858
mov eax, dword [ebp - 0xcc]
cmp eax, 0x2e
je 0x6abab1
cmp eax, 0x30
je 0x6abab1
mov edx, esi
mov ecx, ebx
call fcn.0073cf1f
mov eax, dword [ebp - 0xfc]
comisd xmm0, xmmword [eax + 8]
jbe 0x6abaeb
add ebx, 0xffffffff
mov dword [ebp - 0xa0], ebx
adc esi, 0xffffffff
mov dword [ebp - 0x9c], esi
jmp 0x6abaeb
mov edx, esi
mov ecx, ebx
call fcn.0073cf1f
mov eax, dword [ebp - 0xfc]
movsd xmm1, qword [eax + 8]
comisd xmm1, xmm0
jbe 0x6abaeb
add ebx, 1
mov dword [ebp - 0xa0], ebx
adc esi, 0
mov dword [ebp - 0x9c], esi
jmp 0x6abaeb
mov esi, dword [ebp - 0x9c]
mov ebx, dword [ebp - 0xa0]
mov ecx, dword [ebp - 0xc8]
lea eax, [ebp - 0xd0]
push eax
push 0
push esi
mov ecx, dword [ecx]
xor edx, edx
push ebx
call fcn.0069bb50
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aeca6
mov esi, dword [ebp - 0xe4]
cmp dword [ebp - 0xd0], eax
jne 0x6abbe7
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 1
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xa0]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0x9c]
mov dword [eax + 0x44], ecx
jmp 0x6abbe7
mov eax, dword [edx + edi*4 + 0x10]
mov dword [ebp - 0xa8], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc0], eax
mov ax, word [ebp - 0xa8]
mov word [ebp - 0xbc], ax
mov al, byte [ebp - 0xcc]
and al, 1
mov byte [ebp - 0xba], al
mov eax, dword [edx + edi*4 + 0xc]
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov edx, 0x4000
mov dword [ebp - 0xb0], eax
test word [eax + 0x1c], dx
je 0x6abbb2
mov ecx, eax
call fcn.006a19a0
mov ecx, dword [ebp - 0xc8]
mov ecx, dword [ecx]
lea eax, [ebp - 0xd0]
push eax
push 0
push 0
push 0
lea edx, [ebp - 0xc0]
call fcn.0069bb50
add esp, 0x10
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aecac
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
cmp eax, 0x30
jl 0x6abc5e
test ecx, ecx
js 0x6abc48
jne 0x6abc1a
cmp eax, 0x31
je 0x6abc48
mov dword [ebp - 0xd0], 0
mov ebx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
inc ebx
mov dword [ebp - 0xd4], ebx
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc8]
push dword [eax]
call fcn.0069bf00
jmp 0x6abc96
test ecx, ecx
jg 0x6abc82
jne 0x6abc69
cmp eax, 0x2e
je 0x6abc82
mov eax, dword [ebp - 0xc8]
xor ecx, ecx
mov eax, dword [eax]
cmp byte [eax + 0x5b], 1
setne cl
mov dword [ebp - 0xd0], ecx
jmp 0x6abcb1
lea eax, [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc8]
push dword [eax]
call fcn.0069c0a0
add esp, 8
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aecac
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x19], 0
cmp dword [ebp - 0xd0], 0
je 0x6abc24
mov edx, dword [ebp - 0xd8]
mov ebx, dword [edx + edi*4 + 8]
dec ebx
inc ebx
mov dword [ebp - 0xd4], ebx
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
cmp dword [eax], 0
je 0x6abd41
mov ecx, dword [ebp - 0xe8]
mov byte [eax + 0x1c], 0
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.006a1c50
mov ecx, dword [ebp - 0xd0]
mov dword [ecx + 0x38], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x3c], edx
mov eax, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd8]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 1
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b7
mov esi, dword [ebp - 0xd8]
xor edx, edx
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xd0], edx
mov ecx, dword [esi + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xcc], ecx
mov eax, dword [esi + edi*4 + 0xc]
mov esi, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
cmp dword [ecx], edx
je 0x6abe9c
mov edx, dword [ebp - 0xd8]
cmp dword [edx + edi*4 + 0x10], 0
jle 0x6abdc6
mov eax, dword [ecx + 8]
mov dword [ebp - 0xb8], eax
mov ax, word [edx + edi*4 + 0x10]
lea edx, [ebp - 0xb8]
mov word [ebp - 0xb4], ax
mov dword [ebp - 0xa8], esi
mov byte [ebp - 0xb2], 2
mov dword [ebp - 0xc0], edx
jmp 0x6abe1f
mov ecx, dword [ecx + 8]
lea eax, [ebp - 0xc4]
push eax
push 0x97
lea edx, [ebp - 0xa0]
call fcn.006a5ad0
add esp, 8
mov dword [ebp - 0xc0], eax
test eax, eax
je 0x6aef55
mov ecx, dword [ebp - 0xcc]
mov edx, dword [esi + 0x18]
push eax
push dword [esi + 4]
mov ecx, dword [ecx + 8]
call fcn.006a5b30
mov eax, dword [ebp - 0xc0]
add esp, 8
or byte [eax + 6], 2
mov edx, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xcc]
mov ecx, dword [ecx]
lea eax, [ebp - 0xc8]
push eax
push 0
push 0
push 0
call fcn.0069bb50
mov edx, dword [ebp - 0xd8]
add esp, 0x10
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xdc], eax
cmp dword [edx + edi*4 + 0x10], 0
jne 0x6abe68
mov edx, dword [ebp - 0xc4]
mov ecx, esi
call fcn.00687650
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xdc]
test eax, eax
jne case.default.0x6a8858
cmp dword [ebp - 0xc8], eax
sete al
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], 0
mov edx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
cmp byte [eax + edi*4], 0x34
jne 0x6abeef
test edx, edx
je 0x6abecb
mov edx, eax
mov esi, dword [edx + edi*4 + 8]
dec esi
inc esi
mov dword [ebp - 0xd4], esi
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
mov esi, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
inc esi
mov dword [ebp - 0xd4], esi
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
test edx, edx
jne 0x6abecb
mov edx, dword [ebp - 0xd8]
mov esi, dword [edx + edi*4 + 8]
dec esi
inc esi
mov dword [ebp - 0xd4], esi
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
mov eax, dword [edx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 0x10]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc0], eax
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov dword [eax + 0x4c], 0
mov eax, dword [ebp - 0xcc]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xcc]
mov esi, dword [ebp - 0xc0]
mov ecx, dword [eax]
mov dword [ebp - 0xc8], ecx
mov eax, dword [eax + 8]
mov dword [ebp - 0xf4], ecx
xor ecx, ecx
mov dx, word [eax + 6]
xor eax, eax
mov word [ebp - 0xc4], dx
mov word [ebp - 0xd0], cx
cmp ax, dx
jae 0x6abfbf
jmp 0x6abfa0
movzx eax, cx
lea eax, [eax + eax*4]
test byte [esi + eax*8 + 0x1c], 1
jne 0x6ac083
inc cx
mov word [ebp - 0xd0], cx
cmp cx, dx
jb 0x6abfa0
cmp dword [ebp - 0xf4], 0
je 0x6aa5aa
mov eax, dword [ebp - 0xcc]
mov ecx, ebx
mov eax, dword [eax + 8]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xc4]
inc eax
mov byte [ebp - 0xb2], 4
mov word [ebp - 0xb4], ax
mov dword [ebp - 0xa8], esi
call fcn.006a1e00
mov eax, dword [ebx + 0x10]
lea edx, [ebp - 0xb8]
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebx + 0x14]
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0xcc]
add eax, 0x4c
push eax
push 0
push 0
push 0
call fcn.0069bb50
add esp, 0x10
mov dword [ebp - 0xdc], eax
test byte [ebp - 0xb2], 4
jne 0x6aba55
mov ecx, dword [ebp - 0xb0]
cmp ecx, dword [ebp - 0xa0]
jne 0x6ac066
mov eax, dword [ebp - 0xac]
cmp eax, dword [ebp - 0x9c]
je 0x6aba55
mov esi, dword [ebp - 0xe4]
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 0xac]
mov dword [ebx + 0x14], eax
mov ebx, dword [ebp - 0xec]
jmp 0x6aa8e3
mov edx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe4]
mov ebx, dword [edx + edi*4 + 8]
dec ebx
mov dword [ebp - 0xc8], 0
mov dword [ebp - 0xd4], ebx
mov ebx, dword [ebp - 0xec]
jmp case.default.0x6a8858
mov eax, dword [edx + edi*4 + 0xc]
mov ecx, dword [edx + edi*4 + 4]
lea ebx, [eax + eax*4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
mov esi, dword [eax]
mov dword [ebp - 0xcc], esi
test esi, esi
je 0x6ac1a6
mov eax, dword [ebp - 0xe8]
lea edx, [ebp - 0xc8]
push edx
mov dword [ebp - 0xc8], 0
xor edx, edx
push 0
mov ecx, dword [eax + ebx*8 + 0x10]
mov dword [ebp - 0xc0], ecx
mov eax, dword [eax + ebx*8 + 0x14]
push eax
push ecx
mov ecx, esi
mov dword [ebp - 0xbc], eax
call fcn.0069bb50
mov edx, dword [ebp - 0xe8]
add esp, 0x10
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*8 + 0x10]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xd0]
mov ecx, dword [edx + ebx*8 + 0x14]
mov edx, dword [ebp - 0xd8]
mov dword [eax + 0x44], ecx
cmp dword [ebp - 0xc8], 0
mov eax, dword [ebp - 0xd0]
sete cl
mov byte [eax + 0x19], cl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1c], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 0
mov ecx, dword [ebp - 0xc8]
test ecx, ecx
je 0x6ac18c
mov eax, dword [edx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe4]
mov dword [eax + 0x4c], ecx
jmp case.default.0x6a8858
mov ebx, dword [edx + edi*4 + 8]
mov esi, dword [ebp - 0xe4]
dec ebx
mov dword [ebp - 0xd4], ebx
mov ebx, dword [ebp - 0xec]
mov dword [eax + 0x4c], 0
jmp case.default.0x6a8858
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov eax, dword [ecx + 0x30]
mov dword [ebx + 0x10], eax
mov eax, dword [ecx + 0x34]
mov dword [ebx + 0x14], eax
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
add dword [eax + 0x30], 1
adc dword [eax + 0x34], 0
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b7
mov eax, dword [ebp - 0xe0]
xorps xmm0, xmm0
movlpd qword [ebp - 0xd0], xmm0
mov dword [ebp - 0xc4], 0
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + ecx*4]
mov dword [ebp - 0xc8], esi
mov edx, dword [esi]
test edx, edx
je 0x6ac543
cmp byte [esi + 0x1b], 0
jne 0x6ac421
mov ecx, dword [edx + 0x20]
mov eax, ecx
mov dword [ebp - 0xd0], ecx
mov edx, dword [edx + 0x24]
or eax, edx
mov dword [ebp - 0xcc], edx
jne 0x6ac2f2
mov ecx, dword [esi]
lea edx, [ebp - 0xc4]
call fcn.0069bb00
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aeca6
cmp dword [ebp - 0xc4], eax
je 0x6ac28e
lea ecx, [eax + 1]
xor edx, edx
jmp 0x6ac2e0
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xd0]
mov ecx, dword [ecx]
call fcn.0069b100
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
mov dword [ebp - 0xdc], eax
cmp edx, 0x7fffffff
jl 0x6ac2da
jg 0x6ac2c2
cmp ecx, 0xffffffff
jb 0x6ac2da
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1b], 1
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
jmp 0x6ac2ec
add ecx, 1
adc edx, 0
mov dword [ebp - 0xcc], edx
mov dword [ebp - 0xd0], ecx
mov esi, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 + 0xc]
test eax, eax
je 0x6ac3d7
mov ecx, dword [ebp - 0xe0]
mov edx, dword [ecx + 0xa8]
test edx, edx
je 0x6ac345
mov dword [ebp - 0xb8], edx
mov eax, dword [edx + 4]
test eax, eax
je 0x6ac330
mov edx, eax
mov dword [ebp - 0xb8], edx
mov eax, dword [edx + 4]
test eax, eax
jne 0x6ac321
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*8]
jmp 0x6ac351
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xbc], ecx
call fcn.006a1e00
mov esi, dword [ebp - 0xbc]
mov edx, dword [esi + 0x10]
mov ecx, dword [esi + 0x14]
cmp edx, 0xffffffff
jne 0x6ac379
cmp ecx, 0x7fffffff
je 0x6aec9b
mov eax, dword [ebp - 0xc8]
cmp byte [eax + 0x1b], 0
jne 0x6aec9b
add edx, 1
adc ecx, 0
cmp dword [ebp - 0xcc], ecx
jg 0x6ac3b3
jl 0x6ac3a3
mov eax, dword [ebp - 0xd0]
cmp eax, edx
jae 0x6ac3b9
mov eax, edx
mov dword [ebp - 0xcc], ecx
mov dword [ebp - 0xd0], eax
jmp 0x6ac3b9
mov eax, dword [ebp - 0xd0]
mov dword [esi + 0x10], eax
mov eax, dword [ebp - 0xcc]
mov dword [esi + 0x14], eax
mov esi, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
cmp edx, 0x7fffffff
jg 0x6ac3ee
jl 0x6ac3e6
cmp ecx, 0xffffffff
jae 0x6ac3ee
add ecx, 1
adc edx, 0
jmp 0x6ac405
xorps xmm0, xmm0
movlpd qword [ebp - 0xf8], xmm0
mov edx, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xf8]
push edx
push ecx
mov ecx, dword [esi]
call fcn.0069af70
mov esi, dword [ebp - 0xc8]
add esp, 8
cmp byte [esi + 0x1b], 0
je 0x6ac528
mov eax, dword [ebp - 0x108]
lea edx, [ebp - 0xc4]
mov ecx, dword [ebp - 0x104]
and eax, 0x3fffffff
add ecx, 1
mov dword [ebp - 0xc0], 0
push edx
adc eax, 0
mov dword [ebp - 0xd0], ecx
push 0
push eax
mov dword [ebp - 0xcc], eax
xor edx, edx
push ecx
mov ecx, dword [esi]
call fcn.0069bb50
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xdc], edx
test edx, edx
jne 0x6ac522
jmp 0x6ac480
mov ecx, dword [ebp - 0xc4]
test ecx, ecx
jne 0x6ac516
mov eax, dword [ebp - 0xc0]
inc eax
mov dword [ebp - 0xc0], eax
cmp eax, 0x64
jge 0x6ac516
lea eax, [ebp - 0xd0]
push eax
push 8
call fcn.00689070
mov eax, dword [ebp - 0xd0]
add esp, 8
cmp dword [ebp - 0xc0], 5
jge 0x6ac4c9
and eax, 0xffffff
xor ecx, ecx
jmp 0x6ac4d5
mov ecx, dword [ebp - 0xcc]
and ecx, 0x3fffffff
add eax, 1
lea edx, [ebp - 0xc4]
push edx
adc ecx, 0
mov dword [ebp - 0xd0], eax
push 0
push ecx
mov dword [ebp - 0xcc], ecx
xor edx, edx
mov ecx, dword [ebp - 0xc8]
push eax
mov ecx, dword [ecx]
call fcn.0069bb50
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xdc], edx
test edx, edx
je 0x6ac480
jmp 0x6ac522
test edx, edx
jne 0x6ac522
test ecx, ecx
je 0x6aec9b
mov esi, dword [ebp - 0xc8]
mov byte [esi + 0x19], 0
mov eax, dword [ebp - 0xc8]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc8]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xd0]
mov esi, dword [ebp - 0xe4]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebx + 0x14], eax
jmp 0x6aa8e3
mov eax, dword [edx + edi*4 + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xd0], esi
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ebx, dword [eax + ecx*4]
mov dword [ebp - 0xc0], ebx
cmp byte [edx + edi*4], 0x39
mov eax, dword [edx + edi*4 + 0xc]
jne 0x6ac5b6
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xcc], eax
mov ecx, dword [eax + 0x10]
mov dword [ebp - 0xc8], ecx
mov edx, dword [eax + 0x14]
jmp 0x6ac5bf
cdq
mov ecx, eax
mov dword [ebp - 0xc8], ecx
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], edx
test byte [eax + edi*4 + 3], 1
je 0x6ac5e1
mov eax, dword [ebp - 0xe0]
inc dword [eax + 0x68]
mov eax, dword [ebp - 0xd8]
test byte [eax + edi*4 + 3], 2
je 0x6ac612
mov dword [ebp - 0x108], edx
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0x104], ecx
mov dword [edx + 0x20], ecx
mov eax, dword [ebp - 0xc4]
mov dword [edx + 0x24], eax
mov ebx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xd0]
test byte [esi + 0x1c], 1
je 0x6ac638
mov dword [esi + 4], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x18], 0
mov ebx, dword [ebp - 0xc0]
mov esi, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xd8]
test byte [eax + edi*4 + 3], 0x10
je 0x6ac650
mov eax, dword [ebx + 0x4c]
mov dword [ebp - 0xb8], eax
jmp 0x6ac65a
mov dword [ebp - 0xb8], 0
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x6ac670
mov eax, dword [esi + 0x10]
mov dword [ebp - 0xbc], eax
jmp 0x6ac67a
mov dword [ebp - 0xbc], 0
mov ecx, dword [ebx]
push 0
push 0
call fcn.0069af70
push dword [ebp - 0xb8]
mov eax, dword [ebp - 0xd8]
xor edx, edx
mov ecx, dword [ebp - 0xc0]
movzx eax, byte [eax + edi*4 + 3]
mov ecx, dword [ecx]
and eax, 8
push eax
push dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd0]
push dword [eax + 0x18]
push dword [eax + 4]
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
call fcn.0069e8c0
mov esi, dword [ebp - 0xe4]
mov edx, eax
mov eax, dword [ebp - 0xc0]
add esp, 0x24
mov dword [ebp - 0xdc], edx
test edx, edx
mov edx, dword [ebp - 0xd8]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x50], 0
jne 0x6ae9af
cmp dword [esi + 0xbc], 0
je 0x6ae9af
cmp dword [edx + edi*4 + 0x10], 0
je 0x6ae9af
mov eax, dword [ebp - 0xc0]
mov ebx, 0x17
push dword [ebp - 0xc4]
push dword [ebp - 0xc8]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov edx, dword [eax + ecx*8]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xb4], edx
mov ecx, dword [eax + edi*4 + 0x10]
mov dword [ebp - 0xb0], ecx
test byte [eax + edi*4 + 3], 4
mov eax, 0x12
push ecx
cmovne eax, ebx
push edx
push eax
mov dword [ebp - 0xac], eax
push dword [esi + 0xb8]
mov eax, dword [esi + 0xbc]
call eax
add esp, 0x18
jmp 0x6aa8dd
mov eax, dword [ebp - 0xe0]
xorps xmm0, xmm0
movlpd qword [ebp - 0xd0], xmm0
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xc8], ecx
cmp dword [esi + 0xbc], 0
je 0x6ac7c6
cmp dword [edx + edi*4 + 0x10], 0
je 0x6ac7c6
mov eax, dword [ecx + 0x40]
mov dword [ebp - 0xd0], eax
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xcc], eax
call fcn.006a55f0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aecac
mov ecx, dword [ebp - 0xc8]
push eax
push eax
mov ecx, dword [ecx]
call fcn.0069af70
mov ecx, dword [ebp - 0xc8]
add esp, 8
mov ecx, dword [ecx]
call fcn.0069ead0
mov edx, eax
mov eax, dword [ebp - 0xc8]
mov dword [ebp - 0xdc], edx
mov dword [eax + 0x50], 0
test edx, edx
jne 0x6ac854
mov edx, dword [esi + 0xbc]
test edx, edx
je 0x6ac854
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 + 0x10]
test eax, eax
je 0x6ac854
push dword [ebp - 0xcc]
push dword [ebp - 0xd0]
push eax
mov eax, dword [ebp - 0xc8]
mov ecx, dword [eax + 0xc]
mov eax, dword [esi + 0x10]
add ecx, ecx
push dword [eax + ecx*8]
push 9
push dword [esi + 0xb8]
call edx
add esp, 0x18
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
test byte [edx + edi*4 + 8], 1
je 0x6aa8ef
mov eax, dword [ebp - 0xe0]
inc dword [eax + 0x68]
jmp 0x6aa8ef
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x68]
add dword [esi + 0x4c], eax
mov dword [esi + 0x48], eax
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x68], 0
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b7
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edx + edi*4 + 0xc]
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
lea eax, [ebp - 0xcc]
push eax
call fcn.006b0ea0
mov edx, dword [ebp - 0xd8]
add esp, 4
cmp dword [ebp - 0xcc], 0
mov ecx, eax
mov dword [ebp - 0xdc], eax
je 0x6aa8ef
mov eax, dword [edx + edi*4 + 8]
dec eax
jmp 0x6aa8f5
mov eax, dword [edx + edi*4 + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov edx, ebx
mov dword [ebp - 0xec], ebx
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
call fcn.006b0e30
mov dword [ebp - 0xdc], eax
jmp 0x6aa8e3
mov eax, dword [edx + edi*4 + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov dword [ebp - 0xec], ebx
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xcc], eax
call fcn.006a55f0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aecac
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xcc]
cmp byte [eax + 0x1f], 0
je 0x6ac9c5
lea edx, [ebp - 0xc0]
call fcn.0069b100
mov eax, dword [esi + 0x50]
cdq
cmp dword [ebp - 0xbc], edx
jg 0x6aedb4
mov edx, dword [ebp - 0xc0]
jl 0x6ac9bd
cmp edx, eax
ja 0x6aedb4
mov dword [ebp - 0xc8], edx
jmp 0x6ac9df
lea edx, [ebp - 0xc8]
call fcn.0069b140
mov edx, dword [ebp - 0xc8]
cmp edx, dword [esi + 0x50]
ja 0x6aedb4
push 0
mov ecx, ebx
call fcn.006a1820
add esp, 4
test eax, eax
jne 0x6aef5b
mov eax, dword [ebp - 0xc8]
mov ecx, 0xbe10
mov dword [ebx + 0x18], eax
mov ax, word [ebx + 0x1c]
and ax, cx
or ax, 0x10
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cmp byte [eax + 0x1f], 0
je 0x6aca46
mov ecx, dword [ebp - 0xcc]
xor edx, edx
push 0
push dword [ebx + 4]
push dword [ebp - 0xc8]
call fcn.0069b340
add esp, 0xc
mov dword [ebp - 0xdc], eax
mov byte [ebx + 0x1f], 1
jmp 0x6aa8e3
push dword [ebx + 4]
push dword [ebp - 0xc8]
push 0
push dword [ebp - 0xcc]
call fcn.0069b6b0
add esp, 0x10
mov dword [ebp - 0xdc], eax
mov byte [ebx + 0x1f], 1
jmp 0x6aa8e3
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
cmp byte [ecx + 0x1c], 0
je 0x6aca9f
mov eax, 1
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b7
cmp byte [ecx + 0x1d], 0
je 0x6acace
mov eax, dword [ecx + 0x38]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x3c]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebx + 0x14], eax
jmp case.default.0x6a8858
mov eax, dword [ecx + 0x24]
test eax, eax
je 0x6acb2b
mov eax, dword [eax]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xc0], eax
push edx
mov eax, dword [eax]
mov dword [ebp - 0xbc], eax
push dword [ecx + 0x24]
mov eax, dword [eax + 0x30]
call eax
mov edx, dword [ebp - 0xc0]
add esp, 8
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
call fcn.006a8660
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xd8]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebx + 0x14], eax
jmp case.default.0x6a8858
call fcn.006a55f0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aecac
mov ecx, dword [ebp - 0xd0]
cmp byte [ecx + 0x19], al
je 0x6acb78
mov eax, dword [ecx + 0x40]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 0x44]
mov dword [ebp - 0xc4], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebx + 0x14], eax
jmp case.default.0x6a8858
mov ecx, dword [ecx]
lea edx, [ebp - 0xc8]
call fcn.0069b100
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebx + 0x14], eax
jmp case.default.0x6a8858
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
mov byte [eax + 0x1c], 1
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov ecx, dword [eax]
test ecx, ecx
je 0x6a8c1e
call fcn.00697b40
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b1
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [ecx]
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc8], 0
test eax, eax
je 0x6acc38
lea edx, [ebp - 0xc8]
mov ecx, eax
call fcn.0069bb00
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
mov al, byte [ebp - 0xc8]
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
mov eax, dword [edx + edi*4 + 8]
test eax, eax
jle case.default.0x6a8858
cmp dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xdc]
je 0x6aa8ef
dec eax
jmp 0x6aa8f5
mov eax, dword [ebp - 0xe0]
inc dword [eax + 0x7c]
jmp 0x6acc98
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov dword [ebp - 0xc8], 1
cmp dword [ecx + 0x48], 0
je 0x6accd3
lea eax, [ebp - 0xc8]
mov edx, ecx
push eax
mov ecx, esi
call fcn.006b0aa0
add esp, 4
mov dword [ebp - 0xdc], eax
jmp 0x6acd20
mov ecx, dword [ecx]
lea edx, [ebp - 0xc8]
mov dword [ebp - 0xcc], ecx
call fcn.0069bad0
cmp dword [ebp - 0xc8], 0
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xd0]
sete cl
mov byte [eax + 0x1a], cl
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x1d], 0
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
mov eax, dword [ebp - 0xd0]
mov cl, byte [ebp - 0xc8]
mov edx, dword [ebp - 0xd8]
mov byte [eax + 0x1c], cl
cmp dword [ebp - 0xc8], 0
mov ecx, dword [ebp - 0xdc]
je 0x6aa8ef
mov eax, dword [edx + edi*4 + 8]
dec eax
jmp 0x6aa8f5
cmp dword [esi + 0xe0], 0
jne 0x6aef0a
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
test eax, eax
je case.default.0x6a8858
cmp dword [eax + 0x48], 0
lea ecx, [ebp - 0xcc]
push ecx
je 0x6acd98
mov edx, eax
mov ecx, esi
call fcn.006b0d80
add esp, 4
jmp 0x6acdad
mov dword [ebp - 0xcc], 1
push dword [eax]
mov eax, dword [edx + edi*4 + 0x10]
call eax
add esp, 8
mov ecx, dword [ebp - 0xd0]
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
mov al, byte [ebp - 0xcc]
mov byte [ecx + 0x1c], al
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
cmp dword [ebp - 0xcc], 0
jne 0x6acdfe
mov eax, dword [edx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov al, byte [edx + edi*4 + 3]
test al, al
je 0x6acdfe
mov ecx, dword [ebp - 0xe0]
movzx eax, al
inc dword [ecx + eax*4 + 0x74]
mov eax, dword [ebp - 0xd0]
mov byte [eax + 0x19], 0
jmp case.default.0x6a8858
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov ebx, dword [ebp - 0xe8]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edx + edi*4 + 8]
lea eax, [eax + eax*4]
lea esi, [ebx + eax*8]
mov ebx, dword [ecx]
mov dword [ebp - 0xcc], ebx
test ebx, ebx
je 0x6ab65c
mov eax, 0x4000
test word [esi + 0x1c], ax
je 0x6ace6f
mov ecx, esi
call fcn.006a19a0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aa5aa
mov ebx, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xd0]
cmp dword [ecx + 0x48], 0
je 0x6ace93
push esi
mov esi, dword [ebp - 0xe4]
mov edx, ecx
mov ecx, esi
call fcn.006b0940
add esp, 4
mov dword [ebp - 0xdc], eax
jmp 0x6aa8dd
mov edx, dword [esi + 0x18]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc8], edx
mov esi, dword [esi + 4]
mov dword [ebp - 0xc4], esi
test byte [eax + edi*4 + 3], 0x10
je 0x6aceb7
mov eax, dword [ecx + 0x4c]
jmp 0x6aceb9
xor eax, eax
push eax
mov eax, dword [ebp - 0xd8]
mov ecx, ebx
push dword [eax + edi*4 + 0xc]
mov eax, edx
push 0
push 0
cdq
push 0x7f220f
push edx
push eax
mov edx, esi
call fcn.0069e8c0
mov ebx, dword [ebp - 0xec]
add esp, 0x1c
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
jmp 0x6aa8e3
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xd0], eax
mov ecx, dword [eax]
mov dword [ebp - 0xcc], ecx
test ecx, ecx
je case.default.0x6a8858
mov eax, dword [eax + 8]
mov dword [ebp - 0xc0], eax
mov ax, word [edx + edi*4 + 0xc]
mov word [ebp - 0xbc], ax
mov byte [ebp - 0xba], 0
mov eax, dword [edx + edi*4 + 8]
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xb0], eax
lea edx, [ebp - 0xc0]
lea eax, [ebp - 0xc8]
push eax
push 0
push 0
push 0
call fcn.0069bb50
mov edx, eax
add esp, 0x10
mov dword [ebp - 0xdc], edx
test edx, edx
jne 0x6acf9a
cmp dword [ebp - 0xc8], eax
jne 0x6acf9a
mov ecx, dword [ebp - 0xcc]
call fcn.0069ead0
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x50], 0
jmp 0x6aa8e3
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov eax, 1
mov word [ebx + 0x1c], ax
cmp dword [ebp - 0xd0], 0
je 0x6a8c1e
mov ecx, dword [ebp - 0xcc]
call fcn.006a55f0
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aecac
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x1c], 0
jne 0x6a8c18
mov edx, dword [ebp - 0xd0]
lea eax, [ebp - 0xc8]
push eax
call fcn.006a5db0
add esp, 4
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aecac
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xd8]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xc4]
mov dword [ebx + 0x14], eax
mov eax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b7
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov ecx, dword [eax + ecx*4]
mov dword [ebp - 0xd0], ecx
cmp dword [ecx], 0
je case.default.0x6a8858
mov eax, dword [ecx + 8]
mov dword [ebp - 0xc8], eax
mov ax, word [edx + edi*4 + 0x10]
mov word [ebp - 0xc4], ax
cmp byte [edx + edi*4 + 3], 0
setne al
add al, 2
mov byte [ebp - 0xc2], al
mov eax, dword [edx + edi*4 + 0xc]
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea eax, [edx + eax*8]
mov dword [ebp - 0xb8], eax
lea edx, [ebp - 0xc8]
lea eax, [ebp - 0xcc]
push eax
call fcn.006a5f40
mov edx, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp - 0xcc]
cmp byte [edx + edi*4], 0x64
jne 0x6ad0e4
neg eax
jmp 0x6ad0e5
inc eax
mov ecx, dword [ebp - 0xdc]
mov dword [ebp - 0xcc], eax
test eax, eax
jle 0x6aa8ef
mov eax, dword [edx + edi*4 + 8]
dec eax
jmp 0x6aa8f5
xor edx, edx
mov dword [ebp - 0xcc], edx
mov ecx, dword [esi + 4]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
je 0x6ad14c
jmp 0x6ad120
cmp dword [ecx + 0x34], 0xbdf20da3
jne 0x6ad13f
mov eax, dword [ecx + 0x64]
and al, 0xc
cmp al, 8
jae 0x6ad13f
cmp dword [ecx + 0x58], 0
jl 0x6ad13f
inc edx
mov dword [ebp - 0xcc], edx
mov ecx, dword [ecx + 0x40]
mov dword [ebp - 0xc8], ecx
test ecx, ecx
jne 0x6ad120
mov eax, 1
mov word [ebx + 0x1c], ax
cmp dword [ebp - 0xcc], eax
jg 0x6aed0e
mov edx, dword [ebp - 0xd8]
lea ecx, [ebp - 0xd0]
push ecx
mov eax, dword [edx + edi*4 + 0xc]
mov dword [ebp - 0xc4], eax
add eax, eax
mov ecx, dword [esi + 0x10]
mov edx, dword [edx + edi*4 + 4]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0069f430
mov dword [ebp - 0xdc], eax
add esp, 4
cmp dword [ebp - 0xdc], 0
mov eax, 4
mov word [ebx + 0x1c], ax
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jne 0x6aa8e3
mov eax, dword [ebp - 0xd0]
test eax, eax
je 0x6aa8e3
mov ecx, dword [ebp - 0xd8]
mov edx, dword [ebp - 0xc4]
push dword [ecx + edi*4 + 4]
mov ecx, esi
push eax
call fcn.006bdf30
mov al, byte [ebp - 0xc4]
add esp, 8
inc al
mov byte [ebp - 0xfd], al
jmp 0x6aa8e3
mov dword [ebp - 0xd0], 0
lea eax, [ebp - 0xd0]
xor ecx, ecx
cmp dword [edx + edi*4 + 0xc], ecx
cmove eax, ecx
mov ecx, dword [esi + 0x10]
push eax
mov eax, dword [edx + edi*4 + 8]
mov edx, dword [edx + edi*4 + 4]
add eax, eax
mov ecx, dword [ecx + eax*8 + 4]
call fcn.0069f170
mov edx, dword [ebp - 0xd8]
add esp, 4
mov dword [ebp - 0xdc], eax
cmp dword [edx + edi*4 + 0xc], 0
je case.default.0x6a8858
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ebp - 0xd0]
add dword [ecx + 0x68], eax
mov ecx, dword [edx + edi*4 + 0xc]
test ecx, ecx
jle case.default.0x6a8858
mov edi, dword [ebp - 0xe8]
lea ecx, [ecx + ecx*4]
cdq
add dword [edi + ecx*8 + 0x10], eax
adc dword [edi + ecx*8 + 0x14], edx
jmp 0x6aa8e3
mov dword [ebp - 0xd0], 0
xor eax, eax
mov ecx, dword [edx + edi*4 + 4]
shl ecx, 4
add ecx, dword [esi + 0x10]
mov dword [ebp - 0xc8], ecx
cmp byte [edx + edi*4], 0x69
lea edx, [ebp - 0xd0]
setne al
inc eax
mov dword [ebp - 0xcc], eax
mov ecx, dword [ecx + 4]
push eax
call fcn.0069ef90
mov dword [ebp - 0xdc], eax
add esp, 4
mov eax, dword [ebp - 0xd0]
cdq
mov dword [ebx + 0x10], eax
mov dword [ebx + 0x14], edx
jmp 0x6aa8e3
mov edx, dword [edx + edi*4 + 4]
mov eax, 0x8d1e14
cmp edx, 1
mov dword [ebp - 0xd0], edx
mov ecx, 0x8d1e24
mov dword [ebp - 0xc4], esi
cmovne ecx, eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xcc], ecx
add edx, edx
mov eax, dword [eax + edi*4 + 4]
mov dword [ebp - 0xbc], eax
mov eax, dword [ebp - 0xe0]
add eax, 0x38
mov dword [ebp - 0xc0], eax
mov eax, dword [ebp - 0xd8]
push dword [eax + edi*4 + 0x10]
mov eax, dword [esi + 0x10]
push ecx
push dword [eax + edx*8]
push 0x8d1eb8
push esi
call fcn.00688c90
add esp, 0x14
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x6ad33e
mov dword [ebp - 0xdc], 7
jmp 0x6ad399
push 0
lea eax, [ebp - 0xc4]
mov byte [esi + 0x81], 1
push eax
push fcn.006cee10
push dword [ebp - 0xc8]
mov dword [ebp - 0xb8], 0
push esi
call fcn.006cb7c0
mov edx, dword [ebp - 0xc8]
add esp, 0x14
test eax, eax
mov ecx, esi
cmove eax, dword [ebp - 0xb8]
mov dword [ebp - 0xdc], eax
call fcn.00687650
mov eax, dword [ebp - 0xdc]
mov byte [esi + 0x81], 0
test eax, eax
je 0x6ad3a6
mov ecx, esi
call fcn.006bc2d0
mov eax, dword [ebp - 0xdc]
cmp eax, 7
je 0x6aef5b
jmp 0x6aa8e3
mov edx, dword [edx + edi*4 + 4]
mov ecx, esi
call fcn.006ba920
mov dword [ebp - 0xdc], eax
jmp 0x6aa8e3
push dword [edx + edi*4 + 0x10]
mov edx, dword [edx + edi*4 + 4]
mov ecx, esi
call fcn.006bc560
mov eax, dword [ebp - 0xd4]
add esp, 4
mov edx, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd4], eax
jmp 0x6a87c0
push dword [edx + edi*4 + 0x10]
mov edx, dword [edx + edi*4 + 4]
mov ecx, esi
call fcn.006bc040
mov eax, dword [ebp - 0xd4]
add esp, 4
mov edx, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd4], eax
jmp 0x6a87c0
push dword [edx + edi*4 + 0x10]
mov edx, dword [edx + edi*4 + 4]
mov ecx, esi
call fcn.006d9200
mov eax, dword [ebp - 0xd4]
add esp, 4
mov edx, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd4], eax
jmp 0x6a87c0
mov edx, dword [edx + edi*4 + 8]
mov ecx, esi
mov dword [ebp - 0xd0], edx
lea edx, [edx*4 + 4]
call fcn.006878a0
mov edx, eax
mov dword [ebp - 0xcc], edx
test edx, edx
je 0x6aef5b
mov eax, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe8]
mov ecx, dword [eax + edi*4 + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [esi + ecx*8]
mov dword [ebp - 0xbc], ecx
mov ecx, dword [eax + edi*4 + 4]
lea eax, [ecx + ecx*4]
lea esi, [esi + eax*8]
xor eax, eax
mov dword [ebp - 0xc8], eax
cmp dword [ebp - 0xd0], eax
jle 0x6ad4e5
jmp 0x6ad4b0
lea eax, [eax + eax*4]
lea ecx, [esi + eax*8]
call fcn.006a1c50
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
mov dword [ecx + edx*4], eax
mov eax, dword [ebp - 0xc8]
inc eax
mov dword [ebp - 0xc8], eax
cmp eax, dword [ebp - 0xd0]
jl 0x6ad4b0
mov edx, dword [ebp - 0xcc]
mov dword [edx + eax*4], 0
lea eax, [ebp - 0xc4]
mov edx, dword [ebp - 0xcc]
push eax
mov eax, dword [ebp - 0xbc]
push dword [eax + 0x10]
mov eax, dword [ebp - 0xd8]
push dword [ebp - 0xd0]
movzx eax, byte [eax + edi*4 + 3]
mov edi, dword [ebp - 0xe4]
add eax, eax
mov ecx, dword [edi + 0x10]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.006a02e0
mov edx, dword [ebp - 0xcc]
add esp, 0xc
mov ecx, edi
mov dword [ebp - 0xc0], eax
call fcn.00687650
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xc4]
cdq
sub dword [ecx + 0x10], eax
sbb dword [ecx + 0x14], edx
mov ecx, esi
call fcn.006a1f30
cmp dword [ebp - 0xc4], 0
je 0x6ad581
mov edx, dword [ebp - 0xc0]
test edx, edx
je 0x6aef4d
push fcn.006875b0
push 1
push 0xffffffffffffffff
mov ecx, esi
call fcn.006a2240
add esp, 0xc
movzx edx, byte [ebp - 0xf0]
mov ecx, esi
call fcn.006a1800
inc dword [ebp - 0xd4]
mov esi, edi
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 8]
lea edi, [eax + eax*4]
jne 0x6ad5d7
mov ecx, esi
call fcn.006a1fe0
test byte [esi + 0x1c], 0x20
je 0x6aef55
mov eax, dword [ebp - 0xe8]
mov ecx, dword [esi + 0x10]
push dword [eax + edi*8 + 0x14]
push dword [eax + edi*8 + 0x10]
call fcn.0068f780
add esp, 8
inc dword [ebp - 0xd4]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
cmp dword [esi + 0xe0], 0
jne 0x6aef0a
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
test byte [ecx + eax*8 + 0x1c], 0x20
lea esi, [ecx + eax*8]
je 0x6ad691
mov ecx, dword [esi + 0x10]
lea edx, [ebp - 0xd0]
call fcn.0068fb90
test eax, eax
je 0x6ad691
mov eax, dword [ebp - 0xd8]
push dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xe8]
push dword [ebp - 0xd0]
mov eax, dword [eax + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
call fcn.006a1f80
mov esi, dword [ebp - 0xd4]
add esp, 8
mov edx, dword [ebp - 0xd8]
inc esi
mov dword [ebp - 0xd4], esi
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
mov ecx, esi
call fcn.006a1f30
mov edx, dword [ebp - 0xd8]
mov esi, dword [edx + edi*4 + 8]
dec esi
inc esi
mov dword [ebp - 0xd4], esi
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov eax, dword [edx + edi*4 + 0xc]
lea ebx, [eax + eax*4]
mov eax, dword [edx + edi*4 + 0x10]
mov dword [ebp - 0xd0], eax
test byte [esi + 0x1c], 0x20
jne 0x6ad6ff
mov ecx, esi
call fcn.006a1fe0
test byte [esi + 0x1c], 0x20
je 0x6aef55
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xe8]
test eax, eax
je 0x6ad75d
js 0x6ad70a
and eax, 0xf
jmp 0x6ad70f
mov eax, 0xff
push dword [ecx + ebx*8 + 0x14]
mov dl, al
push dword [ecx + ebx*8 + 0x10]
mov ecx, dword [esi + 0x10]
call fcn.0068fbf0
add esp, 8
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x6ad755
mov edx, dword [ebp - 0xd8]
mov esi, dword [ebp - 0xe4]
mov ebx, dword [edx + edi*4 + 8]
mov dword [ebp - 0xd4], ebx
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xd4]
jmp 0x6a87c0
mov eax, dword [ebp - 0xd0]
test eax, eax
js 0x6ad778
mov edi, dword [ebp - 0xe8]
mov ecx, dword [esi + 0x10]
push dword [edi + ebx*8 + 0x14]
push dword [edi + ebx*8 + 0x10]
call fcn.0068f780
add esp, 8
inc dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
mov ecx, dword [ebp - 0xd8]
mov edx, dword [edx + edi*4 + 0x10]
mov esi, dword [ebp - 0xe8]
mov dword [ebp - 0xb8], edx
mov eax, dword [ecx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea esi, [esi + eax*8]
mov dword [ebp - 0xc8], esi
cmp byte [ecx + edi*4 + 3], 0
je 0x6ad7fd
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + 0x14]
mov dword [ebp - 0xb4], ecx
mov eax, dword [eax + 0xa8]
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x6ad7fd
cmp dword [eax + 0x18], ecx
je 0x6ad5f0
mov eax, dword [eax + 4]
mov dword [ebp - 0xbc], eax
test eax, eax
jne 0x6ad7e7
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe4]
mov eax, dword [eax + 0xb0]
cmp eax, dword [ecx + 0x78]
jge 0x6aed2f
test byte [esi + 0x1c], 0x40
jne 0x6ad9a1
mov eax, dword [edx + 8]
add eax, dword [edx + 0xc]
mov esi, dword [ebp - 0xe4]
mov dword [ebp - 0xd0], eax
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*2]
mov eax, dword [edx + 0x10]
lea ecx, [ecx + 0x12]
lea edx, [eax + ecx*4]
mov ecx, esi
mov dword [ebp - 0xcc], edx
call fcn.00687870
mov dword [ebp - 0xbc], eax
test eax, eax
je 0x6aef5b
mov ecx, dword [ebp - 0xc8]
call fcn.006a1c10
mov eax, dword [ebp - 0xc8]
mov ecx, 0x40
mov edx, dword [ebp - 0xe0]
mov word [eax + 0x1c], cx
mov eax, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xbc]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xbc]
mov dword [eax], edx
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xd0]
mov dword [ecx + 0x3c], eax
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0xc]
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x40], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0xd4]
mov dword [eax + 0x2c], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edx + 8]
mov dword [eax + 0xc], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x18]
mov dword [eax + 0x34], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x44]
mov dword [eax + 0x14], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x30]
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edx + 4]
mov dword [eax + 8], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x1c]
mov dword [eax + 0x30], ecx
mov eax, dword [ebp - 0xb8]
mov ecx, dword [eax + 0x14]
mov eax, dword [ebp - 0xbc]
mov dword [eax + 0x18], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edx + 0xc0]
mov dword [eax + 0x10], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edx + 0xbc]
mov dword [eax + 0x38], ecx
mov edx, dword [ebp - 0xbc]
mov eax, dword [edx + 0x3c]
lea ecx, [edx + 0x48]
mov dword [ebp - 0xc4], ecx
lea eax, [eax + eax*4]
lea eax, [eax + 9]
lea eax, [edx + eax*8]
mov dword [ebp - 0xc0], eax
cmp ecx, eax
je 0x6ad9ac
mov ebx, 0x80
lea ebx, [ebx]
mov word [ecx + 0x1c], bx
mov eax, dword [ebp - 0xc4]
mov dword [eax], esi
mov ecx, dword [ebp - 0xc4]
add ecx, 0x28
mov dword [ebp - 0xc4], ecx
cmp ecx, dword [ebp - 0xc0]
jne 0x6ad970
mov ebx, dword [ebp - 0xec]
mov edx, dword [ebp - 0xbc]
jmp 0x6ad9ac
mov edx, dword [esi + 0x10]
mov esi, ecx
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0x104]
inc dword [eax + 0xb0]
mov eax, dword [eax + 0xa8]
mov dword [edx + 4], eax
mov eax, dword [ebp - 0xbc]
mov edx, dword [ebp - 0xe0]
mov dword [eax + 0x20], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [ebp - 0x108]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xbc]
mov ecx, dword [edx + 0x68]
mov dword [eax + 0x44], ecx
mov ecx, dword [ebp - 0xbc]
mov dword [edx + 0xa8], ecx
mov dword [edx + 0x68], 0
lea edi, [ecx + 0x20]
mov dword [edx + 8], edi
mov eax, dword [ecx + 0x3c]
mov dword [edx + 0x18], eax
movzx eax, word [ecx + 0x40]
mov dword [edx + 0x30], eax
mov eax, dword [edx + 0x18]
inc eax
mov dword [ebp - 0xe8], edi
lea eax, [eax + eax*4]
lea ecx, [edi + eax*8]
mov edi, dword [ebp - 0xe0]
mov dword [edx + 0x44], ecx
mov edx, dword [ebp - 0xb8]
mov eax, dword [edx]
mov dword [ebp - 0xd8], eax
mov dword [edi + 4], eax
mov eax, dword [edx + 4]
mov dword [edi + 0x1c], eax
mov eax, dword [edi + 0x30]
lea ecx, [ecx + eax*4]
mov eax, edi
mov dword [eax + 0xc0], ecx
mov eax, dword [edx + 0x10]
mov edx, edi
push eax
push 0
push ecx
mov dword [edx + 0xbc], eax
call fcn.007389c0
mov edx, dword [ebp - 0xd8]
or eax, 0xffffffff
add esp, 0xc
inc eax
mov dword [ebp - 0xd4], eax
jmp 0x6a87c0
mov eax, dword [ebp - 0xe0]
push 0x1000
mov edx, dword [eax + 0xa8]
mov dword [ebp - 0xd0], edx
mov eax, dword [edx + 0x2c]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 8]
mov eax, dword [eax + ecx*4 + 4]
mov ecx, dword [ebp - 0xd8]
add eax, dword [ecx + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea edx, [eax + ecx*8]
mov ecx, ebx
mov dword [ebp - 0xcc], edx
call fcn.006a20e0
mov eax, dword [ebp - 0xd4]
add esp, 4
mov edx, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd4], eax
jmp 0x6a87c0
mov eax, dword [edx + edi*4 + 8]
cmp dword [edx + edi*4 + 4], 0
cdq
je 0x6adb10
add dword [esi + 0x1e8], eax
mov eax, dword [ebp - 0xd4]
adc dword [esi + 0x1ec], edx
inc eax
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xd4], eax
jmp 0x6a87c0
mov ecx, dword [ebp - 0xe0]
add dword [ecx + 0x90], eax
mov eax, ecx
adc dword [eax + 0x94], edx
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
inc eax
mov dword [ebp - 0xd4], eax
jmp 0x6a87c0
cmp dword [edx + edi*4 + 4], 0
je 0x6adb60
mov eax, dword [esi + 0x1e8]
or eax, dword [esi + 0x1ec]
jne 0x6a89f3
mov eax, dword [edx + edi*4 + 8]
dec eax
inc eax
jmp 0x6a87b7
mov eax, dword [ebp - 0xe0]
mov ecx, dword [ebp - 0xe0]
mov eax, dword [eax + 0x90]
or eax, dword [ecx + 0x94]
jne 0x6a89f3
mov eax, dword [edx + edi*4 + 8]
dec eax
inc eax
jmp 0x6a87b7
mov eax, dword [ebp - 0xe0]
mov edx, dword [eax + 0xa8]
test edx, edx
je 0x6adbd4
mov dword [ebp - 0xcc], edx
mov eax, dword [edx + 4]
test eax, eax
je 0x6adbbf
jmp 0x6adbb0
mov edx, eax
mov dword [ebp - 0xcc], edx
mov eax, dword [edx + 4]
test eax, eax
jne 0x6adbb0
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 + 4]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea ecx, [eax + ecx*8]
jmp 0x6adbea
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [eax + edi*4 + 4]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xd0], ecx
call fcn.006a1e00
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ecx + edi*4 + 8]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea esi, [ecx + eax*8]
mov ecx, esi
call fcn.006a1e00
mov eax, dword [ebp - 0xd0]
mov edx, dword [esi + 0x14]
mov ecx, dword [esi + 0x10]
cmp dword [eax + 0x14], edx
jg 0x6adc30
jl 0x6adc2a
cmp dword [eax + 0x10], ecx
jae 0x6adc30
mov dword [eax + 0x10], ecx
mov dword [eax + 0x14], edx
inc dword [ebp - 0xd4]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jl 0x6a89f3
jg 0x6adc72
cmp dword [ecx + eax*8 + 0x10], 0
jbe 0x6a89f3
mov eax, dword [edx + edi*4 + 8]
dec eax
inc eax
jmp 0x6a87b7
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
cmp dword [ecx + eax*8 + 0x14], 0
jg 0x6a89f3
jl 0x6adc72
cmp dword [ecx + eax*8 + 0x10], 0
jae 0x6a89f3
mov eax, dword [edx + edi*4 + 8]
dec eax
inc eax
jmp 0x6a87b7
mov eax, dword [edx + edi*4 + 4]
mov ebx, dword [ebp - 0xe8]
lea ecx, [eax + eax*4]
mov eax, dword [edx + edi*4 + 0xc]
cdq
add dword [ebx + ecx*8 + 0x10], eax
mov eax, ebx
adc dword [eax + ecx*8 + 0x14], edx
mov edx, ebx
mov eax, dword [eax + ecx*8 + 0x10]
mov ebx, dword [ebp - 0xec]
or eax, dword [edx + ecx*8 + 0x14]
mov edx, dword [ebp - 0xd8]
jne 0x6a89f3
mov eax, dword [edx + edi*4 + 8]
dec eax
inc eax
jmp 0x6a87b7
movzx ecx, byte [edx + edi*4 + 3]
mov dword [ebp - 0xd0], ecx
mov eax, dword [edx + edi*4 + 8]
mov edx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [edx + eax*8]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc4], edx
mov esi, dword [eax + 0xc]
xor eax, eax
mov dword [ebp - 0x80], esi
mov dword [ebp - 0xcc], eax
test ecx, ecx
jle 0x6add67
lea esp, [esp]
mov dword [esi + eax*4], edx
mov ecx, dword [ebp - 0xc4]
call fcn.006a8420
mov eax, dword [ebp - 0xcc]
mov edx, dword [ebp - 0xc4]
inc eax
add edx, 0x28
mov dword [ebp - 0xcc], eax
mov dword [ebp - 0xc4], edx
cmp eax, dword [ebp - 0xd0]
jge 0x6add67
mov esi, dword [ebp - 0x80]
jmp 0x6add30
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe8]
mov esi, dword [ebp - 0xe4]
mov eax, dword [edx + edi*4 + 0x10]
mov dword [ebp - 0xc0], eax
mov eax, dword [edx + edi*4 + 0xc]
lea eax, [eax + eax*4]
lea eax, [ecx + eax*8]
mov dword [ebp - 0xc8], eax
mov dword [ebp - 0x90], eax
inc dword [eax + 0x18]
mov eax, 1
mov ecx, dword [ebp - 0xc0]
mov word [ebp - 0x9c], ax
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x98], 0
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x84], 0
test byte [ecx + 3], 8
je 0x6ade00
mov eax, dword [edx + edi*4 - 4]
mov dword [ebp - 0x8c], eax
push dword [ebp - 0x80]
lea eax, [ebp - 0xc0]
push dword [ebp - 0xd0]
push eax
mov eax, dword [ecx + 0x10]
call eax
add esp, 0xc
cmp dword [ebp - 0x88], 0
je 0x6ade53
mov dl, 1
lea ecx, [ebp - 0xb8]
call fcn.006a2800
push eax
mov eax, dword [ebp - 0xe0]
push 0x8d0ab8
add eax, 0x38
push esi
push eax
call fcn.00687a40
mov eax, dword [ebp - 0x88]
add esp, 0x10
mov dword [ebp - 0xdc], eax
cmp dword [ebp - 0x84], 0
je 0x6ade88
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 - 0x10]
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x6ade88
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
push 0
push 1
lea ecx, [ecx + eax*8]
call fcn.006a1f80
add esp, 8
lea ecx, [ebp - 0xb8]
call fcn.006a1c10
jmp 0x6aa8e3
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xd0], ecx
mov edx, dword [edx + edi*4 + 0x10]
call fcn.006a1b00
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x6adee7
mov ecx, dword [ebp - 0xd0]
mov dl, 1
call fcn.006a2800
push eax
mov eax, dword [ebp - 0xe0]
push 0x8d0ab8
add eax, 0x38
push esi
push eax
call fcn.00687a40
add esp, 0x10
movzx edx, byte [ebp - 0xf0]
mov ecx, dword [ebp - 0xd0]
call fcn.006a1800
mov ecx, dword [ebp - 0xd0]
jmp 0x6a9710
lea eax, [ebp - 0xc4]
mov dword [ebp - 0xcc], 0
push eax
lea eax, [ebp - 0xc8]
mov dword [ebp - 0xc4], 0xffffffff
mov dword [ebp - 0xc8], 0xffffffff
mov ecx, esi
push eax
push dword [edx + edi*4 + 8]
mov edx, dword [edx + edi*4 + 4]
call fcn.006e9c70
mov edx, eax
add esp, 0xc
mov dword [ebp - 0xdc], edx
cmp edx, 5
jne 0x6adf63
mov dword [ebp - 0xdc], 0
mov dword [ebp - 0xcc], 1
mov ecx, dword [ebp - 0xd8]
xor eax, eax
mov edx, dword [ebp - 0xe8]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ecx + edi*4 + 0xc]
lea ecx, [ecx + ecx*4]
lea ecx, [edx + ecx*8]
mov dword [ebp - 0xc0], ecx
mov eax, dword [ebp + eax*4 - 0xcc]
cdq
push edx
push eax
call fcn.006a1f80
mov eax, dword [ebp - 0xd0]
add esp, 8
mov ecx, dword [ebp - 0xc0]
inc eax
add ecx, 0x28
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xc0], ecx
cmp eax, 3
jl 0x6adf87
jmp 0x6aa8e3
mov esi, dword [edx + edi*4 + 0xc]
mov eax, dword [ebp - 0xe4]
mov dword [ebp - 0xc8], esi
mov ecx, dword [edx + edi*4 + 4]
add ecx, ecx
cmp esi, 0xffffffff
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0xf4], eax
mov eax, dword [eax + 4]
mov ebx, dword [eax]
mov dword [ebp - 0xcc], ebx
movzx edx, byte [ebx + 5]
cmove esi, edx
mov dword [ebp - 0xc4], edx
mov dword [ebp - 0xc8], esi
cmp byte [ebx + 0xf], 3
jae 0x6ae025
mov eax, dword [ebx + 0x40]
cmp dword [eax], 0
je 0x6ae02d
cmp dword [ebx + 0x4c], 0
jl 0x6ae02d
jg 0x6ae025
cmp dword [ebx + 0x48], 0
jbe 0x6ae02d
mov esi, edx
mov dword [ebp - 0xc8], esi
cmp byte [ebx + 0xe], 0
mov ecx, 0x7f220f
jne 0x6ae03e
mov ecx, dword [ebx + 0x90]
mov dword [ebp - 0xc0], ecx
cmp esi, 5
jne 0x6ae06a
call fcn.006897e0
test eax, eax
je 0x6ae05d
mov ecx, ebx
call fcn.00694630
test eax, eax
jne 0x6ae06a
mov esi, edx
mov dword [ebp - 0xc8], esi
jmp 0x6ae129
cmp esi, edx
je 0x6ae129
cmp edx, 5
je 0x6ae080
cmp esi, 5
jne 0x6ae129
mov eax, dword [ebp - 0xe4]
cmp byte [eax + 0x36], 0
je 0x6aed64
cmp dword [eax + 0x84], 1
jg 0x6aed64
cmp edx, 5
jne 0x6ae0d2
mov ecx, ebx
call fcn.00694760
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6ae10f
mov edx, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xcc]
call fcn.00694500
mov esi, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
jmp 0x6ae0f7
cmp edx, 4
jne 0x6ae0f1
mov edx, 2
mov ecx, ebx
call fcn.00694500
mov esi, dword [ebp - 0xc8]
mov ecx, dword [ebp - 0xd0]
jmp 0x6ae0f7
mov ecx, dword [ebp - 0xf4]
xor edx, edx
cmp esi, 5
sete dl
inc edx
call fcn.006a0920
mov dword [ebp - 0xdc], eax
test eax, eax
je 0x6ae11d
mov esi, dword [ebp - 0xc4]
mov dword [ebp - 0xc8], esi
jmp 0x6ae123
mov esi, dword [ebp - 0xc8]
mov ebx, dword [ebp - 0xcc]
mov edx, esi
mov ecx, ebx
call fcn.00694500
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xc8], eax
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 + 8]
lea eax, [eax + eax*4]
lea ebx, [ecx + eax*8]
mov eax, 0xa02
mov word [ebx + 0x1c], ax
mov ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xec], ebx
cmp ecx, 6
jne 0x6ae16c
xor ecx, ecx
jmp 0x6ae173
mov ecx, dword [ecx*4 + 0x8c456c]
mov dword [ebx + 4], ecx
call fcn.006897e0
movzx edx, byte [ebp - 0xf0]
mov ecx, ebx
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x1f], 1
call fcn.006a1800
mov esi, dword [ebp - 0xe4]
jmp 0x6aa8e3
mov ecx, dword [ebp - 0xe0]
mov edx, esi
lea ecx, [ecx + 0x38]
call fcn.006dc2e0
mov dword [ebp - 0xdc], eax
jmp 0x6aa8e3
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov dword [ebp - 0xd0], ecx
call fcn.0069a6e0
mov edx, dword [ebp - 0xd8]
mov dword [ebp - 0xdc], eax
cmp eax, 0x65
jne case.default.0x6a8858
mov eax, dword [edx + edi*4 + 8]
dec eax
xor ecx, ecx
mov dword [ebp - 0xdc], ecx
jmp 0x6aa8f5
cmp dword [edx + edi*4 + 4], 0
jne 0x6ae20f
mov ecx, esi
call fcn.006a6020
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b7
mov eax, dword [ebp - 0xe0]
or dword [eax + 0x64], 0x20
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b7
mov al, byte [edx + edi*4 + 0xc]
mov byte [ebp - 0x11c], al
test al, al
jne 0x6ae240
test dword [esi + 0x18], 0x800
jne case.default.0x6a8858
mov eax, dword [edx + edi*4 + 4]
mov ecx, dword [esi + 0x10]
add eax, eax
push dword [ebp - 0x11c]
mov edx, dword [edx + edi*4 + 8]
mov ecx, dword [ecx + eax*8 + 4]
call fcn.006a0800
add esp, 4
mov dword [ebp - 0xdc], eax
cmp al, 6
jne 0x6aa8e3
mov eax, dword [ebp - 0xd8]
push dword [eax + edi*4 + 0x10]
mov eax, dword [ebp - 0xe0]
push 0x8d1f20
add eax, 0x38
push esi
push eax
call fcn.00687a40
add esp, 0x10
jmp 0x6aa8e3
mov edx, dword [edx + edi*4 + 0x10]
mov ecx, esi
mov dword [ebp - 0xd0], edx
call fcn.006dd750
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xdc], eax
test edx, edx
je 0x6aa8e3
mov edx, dword [edx + 8]
mov ecx, dword [ebp - 0xe0]
call fcn.006a8660
jmp 0x6aa8e3
mov eax, dword [ebp - 0xe0]
mov ecx, esi
add eax, 0x38
push eax
push dword [edx + edi*4 + 0x10]
mov edx, dword [edx + edi*4 + 4]
call fcn.006dd250
add esp, 8
mov dword [ebp - 0xdc], eax
jmp 0x6aa8e3
mov ecx, dword [ebp - 0xe0]
mov eax, dword [ecx + 0x64]
and eax, 0xfffffffb
or eax, 8
mov dword [ecx + 0x64], eax
mov ecx, esi
push dword [edx + edi*4 + 0x10]
mov edx, dword [edx + edi*4 + 4]
call fcn.006dd540
mov dword [ebp - 0xdc], eax
add esp, 4
mov eax, dword [ebp - 0xe0]
and dword [eax + 0x64], 0xfffffff3
jmp 0x6aa8e3
mov dword [ebp - 0xd0], 0
mov dword [ebp - 0xcc], 0
mov eax, dword [edx + edi*4 + 0x10]
lea edx, [ebp - 0xcc]
push edx
mov ecx, dword [eax + 8]
mov dword [ebp - 0xc8], ecx
push ecx
mov eax, dword [ecx]
mov dword [ebp - 0xc4], eax
mov eax, dword [eax + 0x18]
call eax
mov edx, dword [ebp - 0xc8]
add esp, 8
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
call fcn.006a8660
cmp dword [ebp - 0xdc], 0
jne 0x6aa8e3
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xc8]
push 0
push 0xffffffffffffffff
mov dword [eax], ecx
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe0]
push 0
mov edx, dword [eax + edi*4 + 4]
call fcn.006a8450
add esp, 0xc
mov dword [ebp - 0xd0], eax
test eax, eax
je 0x6ae3e7
mov ecx, dword [ebp - 0xcc]
mov dword [eax + 0x24], ecx
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
mov ecx, dword [eax]
mov eax, dword [ebp - 0xd0]
mov dword [eax + 0x28], ecx
mov eax, dword [ebp - 0xd4]
inc eax
jmp 0x6a87b1
mov byte [esi + 0x38], 1
mov eax, dword [ebp - 0xc4]
push dword [ebp - 0xcc]
mov eax, dword [eax + 0x1c]
call eax
add esp, 4
jmp 0x6aa8e3
mov eax, dword [edx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea edx, [ecx + eax*8]
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0xc4], edx
lea esi, [edx + 0x28]
mov dword [ebp - 0xc0], esi
mov ecx, dword [eax + edi*4 + 4]
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x44]
mov eax, dword [eax + ecx*4]
xor ecx, ecx
mov dword [ebp - 0xb4], eax
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xbc], eax
mov dword [ebp - 0xfc], eax
mov eax, dword [eax]
mov dword [ebp - 0xb8], eax
mov eax, dword [eax]
mov dword [ebp - 0xc8], eax
mov ebx, dword [esi + 0x10]
mov dword [ebp - 0xdc], eax
mov dword [ebp - 0xd0], ebx
mov eax, dword [edx + 0x10]
mov dword [ebp - 0xf4], eax
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xb0], 0
mov dword [ebp - 0xac], ecx
mov edx, dword [eax + 0xc]
mov dword [ebp - 0xa8], edx
test ebx, ebx
jle 0x6ae50c
lea eax, [ecx + 1]
lea eax, [eax + eax*4]
lea eax, [esi + eax*8]
mov dword [edx + ecx*4], eax
mov eax, dword [ebp - 0xac]
mov ecx, dword [ebp - 0xa8]
mov ecx, dword [ecx + eax*4]
call fcn.006a8420
mov ecx, dword [ebp - 0xac]
mov ebx, dword [ebp - 0xd0]
inc ecx
mov edx, dword [ebp - 0xa8]
mov dword [ebp - 0xac], ecx
cmp ecx, ebx
jge 0x6ae4e6
mov esi, dword [ebp - 0xc0]
jmp 0x6ae4a1
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xbc]
mov esi, dword [ebp - 0xc8]
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xfc], ecx
jmp 0x6ae512
mov esi, dword [ebp - 0xdc]
mov eax, dword [eax + 0x64]
mov ecx, dword [ebp - 0xe0]
and eax, 0xfffffff7
or eax, 4
push edx
push ebx
mov dword [ecx + 0x64], eax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xfc]
push dword [eax + edi*4 + 0x10]
mov eax, dword [esi + 0x20]
push dword [ebp - 0xf4]
push ecx
call eax
mov edx, dword [ebp - 0xb8]
mov ebx, eax
mov eax, dword [ebp - 0xe0]
add esp, 0x14
mov ecx, eax
mov dword [ebp - 0xdc], ebx
and dword [eax + 0x64], 0xfffffff3
call fcn.006a8660
test ebx, ebx
jne 0x6ae584
mov eax, dword [ebp - 0xc8]
push dword [ebp - 0xbc]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xb0], eax
jmp 0x6ae58a
mov eax, dword [ebp - 0xb0]
mov edx, dword [ebp - 0xd8]
test eax, eax
je 0x6ae59f
mov eax, dword [edx + edi*4 + 8]
dec eax
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xb4]
mov ebx, dword [ebp - 0xec]
mov esi, dword [ebp - 0xe4]
mov byte [eax + 0x1c], 0
jmp case.default.0x6a8858
mov eax, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov esi, dword [eax + ecx*4]
mov eax, dword [edx + edi*4 + 0xc]
mov ecx, dword [ebp - 0xe8]
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xc8], ecx
cmp byte [esi + 0x1c], 0
je 0x6ae608
call fcn.006a1f30
inc dword [ebp - 0xd4]
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
mov eax, dword [esi + 0x24]
push 0x40
push 0
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
lea eax, [ebp - 0xc0]
push eax
call fcn.007389c0
mov edx, dword [ebp - 0xc8]
lea ecx, [ebp - 0xb8]
add esp, 0xc
call fcn.006a21c0
mov eax, dword [ebp - 0x9c]
and eax, 0xbe01
or eax, 1
mov word [ebp - 0x9c], ax
mov eax, dword [ebp - 0xd8]
push dword [eax + edi*4 + 8]
lea eax, [ebp - 0xc0]
push eax
mov eax, dword [ebp - 0xcc]
push dword [esi + 0x24]
mov eax, dword [eax + 0x2c]
call eax
mov edx, dword [ebp - 0xd0]
add esp, 0xc
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
call fcn.006a8660
mov eax, dword [ebp - 0x88]
test eax, eax
mov ecx, dword [ebp - 0xdc]
movzx edx, byte [ebp - 0xf0]
cmovne ecx, eax
mov dword [ebp - 0xdc], ecx
lea ecx, [ebp - 0xb8]
call fcn.006a1800
mov ecx, dword [ebp - 0xc8]
lea edx, [ebp - 0xb8]
call fcn.006a21c0
mov ecx, dword [ebp - 0xc8]
call fcn.006a20b0
mov esi, dword [ebp - 0xe4]
jmp 0x6a9715
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xc8], 0
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [eax + 0x44]
mov edx, dword [eax + ecx*4]
mov dword [ebp - 0xc4], edx
cmp byte [edx + 0x1c], 0
jne 0x6aa8e3
mov eax, dword [edx + 0x24]
mov ebx, dword [ebp - 0xe0]
mov eax, dword [eax]
mov dword [ebp - 0xd0], eax
mov ecx, dword [eax]
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xcc], ecx
mov eax, dword [eax + 0x64]
and eax, 0xfffffff7
or eax, 4
mov dword [ebx + 0x64], eax
push dword [edx + 0x24]
mov eax, dword [ecx + 0x24]
call eax
mov edx, dword [ebp - 0xd0]
add esp, 4
mov dword [ebp - 0xdc], eax
mov eax, ebx
mov ecx, eax
and dword [eax + 0x64], 0xfffffff3
call fcn.006a8660
cmp dword [ebp - 0xdc], 0
mov ebx, dword [ebp - 0xec]
jne 0x6ae784
mov eax, dword [ebp - 0xc4]
push dword [eax + 0x24]
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 0x28]
call eax
add esp, 4
mov dword [ebp - 0xc8], eax
jmp 0x6ae78a
mov eax, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xdc]
test eax, eax
jne 0x6aa8ef
mov eax, dword [edx + edi*4 + 8]
dec eax
jmp 0x6aa8f5
mov eax, dword [edx + edi*4 + 0x10]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [eax + 8]
mov dword [ebp - 0xd0], eax
mov eax, dword [edx + edi*4 + 4]
mov edx, 1
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xcc], ecx
call fcn.006a1800
mov dword [ebp - 0xdc], eax
test eax, eax
jne 0x6aa8e3
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xcc]
mov edx, dword [ecx]
push dword [eax + 4]
push ecx
mov eax, dword [edx + 0x4c]
call eax
mov edx, dword [ebp - 0xd0]
add esp, 8
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xdc], eax
call fcn.006a8660
mov eax, dword [ebp - 0xe0]
and dword [eax + 0x64], 0xffffffdf
jmp 0x6aa8e3
mov eax, dword [edx + edi*4 + 0x10]
mov eax, dword [eax + 8]
mov dword [ebp - 0xd0], eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], eax
mov edx, dword [edx + edi*4 + 8]
mov dword [ebp - 0xc8], edx
cmp dword [eax + 0x34], 0
je 0x6aa8e3
mov eax, dword [ebp - 0xe0]
mov bl, byte [esi + 0x3c]
mov ecx, dword [ebp - 0xe8]
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xb8], eax
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + edi*4 + 0xc]
mov dword [ebp - 0xc4], 0
lea eax, [eax + eax*4]
lea ecx, [ecx + eax*8]
mov dword [ebp - 0xb4], ecx
test edx, edx
jle 0x6ae8c6
call fcn.006a8420
mov ecx, dword [ebp - 0xc4]
mov eax, dword [ebp - 0xb8]
mov edx, dword [ebp - 0xb4]
mov dword [eax + ecx*4], edx
mov eax, dword [ebp - 0xc4]
mov ecx, dword [ebp - 0xb4]
inc eax
add ecx, 0x28
mov dword [ebp - 0xc4], eax
mov dword [ebp - 0xb4], ecx
cmp eax, dword [ebp - 0xc8]
jl 0x6ae888
mov eax, dword [ebp - 0xd8]
mov al, byte [eax + edi*4 + 3]
mov byte [esi + 0x3c], al
lea eax, [ebp - 0xc0]
push eax
push dword [ebp - 0xb8]
mov eax, dword [ebp - 0xcc]
push dword [ebp - 0xc8]
push dword [ebp - 0xd0]
mov eax, dword [eax + 0x34]
call eax
mov ecx, dword [ebp - 0xe0]
add esp, 0x10
mov byte [esi + 0x3c], bl
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xdc], eax
call fcn.006a8660
mov ebx, dword [ebp - 0xdc]
mov edx, dword [ebp - 0xd8]
test ebx, ebx
jne 0x6ae94e
cmp dword [edx + edi*4 + 4], ebx
je 0x6ae94e
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xbc]
mov dword [ebp - 0x104], eax
mov dword [esi + 0x20], eax
mov eax, dword [ebp - 0xbc]
mov dword [ebp - 0x108], ecx
mov dword [esi + 0x24], eax
cmp bl, 0x13
jne 0x6ae9ba
mov eax, dword [edx + edi*4 + 0x10]
cmp byte [eax + 0x10], 0
je 0x6ae9ba
mov al, byte [edx + edi*4 + 3]
cmp al, 4
jne 0x6ae986
inc dword [ebp - 0xd4]
mov ebx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xdc], 0
jmp 0x6a87c0
cmp al, 5
jne 0x6ae9a3
mov ecx, dword [ebp - 0xe0]
mov eax, 2
mov ebx, dword [ebp - 0xec]
mov byte [ecx + 0x60], al
jmp case.default.0x6a8858
mov ecx, dword [ebp - 0xe0]
movzx eax, al
mov byte [ecx + 0x60], al
mov ebx, dword [ebp - 0xec]
jmp case.default.0x6a8858
mov eax, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xec]
inc dword [eax + 0x68]
jmp case.default.0x6a8858
mov ecx, dword [edx + edi*4 + 4]
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8 + 4]
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x2c]
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebx + 0x14], 0
inc eax
jmp 0x6a87b7
mov ecx, dword [edx + edi*4 + 4]
xor edx, edx
mov eax, dword [esi + 0x10]
add ecx, ecx
mov ecx, dword [eax + ecx*8 + 4]
mov eax, dword [ebp - 0xd8]
mov esi, dword [eax + edi*4 + 0xc]
test esi, esi
je 0x6aea1f
mov eax, dword [ecx + 4]
mov edx, dword [eax + 0x2c]
cmp edx, esi
cmovb edx, esi
call fcn.006997d0
inc dword [ebp - 0xd4]
mov esi, dword [ebp - 0xe4]
cdq
mov dword [ebx + 0x10], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebx + 0x14], edx
mov edx, dword [ebp - 0xd8]
jmp 0x6a87c0
cmp dword [esi + 0x98], 0
je case.default.0x6a8858
mov eax, dword [ebp - 0xe0]
test dword [eax + 0x64], 0x400
jne case.default.0x6a8858
mov edx, dword [edx + edi*4 + 0x10]
test edx, edx
jne 0x6aea76
mov edx, dword [eax + 0xa0]
mov dword [ebp - 0xd0], edx
test edx, edx
je 0x6aa8e3
mov ecx, eax
call fcn.006a80a0
push eax
mov dword [ebp - 0xcc], eax
push dword [esi + 0x9c]
mov eax, dword [esi + 0x98]
call eax
mov edx, dword [ebp - 0xcc]
add esp, 8
mov ecx, esi
call fcn.00687650
jmp 0x6aa8e3
mov eax, 9
mov dword [ebp - 0xdc], eax
jmp 0x6aa90a
mov ebx, dword [ebp - 0xe0]
mov ecx, dword [edx + edi*4 + 4]
mov dword [ebx + 0x5c], ecx
mov al, byte [edx + edi*4 + 8]
mov byte [ebx + 0x60], al
mov eax, dword [ebp - 0xe0]
mov ebx, dword [ebp - 0xd4]
mov dword [eax + 0x58], ebx
mov eax, dword [edx + edi*4 + 0x10]
test eax, eax
je 0x6aeb30
push eax
mov eax, dword [ebp - 0xe0]
push 0x8d0ab8
add eax, 0x38
push esi
push eax
call fcn.00687a40
mov eax, dword [ebp - 0xd8]
mov ecx, dword [ebp - 0xe0]
push dword [eax + edi*4 + 0x10]
push dword [ecx + 0xa0]
push ebx
push 0x8d1d30
push dword [eax + edi*4 + 4]
call fcn.00688f20
add esp, 0x24
jmp 0x6aeb52
test ecx, ecx
je 0x6aeb52
mov eax, dword [ebp - 0xe0]
push dword [eax + 0xa0]
push ebx
push 0x8d1d10
push dword [edx + edi*4 + 4]
call fcn.00688f20
add esp, 0x10
mov ecx, dword [ebp - 0xe0]
call fcn.006a4ec0
cmp eax, 5
mov eax, dword [ebp - 0xe0]
jne 0x6aeb75
mov edi, 5
mov dword [eax + 0x5c], edi
jmp 0x6aa990
cmp dword [eax + 0x5c], 0
mov edi, 0x65
mov eax, 1
cmovne edi, eax
jmp 0x6aa990
cmp byte [esi + 0x38], 0
jne 0x6aef5b
mov ecx, dword [ebp - 0xe0]
mov edi, 0x64
mov eax, dword [ebp - 0xd4]
inc eax
mov dword [ecx + 0x58], eax
jmp 0x6aa990
lea ecx, [ebp - 0xc0]
call fcn.006a1c10
jmp 0x6aef5b
mov eax, 0x14
mov dword [ebp - 0xdc], eax
jmp 0x6aecac
push 0x8d1cdc
mov eax, dword [ebp - 0xe0]
add eax, 0x38
push esi
push eax
call fcn.00687a40
mov ebx, dword [ebp - 0xd4]
mov eax, 5
add esp, 0xc
mov dword [ebp - 0xdc], eax
inc ebx
jmp 0x6aa910
push 0x8d1ddc
mov esi, eax
jmp 0x6aebd4
mov eax, dword [ebp - 0xd4]
mov dword [edi + 0x58], eax
mov edi, 5
mov eax, dword [ebp - 0xe0]
mov byte [esi + 0x36], 0
mov dword [eax + 0x5c], edi
jmp 0x6aa990
mov eax, dword [ebp - 0xe0]
mov esi, dword [ebp - 0xe4]
add eax, 0x38
push 0x8d1cc4
push esi
push eax
call fcn.00687a40
mov ebx, dword [ebp - 0xd4]
mov eax, 1
add esp, 0x10
mov dword [ebp - 0xdc], eax
inc ebx
jmp 0x6aa910
mov ecx, dword [ebp - 0xe0]
mov edi, 5
mov eax, dword [ebp - 0xd4]
mov dword [ecx + 0x58], eax
mov dword [ecx + 0x5c], edi
jmp 0x6aa990
mov ecx, 0x106fa
call fcn.006eb0a0
jmp 0x6aeca0
mov ebx, dword [ebp - 0xd4]
mov eax, 4
mov dword [ebp - 0xdc], eax
inc ebx
jmp 0x6aa910
mov eax, 0xd
mov dword [ebp - 0xdc], eax
mov esi, dword [ebp - 0xe4]
cmp byte [esi + 0x38], 0
je 0x6aeccb
mov eax, 7
mov edx, str.unknown_error
mov ecx, eax
mov dword [ebp - 0xdc], eax
call fcn.006e9310
jmp 0x6aecf0
cmp eax, 0xc0a
je 0x6aa90a
cmp eax, 0x204
je 0x6aeceb
mov edx, str.unknown_error
mov ecx, eax
call fcn.006e9310
jmp 0x6aecf0
mov eax, 0x8d51c0
push eax
mov eax, dword [ebp - 0xe0]
push 0x8d0ab8
add eax, 0x38
push esi
push eax
call fcn.00687a40
add esp, 0x10
jmp 0x6aa904
mov ebx, dword [ebp - 0xe0]
mov eax, 6
mov dword [ebp - 0xdc], eax
mov byte [ebx + 0x60], 2
mov ebx, dword [ebp - 0xd4]
inc ebx
jmp 0x6aa910
mov eax, dword [ebp - 0xe0]
mov esi, ecx
push 0x8d1e90
add eax, 0x38
mov dword [ebp - 0xdc], 1
push esi
push eax
call fcn.00687a40
mov ebx, dword [ebp - 0xd4]
add esp, 0xc
inc ebx
mov eax, 1
jmp 0x6aa910
cmp esi, 5
mov dword [ebp - 0xdc], 1
mov esi, dword [ebp - 0xe4]
mov ecx, 0x8d1e80
mov eax, 0x8d1e88
cmovne eax, ecx
push eax
mov eax, dword [ebp - 0xe0]
push 0x8d1f40
add eax, 0x38
push esi
push eax
call fcn.00687a40
mov ebx, dword [ebp - 0xd4]
add esp, 0x10
inc ebx
mov eax, 1
jmp 0x6aa910
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xe0]
push 0x8d1bac
add eax, 0x38
push esi
push eax
call fcn.00687a40
mov eax, 0x12
add esp, 0xc
mov dword [ebp - 0xdc], eax
jmp 0x6aa90a
mov eax, dword [ebp - 0xd8]
mov edx, dword [edx + edi*4 + 4]
mov dword [ebp - 0xd0], edx
mov ecx, dword [eax + edi*4 + 8]
mov dword [ebp - 0xcc], ecx
test edx, edx
je 0x6aee20
cmp byte [esi + 0x36], 0
jne 0x6aee20
mov dword [ebp - 0xc8], 1
test ecx, ecx
jne 0x6aee2a
cmp dword [esi + 0x88], ecx
jle 0x6aee2a
push 0x8d1da4
jmp 0x6aebd4
mov dword [ebp - 0xc8], 0
movzx eax, byte [esi + 0x36]
cmp edx, eax
jne 0x6aee77
test edx, edx
jne 0x6aee3d
mov eax, 0x8d1d74
jmp 0x6aee4c
test ecx, ecx
mov eax, 0x8d1d48
mov edx, 0x8d1e54
cmove eax, edx
push eax
mov eax, dword [ebp - 0xe0]
add eax, 0x38
push esi
push eax
call fcn.00687a40
mov ebx, dword [ebp - 0xd4]
mov eax, 1
add esp, 0xc
mov dword [ebp - 0xdc], eax
inc ebx
jmp 0x6aa910
test ecx, ecx
je 0x6aeeae
mov edx, 0x204
mov ecx, esi
call fcn.006e9220
mov byte [esi + 0x36], 1
mov ecx, esi
call fcn.006e8cf0
mov eax, dword [ebp - 0xe0]
mov edi, 1
mov ecx, 0x65
cmp dword [eax + 0x5c], 0
cmove edi, ecx
jmp 0x6aa990
mov ecx, dword [ebp - 0xe0]
mov edx, 1
call fcn.006a4e60
mov edi, eax
test edi, edi
jne 0x6aa990
mov al, byte [ebp - 0xd0]
mov edi, dword [ebp - 0xe0]
mov ecx, edi
mov byte [esi + 0x36], al
call fcn.006a4ec0
cmp eax, 5
jne 0x6aee8b
mov eax, dword [ebp - 0xd4]
mov dword [edi + 0x58], eax
mov al, 1
sub al, byte [ebp - 0xd0]
mov edi, 5
mov byte [esi + 0x36], al
mov eax, dword [ebp - 0xe0]
mov dword [eax + 0x5c], edi
jmp 0x6aa990
mov eax, dword [0x8c1b04]
mov ecx, str.unknown_error
mov ebx, dword [ebp - 0xe0]
test eax, eax
mov dword [ebp - 0xdc], 9
cmovne ecx, eax
push ecx
push 0x8d0ab8
lea eax, [ebx + 0x38]
mov dword [ebx + 0x5c], 9
push esi
push eax
call fcn.00687a40
add esp, 0x10
mov eax, 9
jmp 0x6aa90a
mov esi, edi
jmp 0x6aef5b
mov esi, eax
jmp 0x6aef5b
mov esi, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xe0]
push 0x8d1af8
add eax, 0x38
mov byte [esi + 0x38], 1
push esi
push eax
call fcn.00687a40
mov eax, 7
add esp, 0xc
mov dword [ebp - 0xdc], eax
jmp 0x6aa90a