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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x3c
mov eax, dword [0xaaeb30]
movq xmm0, qword [0xaaeb28]
push ebx
push esi
mov esi, dword [ecx]
shl esi, 4
add esi, ecx
mov dword [esp + 0x40], eax
lea eax, [edx - 5]
mov dword [esp + 0x34], edx
mov dword [esp + 0x14], ecx
mov dword [esp + 0x20], esi
movq qword [esp + 0x38], xmm0
lea ebx, [esi + 0xc]
mov dword [esp + 0x1c], ebx
push edi
mov edi, dword [ecx + 8]
cmp eax, 0x140
ja case.0xa64d85.10
movzx eax, byte [eax + 0xa677b8]
jmp dword [eax*4 + 0xa67530]
mov byte [edi + 0x1d0], 0
mov dword [edi + 0x1b0], 0
jmp case.0xa64d85.10
mov byte [edi + 0x1d0], 1
mov dword [edi + 0x1b0], 0
jmp case.0xa64d85.10
mov byte [edi + 0x1d0], 2
mov dword [edi + 0x1b0], 0
jmp case.0xa64d85.10
mov ecx, edi
call fcn.00a3fd90
jmp case.0xa64d85.10
mov ecx, dword [esi]
mov esi, dword [edi + 0xc]
mov eax, dword [edi]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x14], eax
test esi, esi
jne 0xa64e09
mov ecx, eax
call fcn.00a2b6d0
mov ecx, dword [esp + 0x1c]
mov esi, eax
mov eax, dword [esp + 0x14]
mov dword [edi + 0xc], esi
test esi, esi
je case.0xa64d85.10
cmp ecx, 7
je 0xa64e95
xor edi, edi
cmp dword [eax + 4], edi
jle 0xa64e95
mov ebx, dword [esp + 0x14]
nop dword [eax]
mov eax, dword [esi + 0xc]
mov dword [esp + 0x24], eax
cmp dword [esi + 0x10], eax
jg 0xa64e3b
mov ecx, esi
call fcn.00a2b790
test eax, eax
jne 0xa64e76
mov eax, dword [esp + 0x24]
inc dword [esi + 0xc]
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x14]
mov word [eax + ecx*4], 0x22
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], edi
lea ecx, [eax + ecx*4]
xor eax, eax
mov dword [ecx + 0xc], 0
cmp dword [esp + 0x1c], 9
mov dword [ecx + 0x10], 0
sete al
inc eax
mov dword [ecx + 8], eax
mov byte [esi + 0x6e], 0
mov eax, dword [esi + 0x78]
mov edx, 1
mov ecx, edi
shl edx, cl
test edx, eax
jne 0xa64e8b
or eax, edx
mov dword [esi + 0x78], eax
inc edi
cmp edi, dword [ebx + 4]
jl 0xa64e20
mov ebx, dword [esp + 0x20]
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jg 0xa64eac
mov ecx, esi
call fcn.00a2b790
test eax, eax
jne case.0xa64d85.10
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov dword [eax + ecx*4 + 4], 0
mov byte [eax + ecx*4 + 3], 0
mov word [eax + ecx*4], 0x21
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov byte [esi + 0x6e], 0
jmp case.0xa64d85.10
movzx eax, byte [ebx + 2]
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
mov esi, dword [edi + 0xc]
test esi, esi
jne 0xa64f11
mov ecx, dword [edi]
call fcn.00a2b6d0
mov esi, eax
mov dword [edi + 0xc], esi
test esi, esi
je case.0xa64d85.10
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jg 0xa64f28
mov ecx, esi
call fcn.00a2b790
test eax, eax
jne case.0xa64d85.10
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov dword [eax + ecx*4 + 4], 1
jmp 0xa64ebd
mov esi, dword [edi + 0xc]
test esi, esi
jne 0xa64f56
mov ecx, dword [edi]
call fcn.00a2b6d0
mov esi, eax
mov dword [edi + 0xc], esi
test esi, esi
je case.0xa64d85.10
mov edi, dword [esi + 0xc]
cmp dword [esi + 0x10], edi
jg 0xa64f6d
mov ecx, esi
call fcn.00a2b790
test eax, eax
jne case.0xa64d85.10
mov eax, dword [esi + 0x14]
lea ecx, [edi + edi*4]
inc dword [esi + 0xc]
mov word [eax + ecx*4], 0x21
mov byte [eax + ecx*4 + 3], 0
mov dword [eax + ecx*4 + 4], 1
mov dword [eax + ecx*4 + 8], 1
jmp 0xa64ed0
lea eax, [ebx + 4]
xor edx, edx
push eax
mov ecx, edi
call fcn.00a45270
add esp, 4
jmp case.0xa64d85.10
lea eax, [ebx + 4]
mov edx, 1
push eax
mov ecx, edi
call fcn.00a45270
add esp, 4
jmp case.0xa64d85.10
lea eax, [ebx + 4]
mov edx, 2
push eax
mov ecx, edi
call fcn.00a45270
add esp, 4
jmp case.0xa64d85.10
push dword [ebx - 0x1c]
lea eax, [ebx + 4]
mov edx, esi
push 0
sub esp, 8
mov ecx, edi
push eax
call fcn.00a41080
add esp, 0x14
jmp case.0xa64d85.10
mov eax, dword [edi]
mov byte [eax + 0xe2], 0
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
jmp case.0xa64d85.10
lea eax, [ebx + 4]
mov edx, esi
push 0
push eax
mov ecx, edi
call fcn.00a424a0
add esp, 8
jmp case.0xa64d85.10
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
push 0
call fcn.00a424a0
add esp, 8
mov esi, dword [ebx + 4]
mov edi, dword [edi]
test esi, esi
je case.0xa64d85.10
mov edx, esi
mov ecx, edi
call fcn.00a51a90
push esi
push edi
call fcn.00a1a970
add esp, 8
jmp case.0xa64d85.10
mov eax, dword [edi + 0x1e0]
mov ecx, dword [ebx - 0x1c]
add eax, dword [edi + 0x1dc]
sub eax, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
jmp case.0xa64d85.10
lea edx, [ebx + 4]
mov ecx, edi
call fcn.00a41820
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
jmp case.0xa64d85.10
mov eax, dword [edi + 0x1e8]
lea edx, [ebx + 4]
test eax, eax
je case.0xa64d85.10
mov ecx, dword [eax + 0xc]
cmp ecx, 1
jl case.0xa64d85.10
mov eax, dword [eax + 0x10]
lea ecx, [ecx + ecx*2]
mov edi, dword [edi]
lea eax, [eax + ecx*8]
mov dword [esp + 0x1c], eax
test edx, edx
je 0xa65193
mov eax, dword [edx]
mov dword [esp + 0x20], eax
test eax, eax
jne 0xa650ec
xor esi, esi
mov ecx, esi
call fcn.00a1ce20
mov eax, dword [esp + 0x1c]
jmp 0xa65195
mov eax, dword [edx + 4]
mov dword [esp + 0x24], eax
lea ecx, [eax + 1]
test edi, edi
je 0xa65155
cmp byte [edi + 0x1e], 0
je 0xa65112
xor esi, esi
mov ecx, esi
call fcn.00a1ce20
mov eax, dword [esp + 0x1c]
jmp 0xa65195
cmp byte [edi + 0xe2], 0
je 0xa65155
movzx eax, word [edi + 0xe0]
cmp ecx, eax
jg 0xa65155
mov esi, dword [edi + 0xec]
test esi, esi
je 0xa65155
mov eax, dword [esi]
mov dword [edi + 0xec], eax
mov eax, dword [edi + 0xe4]
inc eax
mov dword [edi + 0xe4], eax
cmp eax, dword [edi + 0xe8]
jle 0xa65170
mov dword [edi + 0xe8], eax
jmp 0xa65170
push ecx
call fcn.00a1a880
mov esi, eax
add esp, 4
test esi, esi
jne 0xa65170
test edi, edi
je 0xa6516c
mov byte [edi + 0x1e], 1
test esi, esi
je 0xa65186
mov edi, dword [esp + 0x24]
push edi
push dword [esp + 0x24]
push esi
call fcn.00a6dc90
add esp, 0xc
mov byte [esi + edi], 0
mov ecx, esi
call fcn.00a1ce20
mov eax, dword [esp + 0x1c]
jmp 0xa65195
xor esi, esi
mov ecx, esi
mov dword [eax - 0xc], esi
call fcn.00a41a40
mov ecx, dword [esp + 0x1c]
mov byte [ecx - 2], al
jmp case.0xa64d85.10
mov eax, dword [ebx + 8]
mov ecx, dword [ebx - 0x2c]
add eax, dword [ebx + 4]
sub eax, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
jmp case.0xa64d85.10
mov eax, dword [ebx + 8]
mov ecx, dword [ebx - 0x4c]
add eax, dword [ebx + 4]
sub eax, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
jmp case.0xa64d85.10
mov eax, dword [ebx + 8]
mov ecx, dword [esi]
add eax, dword [ebx + 4]
sub eax, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x40], eax
jmp case.0xa64d85.10
lea edx, [ebx + 4]
mov ecx, edi
call fcn.00a41b00
jmp case.0xa64d85.10
mov edx, esi
mov ecx, edi
call fcn.00a41b00
jmp case.0xa64d85.10
mov eax, dword [ebx + 4]
mov edx, 0x9c
mov ecx, dword [edi]
push 1
push 0
mov dword [esp + 0x24], eax
call fcn.00a37b80
mov edx, dword [esp + 0x24]
mov ecx, eax
mov eax, dword [edi]
add esp, 8
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
test ecx, ecx
jne 0xa65251
mov ecx, eax
call fcn.00a381e0
mov ecx, dword [esp + 0x24]
xor edx, edx
call fcn.00a381e0
jmp 0xa65272
test edx, edx
je 0xa6526d
mov eax, 0x100
mov dword [ecx + 8], edx
test word [edx + 2], ax
je 0xa6526d
or word [ecx + 2], ax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
call fcn.00a37af0
mov eax, dword [esp + 0x20]
lea edx, [esp + 0x28]
mov dword [esp + 0x28], eax
mov ecx, edi
mov eax, dword [esi]
mov dword [esp + 0x2c], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x30], eax
call fcn.00a41b00
jmp case.0xa64d85.10
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 1
push eax
mov edx, 0x5e
call fcn.00a37b80
mov esi, eax
add esp, 8
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test esi, esi
jne 0xa652ce
xor edx, edx
mov ecx, eax
call fcn.00a381e0
mov ecx, dword [esp + 0x24]
xor edx, edx
call fcn.00a381e0
jmp 0xa652d5
mov ecx, esi
call fcn.00a37af0
mov ecx, dword [ebx + 4]
lea edx, [esp + 0x28]
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x2c], ecx
mov ecx, edi
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], eax
call fcn.00a41b00
jmp case.0xa64d85.10
mov ecx, dword [edi + 0x1e8]
test ecx, ecx
je case.0xa64d85.10
mov eax, dword [ecx + 0xc]
cmp eax, 1
jl case.0xa64d85.10
mov ecx, dword [ecx + 0x10]
lea edx, [eax + eax*2]
mov al, byte [ebx + 4]
mov byte [ecx + edx*8 - 4], al
jmp case.0xa64d85.10
push dword [ebx - 0x1c]
xor edx, edx
mov ecx, edi
push dword [ebx + 4]
push dword [esi]
call fcn.00a41c90
add esp, 0xc
jmp case.0xa64d85.10
push 0
push 0
push 0
push 0
push dword [ebx + 4]
push 0
push 0
push 0
xor edx, edx
mov ecx, edi
call fcn.00a43360
add esp, 0x20
jmp case.0xa64d85.10
mov esi, dword [esi]
test esi, esi
je case.0xa64d85.10
mov edi, dword [edi]
mov edx, esi
mov ecx, edi
call fcn.00a38150
cmp word [esi + 2], 0
jl case.0xa64d85.10
push esi
push edi
call fcn.00a1a970
add esp, 8
jmp case.0xa64d85.10
mov esi, dword [esi]
xor edx, edx
mov edi, dword [edi]
mov ecx, edi
call fcn.00a38fe0
mov edx, esi
mov ecx, edi
call fcn.00a38fe0
jmp case.0xa64d85.10
lea edx, [ebx + 4]
mov ecx, edi
call fcn.00a41ec0
jmp case.0xa64d85.10
mov eax, dword [ebx + 8]
not eax
and eax, dword [esi]
or eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0xff
jmp case.0xa64d85.10
mov eax, dword [ebx + 4]
shl eax, 8
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0xff00
jmp case.0xa64d85.10
mov dword [esp + 0x3c], 7
jmp case.0xa64d85.10
mov dword [esp + 0x3c], 8
jmp case.0xa64d85.10
mov dword [esp + 0x3c], 9
jmp case.0xa64d85.10
mov dword [esp + 0x3c], 6
jmp case.0xa64d85.10
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
jmp case.0xa64d85.10
mov eax, dword [esi]
mov ecx, dword [esi + 4]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
jmp case.0xa64d85.10
mov edx, dword [ebx - 0x2c]
mov ecx, edi
push 0
push dword [ebx - 0x1c]
push dword [ebx + 4]
call fcn.00a41c90
add esp, 0xc
jmp case.0xa64d85.10
push 0
push 0
push 0
push 0
push dword [ebx + 4]
push dword [ebx - 0x1c]
jmp 0xa6534b
mov esi, dword [ebx - 0x1c]
jmp 0xa65362
mov esi, dword [ebx - 0x1c]
mov edx, dword [ebx - 0x5c]
jmp 0xa65393
mov dword [esp + 0x3c], 0x63
jmp case.0xa64d85.10
mov byte [esp + 0x3c], 0x63
jmp case.0xa64d85.10
mov al, byte [ebx + 4]
mov byte [esp + 0x3c], al
jmp case.0xa64d85.10
mov dword [esp + 0x3c], 4
jmp case.0xa64d85.10
mov dword [esp + 0x3c], 5
jmp case.0xa64d85.10
push dword [esi]
mov edx, dword [ebx + 4]
mov ecx, edi
push 0
call fcn.00a42ad0
add esp, 8
jmp case.0xa64d85.10
push dword [esi]
mov edx, dword [ebx + 4]
mov ecx, edi
push 1
call fcn.00a42ad0
add esp, 8
jmp case.0xa64d85.10
mov edx, dword [ebx + 4]
lea eax, [esp + 0x28]
push eax
mov ecx, edi
mov word [esp + 0x2c], 5
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x38], 0
call fcn.00a5a1b0
add esp, 4
jmp 0xa6503c
mov ecx, dword [ebx + 4]
test ecx, ecx
je 0xa65552
mov al, byte [esi]
mov byte [ecx + 4], al
mov ecx, dword [ebx + 4]
mov eax, dword [ebx - 0x1c]
mov dword [ecx + 0x1c], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
mov esi, dword [ebx - 0x1c]
mov edi, dword [edi]
test esi, esi
je case.0xa64d85.83
mov edx, esi
mov ecx, edi
call fcn.00a51a90
push esi
push edi
call fcn.00a1a970
add esp, 8
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
mov dword [esp + 0x3c], 0x70
jmp case.0xa64d85.10
push dword [ebx + 8]
mov edx, dword [ebx - 0x5c]
mov ecx, edi
push dword [ebx + 4]
push dword [ebx - 0x6c]
push dword [esi]
push dword [ebx - 0x1c]
push dword [ebx - 0x2c]
push dword [ebx - 0x3c]
push dword [ebx - 0x4c]
call fcn.00a51b00
add esp, 0x20
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
push dword [esi]
mov edx, dword [ebx - 0x1c]
mov ecx, edi
call fcn.00a38da0
add esp, 4
mov edx, eax
cmp dword [ebx + 8], 0
mov dword [esp + 0x3c], edx
jbe 0xa655e3
lea ecx, [ebx + 4]
push 1
push ecx
mov ecx, edi
call fcn.00a38f00
mov edx, dword [esp + 0x44]
add esp, 8
mov esi, dword [edi]
test edx, edx
je case.0xa64d85.10
mov eax, dword [edx]
lea ecx, [eax + eax*4]
mov eax, dword [edx + 0xc]
lea eax, [eax + ecx*4]
add eax, 0xfffffff4
mov dword [esp + 0x1c], eax
push dword [eax]
push esi
call fcn.00a1a970
mov ecx, dword [ebx - 8]
add esp, 8
mov dword [esp + 0x24], ecx
test ecx, ecx
jne 0xa65622
mov eax, dword [esp + 0x1c]
xor edi, edi
mov dword [eax], edi
jmp case.0xa64d85.10
mov eax, dword [ebx - 4]
sub eax, ecx
mov dword [esp + 0x20], eax
lea edx, [eax + 1]
test esi, esi
je 0xa65688
cmp byte [esi + 0x1e], 0
je 0xa65645
mov eax, dword [esp + 0x1c]
xor edi, edi
mov dword [eax], edi
jmp case.0xa64d85.10
cmp byte [esi + 0xe2], 0
je 0xa65688
movzx eax, word [esi + 0xe0]
cmp edx, eax
jg 0xa65688
mov edi, dword [esi + 0xec]
test edi, edi
je 0xa65688
mov eax, dword [edi]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xe4]
inc eax
mov dword [esi + 0xe4], eax
cmp eax, dword [esi + 0xe8]
jle 0xa656a7
mov dword [esi + 0xe8], eax
jmp 0xa656a7
push edx
call fcn.00a1a880
mov edi, eax
add esp, 4
test edi, edi
jne 0xa656a3
test esi, esi
je 0xa6569f
mov byte [esi + 0x1e], 1
test edi, edi
je 0xa656ba
mov ecx, dword [esp + 0x24]
mov esi, dword [esp + 0x20]
push esi
push ecx
push edi
call fcn.00a6dc90
add esp, 0xc
mov byte [esi + edi], 0
mov eax, dword [esp + 0x1c]
mov dword [eax], edi
jmp case.0xa64d85.10
mov ecx, dword [edi]
lea eax, [esp + 0x28]
push 0
push eax
mov edx, 0x70
mov dword [esp + 0x30], 0
mov dword [esp + 0x34], 0
call fcn.00a37b80
mov edx, dword [esi]
mov ecx, edi
push eax
call fcn.00a38da0
add esp, 0xc
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 1
push eax
mov edx, 0x70
call fcn.00a37b80
mov esi, dword [edi]
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0xa65731
xor edx, edx
mov ecx, esi
call fcn.00a381e0
xor edx, edx
mov ecx, esi
call fcn.00a381e0
jmp 0xa65738
mov ecx, eax
call fcn.00a37af0
mov ecx, dword [edi]
lea eax, [ebx - 0x1c]
push 1
push eax
mov edx, 0x1a
call fcn.00a37b80
mov esi, dword [edi]
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0xa6576b
xor edx, edx
mov ecx, esi
call fcn.00a381e0
xor edx, edx
mov ecx, esi
call fcn.00a381e0
jmp 0xa65772
mov ecx, eax
call fcn.00a37af0
mov ecx, dword [edi]
mov edx, 0x75
push 1
push 0
call fcn.00a37b80
mov esi, eax
add esp, 8
mov eax, dword [edi]
mov dword [esp + 0x24], eax
test esi, esi
jne 0xa657ab
mov edx, dword [esp + 0x14]
mov ecx, eax
call fcn.00a381e0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x24]
call fcn.00a381e0
jmp 0xa657f2
mov edx, dword [esp + 0x1c]
mov eax, 0x100
test edx, edx
je 0xa657d0
mov dword [esi + 0xc], edx
test word [edx + 2], ax
je 0xa657d0
or word [esi + 2], ax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x14], eax
mov eax, 0x100
mov edx, dword [esp + 0x14]
test edx, edx
je 0xa657eb
mov dword [esi + 8], edx
test word [edx + 2], ax
je 0xa657eb
or word [esi + 2], ax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x14], eax
mov ecx, esi
call fcn.00a37af0
mov edx, dword [ebx - 0x2c]
mov ecx, edi
push esi
call fcn.00a38da0
add esp, 4
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
mov esi, dword [edi]
test esi, esi
je 0xa65866
cmp byte [esi + 0x1e], 0
je 0xa65820
xor edi, edi
mov dword [esp + 0x3c], edi
jmp case.0xa64d85.10
cmp byte [esi + 0xe2], 0
je 0xa65866
mov eax, 0x40
cmp ax, word [esi + 0xe0]
ja 0xa65866
mov edi, dword [esi + 0xec]
test edi, edi
je 0xa65866
mov eax, dword [edi]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xe4]
inc eax
mov dword [esi + 0xe4], eax
cmp eax, dword [esi + 0xe8]
jle 0xa65882
mov dword [esi + 0xe8], eax
jmp 0xa65882
push 0x40
call fcn.00a1a880
mov edi, eax
add esp, 4
test edi, edi
jne 0xa65882
test esi, esi
je 0xa6587e
mov byte [esi + 0x1e], 1
test edi, edi
je 0xa6588f
push 0x40
push 0
push edi
call fcn.00a6e210
add esp, 0xc
mov dword [esp + 0x3c], edi
jmp case.0xa64d85.10
mov esi, dword [ebx + 4]
mov dword [esp + 0x3c], esi
test esi, esi
je case.0xa64d85.10
lea eax, [esi + 8]
test eax, eax
je case.0xa64d85.10
movsx ecx, word [esi]
dec ecx
test ecx, ecx
jle 0xa658d6
lea edx, [ecx*8]
sub edx, ecx
shl edx, 3
mov al, byte [esi + edx - 0x1b]
lea edx, [edx - 0x38]
dec ecx
mov byte [esi + edx + 0x55], al
test ecx, ecx
jg 0xa658c6
mov byte [esi + 0x1d], 0
jmp case.0xa64d85.10
mov edx, dword [esi]
mov dword [esp + 0x3c], edx
test edx, edx
je case.0xa64d85.10
movzx eax, word [edx]
test ax, ax
jle case.0xa64d85.10
cwde
lea ecx, [eax*8]
sub ecx, eax
mov al, byte [ebx + 4]
mov byte [edx + ecx*8 - 0x1b], al
jmp case.0xa64d85.10
push dword [ebx + 4]
mov edx, dword [ebx - 0x5c]
lea eax, [ebx - 0x2c]
push dword [esi]
mov ecx, edi
push 0
push eax
lea eax, [ebx - 0x3c]
push eax
lea eax, [ebx - 0x4c]
push eax
call fcn.00a44fe0
lea ecx, [ebx - 0x1c]
mov dword [esp + 0x54], eax
push ecx
mov edx, eax
mov ecx, edi
call fcn.00a45170
add esp, 0x1c
jmp case.0xa64d85.10
push dword [ebx + 4]
mov edx, dword [ebx - 0x5c]
lea eax, [ebx - 0x1c]
push dword [esi]
mov ecx, edi
push dword [ebx - 0x3c]
push eax
push 0
push 0
call fcn.00a44fe0
add esp, 0x18
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
cmp dword [ebx - 0x5c], 0
jne 0xa6598e
cmp dword [ebx - 0x18], 0
jne 0xa6598e
cmp dword [esi], 0
jne 0xa6598e
cmp dword [ebx + 4], 0
jne 0xa6598e
mov eax, dword [ebx - 0x3c]
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
mov ecx, dword [ebx - 0x3c]
test ecx, ecx
je 0xa659c9
lea eax, [ecx + 8]
test eax, eax
je 0xa659c9
movsx edx, word [ecx]
dec edx
test edx, edx
jle 0xa659c5
lea eax, [edx*8]
sub eax, edx
lea esi, [ecx + 0x1d]
lea esi, [esi + eax*8]
mov al, byte [esi - 0x38]
lea esi, [esi - 0x38]
dec edx
mov byte [esi + 0x38], al
test edx, edx
jg 0xa659b3
mov esi, dword [esp + 0x24]
mov byte [ecx + 0x1d], 0
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [ebx - 0x3c]
xor edx, edx
mov ecx, edi
call fcn.00a51b00
push dword [ebx + 4]
mov edx, dword [ebx - 0x5c]
mov ecx, edi
push dword [esi]
push eax
lea eax, [ebx - 0x1c]
push eax
push 0
push 0
call fcn.00a44fe0
add esp, 0x38
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
mov ecx, dword [edi]
lea eax, [ebx + 4]
push eax
push esi
xor edx, edx
call fcn.00a44940
add esp, 8
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
push 0
push 0
mov edx, esi
mov ecx, edi
call fcn.00a51c90
add esp, 8
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
push 0
push esi
lea edx, [ebx - 0x1c]
mov ecx, edi
call fcn.00a51c90
add esp, 8
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
lea eax, [ebx - 0x1c]
mov ecx, edi
push esi
push eax
lea edx, [ebx - 0x2c]
call fcn.00a51c90
add esp, 8
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 1
jmp case.0xa64d85.10
push dword [esi]
mov edx, dword [ebx - 0x2c]
mov ecx, edi
call fcn.00a38da0
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
je case.0xa64d85.10
mov ecx, dword [eax]
lea edx, [ecx + ecx*4]
mov ecx, dword [eax + 0xc]
mov al, byte [ebx + 4]
mov byte [ecx + edx*4 - 8], al
jmp case.0xa64d85.10
push dword [esi]
xor edx, edx
mov ecx, edi
call fcn.00a38da0
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
je case.0xa64d85.10
mov ecx, dword [eax + 0xc]
test ecx, ecx
je case.0xa64d85.10
mov al, byte [ebx + 4]
mov byte [ecx + 0xc], al
jmp case.0xa64d85.10
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0
jmp case.0xa64d85.10
mov eax, dword [ebx - 0x1c]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x40], eax
jmp case.0xa64d85.10
mov eax, dword [ebx - 0x1c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
mov edx, dword [ebx - 0x1c]
mov ecx, edi
push esi
call fcn.00a45170
mov edx, dword [ebx - 0x1c]
add esp, 4
mov ecx, edi
push dword [ebx + 4]
call fcn.00a462b0
add esp, 4
jmp case.0xa64d85.10
mov edx, dword [ebx - 0x3c]
lea eax, [ebx - 0x2c]
push eax
mov ecx, edi
call fcn.00a45170
mov eax, dword [esi]
add esp, 4
test eax, eax
je 0xa65b72
mov ecx, dword [edi]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x50]
jle 0xa65b72
push 0xab36c0
push 0xab1ff0
push edi
call fcn.00a1cd90
add esp, 0xc
movzx eax, byte [ebx - 0x4c]
mov ecx, edi
mov edx, dword [ebx - 0x3c]
push eax
push dword [ebx + 4]
push dword [esi]
call fcn.00a5c070
add esp, 0xc
jmp case.0xa64d85.10
mov edx, dword [ebx - 0x3c]
push dword [ebx + 4]
mov ecx, edi
call fcn.00a38da0
add esp, 4
mov dword [esp + 0x3c], eax
lea ecx, [ebx - 0x1c]
mov edx, eax
push 1
push ecx
mov ecx, edi
call fcn.00a38f00
add esp, 8
jmp case.0xa64d85.10
xor edx, edx
jmp 0xa65b91
movzx eax, byte [ebx - 0x6c]
mov ecx, edi
mov edx, dword [ebx - 0x4c]
push eax
push dword [ebx - 0x3c]
push 0
push dword [esi]
call fcn.00a49c40
add esp, 0x10
jmp case.0xa64d85.10
movzx eax, byte [ebx - 0x3c]
mov ecx, edi
mov edx, dword [ebx - 0x1c]
push eax
push dword [esi]
push dword [ebx + 4]
push 0
call fcn.00a49c40
add esp, 0x10
jmp case.0xa64d85.10
movzx eax, byte [ebx - 0x4c]
mov ecx, edi
mov edx, dword [ebx - 0x2c]
push eax
push dword [ebx - 0x1c]
push 0
push 0
call fcn.00a49c40
add esp, 0x10
jmp case.0xa64d85.10
mov byte [esp + 0x3c], 5
jmp case.0xa64d85.10
push dword [ebx + 4]
mov edx, dword [ebx - 0x1c]
mov ecx, edi
call fcn.00a38da0
add esp, 4
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
push dword [ebx + 4]
xor edx, edx
mov ecx, edi
call fcn.00a38da0
add esp, 4
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
mov eax, dword [ebx - 0x1c]
mov esi, dword [edi]
mov edi, eax
test edi, edi
jne 0xa65ce8
test esi, esi
je 0xa65cb5
cmp byte [esi + 0x1e], al
jne 0xa65d17
cmp byte [esi + 0xe2], al
je 0xa65cb5
mov eax, 0xc
cmp ax, word [esi + 0xe0]
ja 0xa65cb5
mov ecx, dword [esi + 0xec]
test ecx, ecx
je 0xa65cb5
mov eax, dword [ecx]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xe4]
inc eax
mov dword [esi + 0xe4], eax
cmp eax, dword [esi + 0xe8]
jle 0xa65cb1
mov dword [esi + 0xe8], eax
mov edi, ecx
jmp 0xa65cd3
push 0xc
call fcn.00a1a880
mov edi, eax
add esp, 4
test edi, edi
jne 0xa65ccd
test esi, esi
je 0xa65ccd
mov byte [esi + 0x1e], 1
mov ecx, edi
test edi, edi
je 0xa65d17
xorps xmm0, xmm0
movq qword [ecx], xmm0
mov dword [ecx + 8], 0
mov dword [ecx + 8], 0
mov edx, dword [edi]
lea eax, [esp + 0x1c]
push eax
lea eax, [edi + 8]
mov ecx, esi
push eax
lea eax, [edi + 4]
push eax
push 5
push 8
call fcn.00a44500
add esp, 0x14
mov dword [edi], eax
cmp dword [esp + 0x1c], 0
jge 0xa65d22
mov edx, edi
mov ecx, esi
call fcn.00a445b0
xor edi, edi
mov dword [esp + 0x3c], edi
jmp case.0xa64d85.10
lea eax, [ebx + 4]
test eax, eax
je 0xa65e26
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0xa65d56
mov dword [esp + 0x14], ecx
call fcn.00a1ce20
mov eax, dword [edi]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0xa64d85.10
mov eax, dword [eax + 4]
mov dword [esp + 0x24], eax
lea edx, [eax + 1]
test esi, esi
je 0xa65dd2
cmp byte [esi + 0x1e], 0
je 0xa65d8b
xor ecx, ecx
mov dword [esp + 0x14], ecx
call fcn.00a1ce20
mov eax, dword [edi]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0xa64d85.10
cmp byte [esi + 0xe2], 0
je 0xa65dd2
movzx eax, word [esi + 0xe0]
cmp edx, eax
jg 0xa65dd2
mov ecx, dword [esi + 0xec]
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0xa65dd2
mov eax, dword [ecx]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xe4]
inc eax
mov dword [esi + 0xe4], eax
cmp eax, dword [esi + 0xe8]
jle 0xa65df1
mov dword [esi + 0xe8], eax
jmp 0xa65df1
push edx
call fcn.00a1a880
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0xa65df1
test esi, esi
je 0xa65ded
mov byte [esi + 0x1e], 1
test ecx, ecx
je 0xa65e0b
mov esi, dword [esp + 0x24]
push esi
push dword [esp + 0x24]
push ecx
call fcn.00a6dc90
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov byte [esi + ecx], 0
call fcn.00a1ce20
mov eax, dword [edi]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0xa64d85.10
mov eax, dword [edi]
xor ecx, ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0xa64d85.10
mov esi, dword [edi]
test esi, esi
je 0xa65e90
cmp byte [esi + 0x1e], 0
jne 0xa65eef
cmp byte [esi + 0xe2], 0
je 0xa65e90
mov eax, 0xc
cmp ax, word [esi + 0xe0]
ja 0xa65e90
mov edi, dword [esi + 0xec]
test edi, edi
je 0xa65e90
mov eax, dword [edi]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xe4]
inc eax
mov dword [esi + 0xe4], eax
cmp eax, dword [esi + 0xe8]
jle 0xa65eac
mov dword [esi + 0xe8], eax
jmp 0xa65eac
push 0xc
call fcn.00a1a880
mov edi, eax
add esp, 4
test edi, edi
jne 0xa65eac
test esi, esi
je 0xa65ea8
mov byte [esi + 0x1e], 1
test edi, edi
je 0xa65eef
xorps xmm0, xmm0
lea ecx, [esp + 0x1c]
push ecx
movq qword [edi], xmm0
lea eax, [edi + 8]
push eax
mov dword [edi + 8], 0
mov ecx, esi
mov dword [eax], 0
lea eax, [edi + 4]
mov edx, dword [edi]
push eax
push 5
push 8
call fcn.00a44500
add esp, 0x14
mov dword [edi], eax
cmp dword [esp + 0x1c], 0
jge 0xa65efa
mov edx, edi
mov ecx, esi
call fcn.00a445b0
xor edi, edi
mov dword [esp + 0x3c], edi
jmp case.0xa64d85.10
lea eax, [ebx + 4]
test eax, eax
je 0xa65ffe
mov ecx, dword [eax]
mov dword [esp + 0x20], ecx
test ecx, ecx
jne 0xa65f2e
mov dword [esp + 0x14], ecx
call fcn.00a1ce20
mov eax, dword [edi]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0xa64d85.10
mov eax, dword [eax + 4]
mov dword [esp + 0x24], eax
lea edx, [eax + 1]
test esi, esi
je 0xa65faa
cmp byte [esi + 0x1e], 0
je 0xa65f63
xor ecx, ecx
mov dword [esp + 0x14], ecx
call fcn.00a1ce20
mov eax, dword [edi]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0xa64d85.10
cmp byte [esi + 0xe2], 0
je 0xa65faa
movzx eax, word [esi + 0xe0]
cmp edx, eax
jg 0xa65faa
mov ecx, dword [esi + 0xec]
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0xa65faa
mov eax, dword [ecx]
mov dword [esi + 0xec], eax
mov eax, dword [esi + 0xe4]
inc eax
mov dword [esi + 0xe4], eax
cmp eax, dword [esi + 0xe8]
jle 0xa65fc9
mov dword [esi + 0xe8], eax
jmp 0xa65fc9
push edx
call fcn.00a1a880
mov ecx, eax
add esp, 4
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0xa65fc9
test esi, esi
je 0xa65fc5
mov byte [esi + 0x1e], 1
test ecx, ecx
je 0xa65fe3
mov esi, dword [esp + 0x24]
push esi
push dword [esp + 0x24]
push ecx
call fcn.00a6dc90
mov ecx, dword [esp + 0x20]
add esp, 0xc
mov byte [esi + ecx], 0
call fcn.00a1ce20
mov eax, dword [edi]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0xa64d85.10
mov eax, dword [edi]
xor ecx, ecx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x3c], edi
mov dword [eax + edx*8], ecx
jmp case.0xa64d85.10
movq xmm0, qword [ebx + 4]
mov eax, dword [ebx + 0xc]
movq qword [esp + 0x3c], xmm0
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov eax, dword [esi]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx - 0x1c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
movzx edx, byte [ebx + 2]
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 1
push eax
call fcn.00a37b80
mov edi, dword [edi]
mov esi, eax
add esp, 8
test esi, esi
jne 0xa66075
xor edx, edx
mov ecx, edi
call fcn.00a381e0
xor edx, edx
mov ecx, edi
call fcn.00a381e0
jmp 0xa6607c
mov ecx, esi
call fcn.00a37af0
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov edx, 0x1a
jmp 0xa66049
mov ecx, dword [edi]
lea eax, [ebx - 0x1c]
push 1
push eax
mov edx, 0x1a
call fcn.00a37b80
mov esi, dword [edi]
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0xa660cf
xor edx, edx
mov ecx, esi
call fcn.00a381e0
xor edx, edx
mov ecx, esi
call fcn.00a381e0
jmp 0xa660d6
mov ecx, eax
call fcn.00a37af0
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 1
push eax
mov edx, 0x1a
call fcn.00a37b80
mov esi, dword [edi]
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0xa66109
xor edx, edx
mov ecx, esi
call fcn.00a381e0
xor edx, edx
mov ecx, esi
call fcn.00a381e0
jmp 0xa66110
mov ecx, eax
call fcn.00a37af0
mov ecx, dword [edi]
mov edx, 0x75
push 1
push 0
call fcn.00a37b80
mov edi, dword [edi]
mov esi, eax
add esp, 8
test esi, esi
jne 0xa6614a
mov edx, dword [esp + 0x14]
mov ecx, edi
call fcn.00a381e0
mov edx, dword [esp + 0x1c]
mov ecx, edi
call fcn.00a381e0
mov dword [esp + 0x3c], esi
jmp 0xa6602f
mov edx, dword [esp + 0x1c]
mov eax, 0x100
test edx, edx
je 0xa6616f
mov dword [esi + 0xc], edx
test word [edx + 2], ax
je 0xa6616f
or word [esi + 2], ax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x14], eax
mov eax, 0x100
mov edx, dword [esp + 0x14]
test edx, edx
je 0xa6618a
mov dword [esi + 8], edx
test word [edx + 2], ax
je 0xa6618a
or word [esi + 2], ax
mov eax, dword [edx + 0x14]
mov dword [esi + 0x14], eax
mov ecx, esi
call fcn.00a37af0
mov dword [esp + 0x3c], esi
jmp 0xa6602f
mov ecx, dword [edi]
lea eax, [ebx - 0x3c]
push 1
push eax
mov edx, 0x1a
call fcn.00a37b80
mov esi, dword [edi]
add esp, 8
mov dword [esp + 0x24], eax
test eax, eax
jne 0xa661cd
xor edx, edx
mov ecx, esi
call fcn.00a381e0
xor edx, edx
mov ecx, esi
call fcn.00a381e0
jmp 0xa661d4
mov ecx, eax
call fcn.00a37af0
mov ecx, dword [edi]
lea eax, [ebx - 0x1c]
push 1
push eax
mov edx, 0x1a
call fcn.00a37b80
mov esi, dword [edi]
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
jne 0xa66207
xor edx, edx
mov ecx, esi
call fcn.00a381e0
xor edx, edx
mov ecx, esi
call fcn.00a381e0
jmp 0xa6620e
mov ecx, eax
call fcn.00a37af0
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 1
push eax
mov edx, 0x1a
call fcn.00a37b80
mov esi, dword [edi]
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0xa66241
xor edx, edx
mov ecx, esi
call fcn.00a381e0
xor edx, edx
mov ecx, esi
call fcn.00a381e0
jmp 0xa66248
mov ecx, eax
call fcn.00a37af0
mov ecx, dword [edi]
mov edx, 0x75
push 1
push 0
call fcn.00a37b80
mov ecx, eax
add esp, 8
mov eax, dword [edi]
mov esi, 0x100
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], eax
test ecx, ecx
jne 0xa6628a
mov edx, dword [esp + 0x14]
mov ecx, eax
call fcn.00a381e0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x28]
call fcn.00a381e0
jmp 0xa662c5
mov eax, dword [esp + 0x1c]
test eax, eax
je 0xa662a5
mov dword [ecx + 0xc], eax
test word [eax + 2], si
je 0xa662a5
or word [ecx + 2], si
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x14]
test eax, eax
je 0xa662c0
mov dword [ecx + 8], eax
test word [eax + 2], si
je 0xa662c0
or word [ecx + 2], si
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x14], eax
call fcn.00a37af0
mov ecx, dword [edi]
mov edx, 0x75
push 1
push 0
call fcn.00a37b80
mov edi, dword [edi]
mov ecx, eax
add esp, 8
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0xa66318
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.00a381e0
mov edx, dword [esp + 0x20]
mov ecx, edi
call fcn.00a381e0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx - 0x3c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov eax, dword [esp + 0x20]
test eax, eax
je 0xa66333
mov dword [ecx + 0xc], eax
test word [eax + 2], si
je 0xa66333
or word [ecx + 2], si
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x24]
test eax, eax
je 0xa6634e
mov dword [ecx + 8], eax
test word [eax + 2], si
je 0xa6634e
or word [ecx + 2], si
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x14], eax
call fcn.00a37af0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx - 0x3c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
cmp byte [edi + 0x13], 0
lea eax, [ebx + 4]
jne 0xa663a6
push eax
push 0xab36cc
push edi
call fcn.00a1cd90
mov ecx, dword [ebx + 4]
add esp, 0xc
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov ecx, dword [edi]
mov edx, 0x84
push 1
push eax
call fcn.00a37b80
mov edi, dword [edi]
mov esi, eax
add esp, 8
test esi, esi
jne 0xa663eb
xor edx, edx
mov ecx, edi
call fcn.00a381e0
xor edx, edx
mov ecx, edi
call fcn.00a381e0
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x3c], esi
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov ecx, esi
call fcn.00a37af0
mov ecx, dword [ebx + 4]
lea edx, [esi + 0x18]
inc ecx
mov dword [esp + 0x3c], esi
call fcn.00a1d6a0
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 1
push eax
mov edx, 0x85
call fcn.00a37b80
mov esi, eax
add esp, 8
mov eax, dword [edi]
mov dword [esp + 0x28], eax
test esi, esi
jne 0xa6644e
xor edx, edx
mov ecx, eax
call fcn.00a381e0
mov ecx, dword [esp + 0x28]
xor edx, edx
call fcn.00a381e0
jmp 0xa66455
mov ecx, esi
call fcn.00a37af0
mov edx, esi
mov dword [esp + 0x3c], esi
mov ecx, edi
call fcn.00a37f40
mov ecx, dword [ebx + 4]
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov edx, dword [ebx - 0x1c]
lea esi, [ebx + 4]
push esi
mov ecx, edi
call fcn.00a375a0
mov dword [esp + 0x40], eax
add esp, 4
mov eax, dword [ebx - 0x18]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [esi]
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov eax, dword [ebx - 0x2c]
mov edx, 0x25
mov ecx, dword [edi]
push 1
push esi
mov dword [esp + 0x2c], eax
call fcn.00a37b80
mov edi, dword [edi]
mov esi, eax
add esp, 8
test esi, esi
jne 0xa664f0
mov edx, dword [esp + 0x24]
mov ecx, edi
call fcn.00a381e0
xor edx, edx
mov ecx, edi
call fcn.00a381e0
mov eax, dword [ebx - 0x4c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov ecx, dword [esp + 0x24]
test ecx, ecx
je 0xa66510
mov eax, 0x100
mov dword [esi + 8], ecx
test word [ecx + 2], ax
je 0xa66510
or word [esi + 2], ax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x14], eax
mov ecx, esi
call fcn.00a37af0
mov eax, dword [ebx - 0x4c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov eax, dword [esi]
test eax, eax
je 0xa66552
mov ecx, dword [edi]
mov eax, dword [eax]
cmp eax, dword [ecx + 0x60]
jle 0xa66552
lea eax, [ebx - 0x3c]
push eax
push 0xab36e4
push edi
call fcn.00a1cd90
add esp, 0xc
mov edx, dword [esp + 0x24]
lea esi, [ebx - 0x3c]
push esi
mov ecx, edi
mov edx, dword [edx]
call fcn.00a37ed0
mov ecx, dword [esi]
add esp, 4
mov dword [esp + 0x40], ecx
mov ecx, dword [ebx + 8]
add ecx, dword [ebx + 4]
cmp dword [ebx - 0x1c], 0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x44], ecx
je case.0xa64d85.10
test eax, eax
je case.0xa64d85.10
or word [eax + 2], 0x10
jmp case.0xa64d85.10
lea esi, [ebx - 0x2c]
xor edx, edx
push esi
mov ecx, edi
call fcn.00a37ed0
mov dword [esp + 0x40], eax
add esp, 4
mov eax, dword [esi]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
lea esi, [ebx + 4]
xor edx, edx
push esi
mov ecx, edi
call fcn.00a37ed0
add esp, 4
mov dword [esp + 0x3c], eax
test eax, eax
je 0xa665da
mov byte [eax], 0x9b
mov ecx, dword [esi]
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
lea eax, [ebx + 4]
mov edx, edi
push eax
lea eax, [ebx - 0x1c]
push eax
movzx eax, byte [ebx - 0xe]
lea ecx, [esp + 0x44]
push eax
call fcn.00a64940
add esp, 0xc
jmp case.0xa64d85.10
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], 0
jmp case.0xa64d85.10
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], ecx
mov dword [esp + 0x44], 1
jmp case.0xa64d85.10
xorps xmm0, xmm0
mov dword [esp + 0x44], 0
movq qword [esp + 0x3c], xmm0
jmp case.0xa64d85.10
push dword [esi]
xor edx, edx
mov ecx, edi
call fcn.00a38da0
add esp, 4
mov edx, eax
mov ecx, edi
push dword [ebx - 0x2c]
call fcn.00a38da0
mov edx, eax
add esp, 4
mov eax, dword [ebx + 4]
test eax, eax
je 0xa6668d
push eax
mov ecx, edi
call fcn.00a38da0
add esp, 4
mov edx, eax
lea eax, [ebx - 0x1c]
mov ecx, edi
push eax
call fcn.00a37ed0
add esp, 4
mov esi, eax
cmp dword [ebx - 0x14], 0
mov dword [esp + 0x3c], esi
je 0xa66703
mov ecx, dword [edi]
mov edx, 0x13
push 1
push 0
call fcn.00a37b80
mov edi, dword [edi]
mov ecx, eax
add esp, 8
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0xa666da
mov edx, esi
mov ecx, edi
call fcn.00a381e0
xor edx, edx
mov ecx, edi
call fcn.00a381e0
jmp 0xa666fb
test esi, esi
je 0xa666f6
mov eax, 0x100
mov dword [ecx + 8], esi
test word [esi + 2], ax
je 0xa666f6
or word [ecx + 2], ax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
call fcn.00a37af0
mov esi, dword [esp + 0x28]
mov dword [esp + 0x3c], esi
mov eax, dword [ebx - 0x28]
mov dword [esp + 0x40], eax
mov eax, dword [ebx - 4]
mov dword [esp + 0x44], eax
test esi, esi
je case.0xa64d85.10
mov eax, 0x80
or word [esi + 2], ax
jmp case.0xa64d85.10
lea eax, [ebx + 4]
mov edx, edi
push eax
movzx eax, byte [ebx + 2]
lea ecx, [esp + 0x40]
push esi
push eax
call fcn.00a649f0
add esp, 0xc
jmp case.0xa64d85.10
lea eax, [ebx + 4]
mov edx, edi
push eax
lea eax, [ebx - 0x1c]
push eax
push 0x4a
lea ecx, [esp + 0x48]
call fcn.00a649f0
add esp, 0xc
jmp case.0xa64d85.10
lea esi, [ebx + 4]
mov edx, edi
push esi
lea eax, [ebx - 0x1c]
push eax
push 0x46
lea ecx, [esp + 0x48]
call fcn.00a64940
mov eax, dword [edi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne case.0xa64d85.10
mov eax, dword [esi]
cmp byte [eax], 0x62
jne case.0xa64d85.10
mov eax, dword [esp + 0x3c]
mov byte [eax], 0x49
jmp case.0xa64d85.10
lea esi, [ebx + 4]
mov edx, edi
push esi
lea eax, [ebx - 0x2c]
push eax
push 0x92
lea ecx, [esp + 0x48]
call fcn.00a64940
mov eax, dword [edi]
add esp, 0xc
cmp byte [eax + 0x1e], 0
jne case.0xa64d85.10
mov eax, dword [esi]
cmp byte [eax], 0x62
jne case.0xa64d85.10
mov eax, dword [esp + 0x3c]
mov byte [eax], 0x4a
jmp case.0xa64d85.10
push esi
lea eax, [ebx + 4]
mov edx, edi
push eax
movzx eax, byte [ebx - 0xe]
lea ecx, [esp + 0x44]
push eax
call fcn.00a64a80
add esp, 0xc
jmp case.0xa64d85.10
push esi
lea eax, [ebx + 4]
mov edx, edi
push eax
push 0x9c
lea ecx, [esp + 0x48]
call fcn.00a64a80
add esp, 0xc
jmp case.0xa64d85.10
push esi
lea eax, [ebx + 4]
mov edx, edi
push eax
push 0x9d
lea ecx, [esp + 0x48]
call fcn.00a64a80
add esp, 0xc
jmp case.0xa64d85.10
push dword [ebx - 0x1c]
xor edx, edx
mov ecx, edi
call fcn.00a38da0
add esp, 4
mov edx, eax
mov ecx, edi
push dword [ebx + 4]
call fcn.00a38da0
mov ecx, dword [edi]
add esp, 4
mov dword [esp + 0x20], eax
mov edx, 0x47
mov eax, dword [ebx - 0x3c]
mov dword [esp + 0x24], eax
push 1
push 0
call fcn.00a37b80
mov ecx, eax
add esp, 8
mov eax, dword [edi]
mov esi, 0x100
mov dword [esp + 0x14], ecx
mov dword [esp + 0x28], eax
test ecx, ecx
jne 0xa668ad
mov edx, dword [esp + 0x24]
mov ecx, eax
call fcn.00a381e0
mov ecx, dword [esp + 0x28]
xor edx, edx
call fcn.00a381e0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x20]
mov ecx, dword [edi]
mov dword [esp + 0x3c], eax
call fcn.00a38fe0
jmp 0xa668dc
mov eax, dword [esp + 0x24]
test eax, eax
je 0xa668c8
mov dword [ecx + 8], eax
test word [eax + 2], si
je 0xa668c8
or word [ecx + 2], si
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x14], eax
call fcn.00a37af0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x3c], eax
mov dword [eax + 0x10], ecx
cmp dword [ebx - 0x2c], 0
je 0xa6693f
mov ecx, dword [edi]
mov edx, 0x13
push 1
push 0
call fcn.00a37b80
mov edi, dword [edi]
mov ecx, eax
add esp, 8
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0xa66917
mov edx, dword [esp + 0x14]
mov ecx, edi
call fcn.00a381e0
xor edx, edx
mov ecx, edi
call fcn.00a381e0
jmp 0xa66937
mov eax, dword [esp + 0x14]
test eax, eax
je 0xa66932
mov dword [ecx + 8], eax
test word [eax + 2], si
je 0xa66932
or word [ecx + 2], si
mov eax, dword [eax + 0x14]
mov dword [ecx + 0x14], eax
call fcn.00a37af0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx - 0x38]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov eax, dword [ebx - 0x3c]
mov edx, 0x48
mov ecx, dword [edi]
push 1
push 0
mov dword [esp + 0x28], eax
call fcn.00a37b80
mov edx, dword [esp + 0x28]
mov ecx, eax
mov eax, dword [edi]
add esp, 8
mov dword [esp + 0x24], eax
mov eax, 0x100
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0xa669ae
mov ecx, dword [esp + 0x24]
call fcn.00a381e0
mov ecx, dword [esp + 0x24]
xor edx, edx
call fcn.00a381e0
mov eax, dword [esp + 0x14]
mov edx, dword [esi]
mov ecx, dword [edi]
mov dword [esp + 0x3c], eax
call fcn.00a38fe0
xor esi, esi
jmp 0xa669fb
test edx, edx
je 0xa669c5
mov dword [ecx + 8], edx
test word [edx + 2], ax
je 0xa669c5
or word [ecx + 2], ax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
call fcn.00a37af0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov eax, dword [esi]
mov esi, dword [esp + 0x14]
mov ecx, esi
mov dword [esi + 0x10], eax
call fcn.00a37af0
mov eax, dword [edi]
mov eax, dword [eax + 0x54]
cmp dword [esi + 0x38], eax
jle 0xa669fb
push eax
push 0xab1f7c
push edi
call fcn.00a1cd90
add esp, 0xc
cmp dword [ebx - 0x2c], 0
je 0xa66a79
mov ecx, dword [edi]
mov edx, 0x13
push 1
push 0
call fcn.00a37b80
mov edi, dword [edi]
mov ecx, eax
add esp, 8
mov dword [esp + 0x28], ecx
test ecx, ecx
jne 0xa66a50
mov edx, esi
mov ecx, edi
call fcn.00a381e0
xor edx, edx
mov ecx, edi
call fcn.00a381e0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx - 0x38]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
test esi, esi
je 0xa66a6c
mov eax, 0x100
mov dword [ecx + 8], esi
test word [esi + 2], ax
je 0xa66a6c
or word [ecx + 2], ax
mov eax, dword [esi + 0x14]
mov dword [ecx + 0x14], eax
call fcn.00a37af0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov eax, dword [ebx - 0x38]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov ecx, dword [edi]
mov edx, 0x73
push 1
push 0
call fcn.00a37b80
mov ecx, dword [edi]
add esp, 8
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], ecx
test eax, eax
jne 0xa66aee
xor edx, edx
call fcn.00a381e0
mov ecx, dword [esp + 0x28]
xor edx, edx
call fcn.00a381e0
mov esi, dword [esi]
mov eax, dword [esp + 0x14]
mov edi, dword [edi]
mov dword [esp + 0x3c], eax
test esi, esi
je 0xa6602f
mov edx, esi
mov ecx, edi
call fcn.00a51a90
push esi
push edi
call fcn.00a1a970
add esp, 8
jmp 0xa6602f
mov ecx, eax
call fcn.00a37af0
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [esp + 0x3c], ecx
mov dword [ecx + 0x10], eax
mov eax, 0x1000
or word [ecx + 2], ax
call fcn.00a37af0
mov eax, dword [edi]
mov ecx, dword [eax + 0x54]
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x38], ecx
jle 0xa6602f
push ecx
push 0xab1f7c
push edi
call fcn.00a1cd90
add esp, 0xc
jmp 0xa6602f
mov eax, dword [ebx - 0x3c]
mov edx, 0x48
mov ecx, dword [edi]
push 1
push 0
mov dword [esp + 0x28], eax
call fcn.00a37b80
mov edx, dword [esp + 0x28]
mov ecx, eax
mov eax, dword [edi]
add esp, 8
mov dword [esp + 0x24], eax
mov eax, 0x100
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0xa66bb0
mov ecx, dword [esp + 0x24]
call fcn.00a381e0
mov ecx, dword [esp + 0x24]
xor edx, edx
call fcn.00a381e0
mov eax, dword [esp + 0x14]
mov ecx, dword [edi]
mov dword [esp + 0x3c], eax
mov eax, dword [esi]
xor esi, esi
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], ecx
test eax, eax
je 0xa66c06
mov edx, eax
call fcn.00a51a90
push dword [esp + 0x28]
push dword [esp + 0x28]
call fcn.00a1a970
add esp, 8
jmp 0xa66c06
test edx, edx
je 0xa66bc7
mov dword [ecx + 8], edx
test word [edx + 2], ax
je 0xa66bc7
or word [ecx + 2], ax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
call fcn.00a37af0
mov eax, dword [esp + 0x14]
mov dword [esp + 0x3c], eax
mov eax, dword [esi]
mov esi, dword [esp + 0x14]
mov ecx, esi
mov dword [esi + 0x10], eax
mov eax, 0x1000
or word [esi + 2], ax
call fcn.00a37af0
mov eax, dword [edi]
mov eax, dword [eax + 0x54]
cmp dword [esi + 0x38], eax
jle 0xa66c06
push eax
push 0xab1f7c
push edi
call fcn.00a1cd90
add esp, 0xc
cmp dword [ebx - 0x2c], 0
je 0xa66a79
mov ecx, dword [edi]
mov edx, 0x13
push 1
push 0
call fcn.00a37b80
mov edi, dword [edi]
mov ecx, eax
add esp, 8
mov dword [esp + 0x28], ecx
test ecx, ecx
je 0xa66a20
jmp 0xa66a50
mov ecx, dword [edi]
lea eax, [ebx + 4]
push eax
push esi
xor edx, edx
call fcn.00a44940
mov ecx, dword [edi]
mov edx, 0x48
mov dword [esp + 0x24], eax
mov eax, dword [ebx - 0x2c]
push 1
push 0
mov dword [esp + 0x30], eax
call fcn.00a37b80
mov edx, dword [esp + 0x30]
mov ecx, eax
mov eax, dword [edi]
add esp, 0x10
mov dword [esp + 0x24], eax
mov eax, 0x100
mov dword [esp + 0x14], ecx
test ecx, ecx
jne 0xa66cae
mov ecx, dword [esp + 0x24]
call fcn.00a381e0
mov ecx, dword [esp + 0x24]
xor edx, edx
call fcn.00a381e0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x1c]
mov ecx, dword [edi]
mov dword [esp + 0x3c], eax
call fcn.00a44c10
mov dword [esp + 0x14], 0
jmp 0xa66d22
test edx, edx
je 0xa66cc5
mov dword [ecx + 8], edx
test word [edx + 2], ax
je 0xa66cc5
or word [ecx + 2], ax
mov eax, dword [edx + 0x14]
mov dword [ecx + 0x14], eax
call fcn.00a37af0
mov eax, dword [esp + 0x14]
xor edx, edx
push 0
push 0
push 0
push 0
push 0
push 0
push 0
push dword [esp + 0x38]
mov ecx, edi
mov dword [esp + 0x5c], eax
call fcn.00a51b00
mov ecx, dword [esp + 0x34]
add esp, 0x20
mov dword [ecx + 0x10], eax
mov eax, 0x1000
or word [ecx + 2], ax
call fcn.00a37af0
mov eax, dword [edi]
mov ecx, dword [eax + 0x54]
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x38], ecx
jle 0xa66d22
push ecx
push 0xab1f7c
push edi
call fcn.00a1cd90
add esp, 0xc
cmp dword [ebx - 0x1c], 0
je 0xa66d8c
mov ecx, dword [edi]
mov edx, 0x13
push 1
push 0
call fcn.00a37b80
mov edi, dword [edi]
mov edx, eax
add esp, 8
mov dword [esp + 0x28], edx
test edx, edx
jne 0xa66d5d
mov edx, dword [esp + 0x14]
mov ecx, edi
call fcn.00a381e0
xor edx, edx
mov ecx, edi
call fcn.00a381e0
jmp 0xa66d84
mov ecx, dword [esp + 0x14]
test ecx, ecx
je 0xa66d7d
mov eax, 0x100
mov dword [edx + 8], ecx
test word [ecx + 2], ax
je 0xa66d7d
or word [edx + 2], ax
mov eax, dword [ecx + 0x14]
mov dword [edx + 0x14], eax
mov ecx, edx
call fcn.00a37af0
mov eax, dword [esp + 0x28]
mov dword [esp + 0x3c], eax
mov ecx, dword [ebx + 4]
mov eax, dword [ebx - 0x28]
mov dword [esp + 0x40], eax
test ecx, ecx
je 0xa66da8
mov eax, dword [ebx + 8]
add eax, ecx
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov eax, dword [ebx - 8]
add eax, dword [esi]
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov ecx, dword [edi]
mov edx, 0x14
push 1
push 0
call fcn.00a37b80
mov ecx, dword [edi]
add esp, 8
mov dword [esp + 0x14], eax
mov dword [esp + 0x28], ecx
test eax, eax
jne 0xa66e22
xor edx, edx
call fcn.00a381e0
mov ecx, dword [esp + 0x28]
xor edx, edx
call fcn.00a381e0
mov esi, dword [esi]
mov eax, dword [esp + 0x14]
mov edi, dword [edi]
mov dword [esp + 0x3c], eax
test esi, esi
je 0xa66e61
mov edx, esi
mov ecx, edi
call fcn.00a51a90
push esi
push edi
call fcn.00a1a970
mov eax, dword [ebx - 0x2c]
add esp, 8
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov ecx, eax
call fcn.00a37af0
mov ecx, dword [esp + 0x14]
mov eax, dword [esi]
mov dword [esp + 0x3c], ecx
mov dword [ecx + 0x10], eax
mov eax, 0x1000
or word [ecx + 2], ax
call fcn.00a37af0
mov eax, dword [edi]
mov ecx, dword [eax + 0x54]
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x38], ecx
jle 0xa66e61
push ecx
push 0xab1f7c
push edi
call fcn.00a1cd90
add esp, 0xc
mov eax, dword [ebx - 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov eax, dword [esi]
mov edx, 0x86
mov ecx, dword [edi]
mov dword [esp + 0x24], eax
mov eax, dword [ebx - 0x2c]
push 1
push 0
mov dword [esp + 0x28], eax
call fcn.00a37b80
mov esi, eax
add esp, 8
mov eax, dword [edi]
mov dword [esp + 0x28], eax
test esi, esi
jne 0xa66edf
mov edx, dword [esp + 0x20]
mov ecx, eax
call fcn.00a381e0
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
call fcn.00a381e0
mov edx, dword [ebx - 0x1c]
mov ecx, dword [edi]
mov dword [esp + 0x3c], esi
call fcn.00a38fe0
mov eax, dword [ebx - 0x3c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov ecx, dword [esp + 0x24]
mov eax, 0x100
test ecx, ecx
je 0xa66f04
mov dword [esi + 0xc], ecx
test word [ecx + 2], ax
je 0xa66f04
or word [esi + 2], ax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x14], eax
mov eax, 0x100
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0xa66f1f
mov dword [esi + 8], ecx
test word [ecx + 2], ax
je 0xa66f1f
or word [esi + 2], ax
mov eax, dword [ecx + 0x14]
mov dword [esi + 0x14], eax
mov ecx, esi
call fcn.00a37af0
mov eax, dword [ebx - 0x1c]
mov ecx, esi
mov dword [esp + 0x3c], esi
mov dword [esi + 0x10], eax
call fcn.00a37af0
mov eax, dword [edi]
mov eax, dword [eax + 0x54]
cmp dword [esi + 0x38], eax
jle 0xa66f50
push eax
push 0xab1f7c
push edi
call fcn.00a1cd90
add esp, 0xc
mov eax, dword [ebx - 0x3c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov edx, dword [ebx - 0x3c]
push dword [ebx - 0x1c]
mov ecx, edi
call fcn.00a38da0
add esp, 4
mov edx, eax
mov ecx, edi
push dword [ebx + 4]
call fcn.00a38da0
add esp, 4
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
xor edx, edx
jmp 0xa66f69
push dword [ebx - 0x6c]
mov ecx, dword [edi]
lea eax, [ebx + 4]
push 0
push eax
lea eax, [ebx - 0x9c]
xor edx, edx
push eax
push dword [ebx - 0x8c]
lea eax, [ebx - 0x2c]
push dword [esi]
push 0
push eax
call fcn.00a44940
add esp, 8
lea edx, [ebx - 0x5c]
mov ecx, edi
push eax
lea eax, [ebx - 0x4c]
push eax
call fcn.00a43360
add esp, 0x20
jmp case.0xa64d85.10
mov dword [esp + 0x3c], 2
jmp case.0xa64d85.10
xor eax, eax
cmp dword [ebx - 8], eax
jbe 0xa67016
mov ecx, dword [edi]
mov edx, 0x98
push eax
mov dword [esp + 0x2c], eax
mov dword [esp + 0x30], eax
lea eax, [esp + 0x2c]
push eax
call fcn.00a37b80
push esi
mov edx, eax
mov dword [esp + 0x34], eax
mov ecx, edi
call fcn.00a375a0
mov eax, dword [esp + 0x34]
add esp, 0xc
mov edx, dword [ebx - 0x3c]
mov ecx, edi
push eax
call fcn.00a38da0
add esp, 4
lea ecx, [ebx - 0x1c]
mov esi, eax
mov edx, esi
mov dword [esp + 0x3c], esi
push 1
push ecx
mov ecx, edi
call fcn.00a38f00
add esp, 8
test esi, esi
je case.0xa64d85.10
mov ecx, dword [edi]
mov eax, dword [esi]
cmp eax, dword [ecx + 0x50]
jle 0xa67060
push 0xab2858
push 0xab1ff0
push edi
call fcn.00a1cd90
add esp, 0xc
mov eax, dword [esi]
mov ecx, dword [esi + 0xc]
lea edx, [eax + eax*4]
mov al, byte [ebx + 4]
mov byte [ecx + edx*4 - 8], al
jmp case.0xa64d85.10
xor eax, eax
cmp dword [ebx - 8], eax
jbe 0xa670c9
mov ecx, dword [edi]
mov edx, 0x98
push 1
push eax
call fcn.00a37b80
mov ecx, dword [edi]
add esp, 8
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
test eax, eax
jne 0xa670af
xor edx, edx
call fcn.00a381e0
mov ecx, dword [esp + 0x28]
xor edx, edx
call fcn.00a381e0
jmp 0xa670b6
mov ecx, eax
call fcn.00a37af0
mov edx, dword [esp + 0x24]
mov ecx, edi
push esi
call fcn.00a375a0
mov eax, dword [esp + 0x28]
add esp, 4
push eax
xor edx, edx
mov ecx, edi
call fcn.00a38da0
add esp, 4
lea ecx, [ebx - 0x1c]
mov esi, eax
mov edx, esi
mov dword [esp + 0x3c], esi
push 1
push ecx
mov ecx, edi
call fcn.00a38f00
add esp, 8
test esi, esi
je case.0xa64d85.10
mov ecx, dword [edi]
mov eax, dword [esi]
cmp eax, dword [ecx + 0x50]
jle 0xa67060
push 0xab2858
push 0xab1ff0
push edi
call fcn.00a1cd90
mov eax, dword [esi]
add esp, 0xc
mov ecx, dword [esi + 0xc]
lea edx, [eax + eax*4]
mov al, byte [ebx + 4]
mov byte [ecx + edx*4 - 8], al
jmp case.0xa64d85.10
mov dword [esp + 0x3c], 0
mov dword [esp + 0x40], 0
jmp case.0xa64d85.10
push dword [esi]
mov edx, dword [ebx + 4]
mov ecx, edi
call fcn.00a442e0
add esp, 4
jmp case.0xa64d85.10
push 0
lea eax, [ebx + 4]
mov edx, esi
push 0
push eax
mov ecx, edi
call fcn.00a4e290
add esp, 0xc
jmp case.0xa64d85.10
push 0
lea eax, [ebx + 4]
mov ecx, edi
push eax
lea eax, [ebx - 0x1c]
lea edx, [ebx - 0x2c]
push eax
call fcn.00a4e290
add esp, 0xc
jmp case.0xa64d85.10
push 0
lea eax, [ebx - 0x2c]
mov ecx, edi
push esi
push eax
lea edx, [ebx - 0x3c]
call fcn.00a4e290
add esp, 0xc
jmp case.0xa64d85.10
push 1
jmp 0xa6716e
push 1
lea eax, [ebx - 0x2c]
mov ecx, edi
push esi
lea edx, [ebx - 0x3c]
push eax
call fcn.00a4e290
add esp, 0xc
jmp case.0xa64d85.10
mov dword [esp + 0x3c], 0x22
jmp case.0xa64d85.10
mov dword [esp + 0x3c], 0x1e
jmp case.0xa64d85.10
mov dword [esp + 0x3c], 0x30
jmp case.0xa64d85.10
movzx eax, byte [ebx + 2]
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], 0
jmp case.0xa64d85.10
mov eax, dword [ebx + 4]
mov dword [esp + 0x3c], 0x6a
mov dword [esp + 0x40], eax
jmp case.0xa64d85.10
mov eax, dword [ebx - 0x1c]
mov ecx, dword [eax + 0x24]
mov eax, dword [esi]
mov dword [ecx + 0x20], eax
mov ecx, dword [ebx - 0x1c]
mov eax, dword [esi]
mov dword [ecx + 0x24], eax
mov eax, dword [ebx - 0x1c]
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
mov eax, dword [esi]
mov dword [eax + 0x24], eax
mov eax, dword [esi]
mov dword [esp + 0x3c], eax
jmp case.0xa64d85.10
mov eax, dword [ebx + 4]
mov ecx, dword [ebx + 8]
push 0xab3708
push edi
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], ecx
call fcn.00a1cd90
add esp, 8
jmp case.0xa64d85.10
push 0xab3768
push edi
call fcn.00a1cd90
add esp, 8
jmp case.0xa64d85.10
push 0xab37c0
push edi
call fcn.00a1cd90
add esp, 8
jmp case.0xa64d85.10
mov ecx, dword [edi]
mov edx, 0x38
push 1
push 0
call fcn.00a37b80
mov edi, dword [edi]
mov esi, eax
add esp, 8
test esi, esi
jne 0xa672cb
xor edx, edx
mov ecx, edi
call fcn.00a381e0
xor edx, edx
mov ecx, edi
call fcn.00a381e0
mov eax, dword [ebx - 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov ecx, esi
call fcn.00a37af0
mov byte [esi + 1], 4
mov eax, dword [ebx - 0x2c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov ecx, dword [edi]
mov edx, 0x38
push 1
push esi
call fcn.00a37b80
mov edi, dword [edi]
mov esi, eax
add esp, 8
test esi, esi
jne 0xa67336
xor edx, edx
mov ecx, edi
call fcn.00a381e0
xor edx, edx
mov ecx, edi
call fcn.00a381e0
mov eax, dword [ebx - 0x4c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov ecx, esi
call fcn.00a37af0
mov al, byte [ebx - 0x2c]
mov byte [esi + 1], al
mov eax, dword [ebx - 0x4c]
mov dword [esp + 0x40], eax
mov eax, dword [ebx + 8]
add eax, dword [ebx + 4]
mov dword [esp + 0x3c], esi
mov dword [esp + 0x44], eax
jmp case.0xa64d85.10
mov dword [esp + 0x3c], 1
jmp case.0xa64d85.10
mov dword [esp + 0x3c], 3
jmp case.0xa64d85.10
push dword [ebx + 4]
mov edx, 0x18
push dword [esi]
push dword [ebx - 0x2c]
push ecx
push 0xac2dac
mov ecx, edi
call fcn.00a3f910
add esp, 0x14
jmp case.0xa64d85.10
push dword [ebx + 4]
mov edx, 0x19
push 0
push 0
push ecx
push 0xac33e4
mov ecx, edi
call fcn.00a3f910
add esp, 0x14
jmp case.0xa64d85.10
mov edx, dword [ebx - 0x2c]
lea eax, [ebx + 4]
push eax
mov ecx, edi
call fcn.00a3e3a0
add esp, 4
jmp case.0xa64d85.10
lea edx, [ebx + 4]
mov ecx, edi
call fcn.00a3ead0
jmp case.0xa64d85.10
mov eax, dword [edi]
mov ecx, edi
mov byte [eax + 0xe2], 0
mov edx, dword [ebx + 4]
call fcn.00a3ed90
jmp case.0xa64d85.10
xor edx, edx
mov ecx, edi
call fcn.00a5de10
jmp case.0xa64d85.10
lea edx, [ebx + 4]
mov ecx, edi
call fcn.00a5de10
jmp case.0xa64d85.10
lea eax, [ebx + 4]
mov ecx, edi
push eax
lea eax, [ebx - 0x1c]
push eax
lea edx, [ebx - 0x2c]
call fcn.00a5dbb0
add esp, 8
jmp case.0xa64d85.10
mov ecx, edi
call fcn.00a5dd30
mov dword [edi + 0x1f4], 0
mov dword [edi + 0x1f8], 0
jmp case.0xa64d85.10
mov ecx, dword [edi + 0x1f4]
test ecx, ecx
jne 0xa67457
mov eax, dword [ebx + 4]
mov dword [edi + 0x1f4], eax
mov eax, dword [ebx + 8]
jmp 0xa6745f
mov eax, dword [ebx + 8]
sub eax, ecx
add eax, dword [ebx + 4]
mov dword [edi + 0x1f8], eax
mov ecx, dword [esp + 0x38]
mov al, byte [ecx*2 + 0xaacc78]
movzx edx, byte [ecx*2 + 0xaacc79]
mov byte [esp + 0x13], al
mov eax, dword [esp + 0x18]
movzx esi, byte [esp + 0x13]
mov ecx, dword [eax]
sub ecx, edx
mov dword [eax], ecx
mov eax, edx
shl eax, 4
sub ebx, eax
movzx eax, word [ebx]
movsx eax, word [eax*2 + 0xaad1e0]
add eax, esi
movzx eax, word [eax*2 + 0xaad8e8]
mov edi, eax
cmp eax, 0x275
jae 0xa674fc
test edx, edx
je 0xa674e1
movq xmm0, qword [esp + 0x3c]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x18]
mov dword [ecx], eax
mov al, byte [esp + 0x13]
mov byte [ebx + 0x12], al
mov eax, dword [esp + 0x44]
movq qword [ebx + 0x14], xmm0
mov word [ebx + 0x10], di
mov dword [ebx + 0x1c], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea ecx, [esp + 0x3c]
mov edx, eax
push ecx
mov ecx, dword [esp + 0x1c]
push esi
call fcn.00a64cb0
add esp, 8
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x18]
mov esi, dword [ebx + 8]
test ecx, ecx
js 0xa67525
shl ecx, 4
lea eax, [ebx + 0x10]
add eax, ecx
push eax
mov dl, byte [ecx + ebx + 0xe]
mov ecx, ebx
call fcn.00a64b00
add esp, 4
add dword [ebx], 0xffffffff
mov ecx, dword [ebx]
jns 0xa67507
pop edi
mov dword [ebx + 8], esi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret