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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x208
movups xmmword [rsp + 0x1f0], xmm6
mov eax, dword [rsp + 0x280]
mov r12, qword [rcx + 0x10]
mov dword [rsp + 0x58], eax
mov rbp, rcx
mov r14, r8
mov word [rsp + 0x78], ax
mov rax, qword [rcx]
mov qword [rsp + 0x258], rdx
mov qword [rsp + 0x268], r9
mov qword [rsp + 0xa0], rax
mov qword [rsp + 0x140], 0
mov qword [rsp + 0x148], 0
mov qword [rsp + 0x150], 0
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], 0
mov qword [rsp + 0x168], 0
mov qword [rsp + 0x170], 0
test r9, r9
je 0x81793e
cmp dword [r9], 0x40
mov eax, 0
cmovl rax, r9
mov qword [rsp + 0x268], rax
mov rax, qword [rsp + 0x258]
mov eax, dword [rax]
mov dword [rsp + 0xac], eax
cmp eax, 0x40
jg 0x81afd0
test byte [rsp + 0x58], 0x20
je 0x817dd0
mov dword [rsp + 0xac], 1
mov edx, 0x440
mov ebx, 0x3d0
mov rdi, qword [rsp + 0xa0]
mov rcx, rdi
call fcn.007ae070
mov r13, rax
movzx eax, byte [rdi + 0x67]
mov byte [rsp + 0xa8], al
test al, al
jne 0x819040
movq xmm0, rbp
lea rdi, [r13 + 0x49]
lea rsi, [r13 + 0x70]
add rbx, r13
movhps xmm0, qword [rsp + 0x258]
mov edx, dword [rsp + 0xac]
mov qword [r13 + 0x28], 0xffffffffffffffff
and rdi, 0xfffffffffffffff8
movups xmmword [r13], xmm0
movq xmm0, qword [rsp + 0x268]
mov byte [r13 + 0x40], dl
movhps xmm0, qword [rsp + 0x270]
movups xmmword [r13 + 0x10], xmm0
mov eax, dword [rbp + 0x44]
sub eax, 1
mov dword [rbp + 0x44], eax
mov dword [r13 + 0x30], eax
mov dword [r13 + 0x34], eax
movzx eax, word [rsp + 0x58]
mov word [r13 + 0x3c], ax
movzx eax, word [rsp + 0x288]
mov word [r13 + 0x3e], ax
movsx eax, word [rbp + 0xe0]
mov dword [r13 + 0x38], eax
mov rax, qword [rsp + 0x278]
mov qword [r13 + 0x41], 0
mov qword [r13 + 0x20], rax
mov eax, r13d
sub eax, edi
mov qword [rsp + 0x90], rsi
lea ecx, [rax + 0x70]
xor eax, eax
mov qword [r13 + 0x68], 0
shr ecx, 3
rep stosq qword [rdi], rax
movsxd rax, edx
lea rcx, [r13 + 0x360]
xor edx, edx
add rax, 1
mov qword [rsp + 0x88], rcx
lea r8, [rax*8]
mov qword [rsp + 0x80], rcx
sub r8, rax
shl r8, 4
call sub.msvcrt.dll_memset
mov qword [rsp + 0x150], rbx
movabs rax, 0xffffff9d00000000
mov qword [r13 + 0x25c], rax
lea rax, [rbx + 0x58]
mov qword [rbx + 0x48], rax
xor eax, eax
mov word [rbx + 0x3c], ax
mov eax, 3
mov word [rbx + 0x40], ax
lea rax, [r13 + 0x98]
mov dword [rbx + 0x38], 0
mov rbx, r14
mov qword [rsp + 0x140], r13
mov qword [rsp + 0x148], rsi
mov qword [r13 + 0x70], r13
mov byte [r13 + 0x81], 0
mov qword [r13 + 0x78], 0
mov dword [r13 + 0x84], 0
mov qword [r13 + 0x88], 8
mov qword [r13 + 0x90], rax
test r14, r14
je 0x817b36
nop word [rax + rax]
mov eax, dword [rbx + 4]
test eax, 0x82000
je 0x817e0b
test eax, 0x80000
je 0x817df0
mov rax, qword [rbx + 0x20]
mov rbx, qword [rax + 8]
test rbx, rbx
jne 0x817b10
mov eax, dword [rsp + 0xac]
mov byte [r13 + 0x80], 0x2c
test eax, eax
je 0x817e3e
nop dword [rax]
mov rax, qword [rsp + 0x258]
mov dword [rsp + 0x48], 0
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x60], r13
lea rbx, [rax + 0x28]
nop
mov rdi, qword [rsp + 0x60]
mov edx, dword [rbx + 0x24]
movsxd rax, dword [rdi + 0x25c]
lea ecx, [rax + 1]
mov dword [rdi + 0x25c], ecx
mov dword [rdi + rax*4 + 0x260], edx
movsxd rax, dword [rsp + 0x48]
mov rdi, qword [rsp + 0x258]
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
test byte [rdi + rax*8 + 0x48], 4
je 0x817da0
mov r13, qword [rbx + 0x38]
test r13, r13
je 0x817da0
mov eax, dword [r13]
test eax, eax
jle 0x817da0
mov rsi, qword [rbx]
xor edi, edi
xor r12d, r12d
movsx edx, word [rsi + 0x36]
mov r9d, edi
cmp r12d, edx
jge 0x819028
movsxd rax, r12d
mov rcx, qword [rsi + 8]
mov r15d, r12d
lea rax, [rax + rax*2]
lea r8, [rax*8]
jmp 0x817c11
add r15d, 1
add r8, 0x18
cmp r15d, edx
je 0x819028
test byte [rcx + r8 + 0x12], 2
je 0x817c00
mov rcx, qword [rbp]
mov edx, 0x48
mov qword [rsp + 0x50], r8
call fcn.007ae070
mov r8, qword [rsp + 0x50]
test rax, rax
mov r14, rax
je 0x817da0
mov eax, 0xffffffff
mov qword [r14 + 0x28], 0
lea r12d, [r15 + 1]
mov qword [r14 + 0x30], 0
mov qword [r14], 0
mov qword [r14 + 0x40], 0
mov qword [r14 + 8], 0
mov qword [r14 + 0x10], 0
mov qword [r14 + 0x18], 0
mov qword [r14 + 0x20], 0
mov qword [r14 + 0x38], 0
mov byte [r14], 0xa7
mov word [r14 + 0x32], ax
mov eax, dword [rbx + 0x24]
mov dword [r14 + 0x28], 1
mov dword [r14 + 0x2c], eax
mov word [r14 + 0x30], r15w
mov qword [r14 + 0x40], rsi
test byte [rsi + 0x30], 0x60
je 0x818fc0
mov rax, qword [rsi + 8]
test byte [rax + r8 + 0x12], 0x60
je 0x818fc0
movzx ecx, word [rsi + 0x36]
mov eax, 1
mov rdx, 0xffffffffffffffff
shl rax, cl
sub rax, 1
cmp cx, 0x40
cmovge rax, rdx
or qword [rbx + 0x30], rax
mov rax, rdi
shl rax, 5
mov r8, qword [r13 + rax + 8]
test r8, r8
je 0x817d0b
mov rcx, qword [rbp]
mov rdx, r8
call fcn.006f4d60
mov r8, rax
mov edx, 0xae
mov rcx, rbp
call fcn.007ddf40
mov r8, r14
mov edx, 0x35
mov rcx, rbp
mov r9, rax
call fcn.007ddde0
xor r11d, r11d
test byte [rbx + 0x1c], 0x18
sete r11b
mov r10, rax
add r11d, 1
test rax, rax
je 0x817d73
mov r15d, dword [rbx + 0x24]
mov r9, rax
or dword [r9 + 4], r11d
cmp byte [r9], 0xac
mov dword [r9 + 0x34], r15d
je 0x818fe0
mov rcx, qword [r9 + 0x10]
mov r8d, r11d
mov edx, r15d
call fcn.007f7860
mov r9, qword [r9 + 0x18]
test r9, r9
jne 0x817d49
mov rcx, qword [rsp + 0x90]
mov r8d, 1
mov rdx, r10
add rdi, 1
call fcn.00850010
cmp dword [r13], edi
jg 0x817bd0
nop word [rax + rax]
mov rdi, qword [rsp + 0x258]
add dword [rsp + 0x48], 1
add rbx, 0x68
mov eax, dword [rsp + 0x48]
cmp dword [rdi], eax
jg 0x817b70
mov r12, qword [rsp + 0x68]
mov r13, qword [rsp + 0x60]
jmp 0x817e76
lea ebx, [rax - 1]
imul ebx, ebx, 0x70
add ebx, 0x3d0
movsxd rbx, ebx
lea rdx, [rbx + 0x70]
jmp 0x817978
mov rbx, qword [rbx + 0x10]
test rbx, rbx
je 0x817b36
mov eax, dword [rbx + 4]
test eax, 0x82000
jne 0x817b1e
mov byte [r13 + 0x80], 0x2c
cmp byte [rbx], 0x2c
je 0x81abe8
mov rcx, qword [rsp + 0x90]
xor r8d, r8d
mov rdx, r14
call fcn.00850010
mov eax, dword [rsp + 0xac]
test eax, eax
jne 0x817b50
cmp qword [rsp + 0x268], 0
je 0x817e57
mov rax, qword [rsp + 0x268]
mov eax, dword [rax]
mov byte [r13 + 0x41], al
test dword [rsp + 0x58], 0x100
jne 0x819080
lea r8, str.SCAN_CONSTANT_ROW
xor edx, edx
mov rcx, rbp
call fcn.00810400
mov ebx, dword [r13 + 0x84]
sub ebx, 1
js 0x817eae
mov rsi, qword [rsp + 0x258]
mov rdi, qword [rsp + 0x90]
nop word [rax + rax]
mov r8d, ebx
mov rdx, rdi
mov rcx, rsi
sub ebx, 1
call fcn.006f19f0
cmp ebx, 0xffffffff
jne 0x817e98
cmp qword [rsp + 0x278], 0
je 0x817ed8
mov rax, qword [rsp + 0x278]
cmp qword [rax + 0x60], 0
je 0x817ed8
mov rcx, qword [rsp + 0x90]
mov rdx, rax
call fcn.00817760
mov r11d, dword [rbp + 0x30]
test r11d, r11d
jne 0x81800d
lea rdx, [0x007f7840]
lea rax, [0x006f62c0]
mov edi, dword [rsp + 0xac]
xor ebx, ebx
mov rcx, qword [rsp + 0x148]
movq xmm6, rax
movq xmm5, rdx
punpcklqdq xmm6, xmm5
mov r8d, dword [rcx + 0x1c]
test r8d, r8d
jg 0x817f68
jmp 0x818050
test byte [r14 + 4], 2
je 0x817f35
mov rax, qword [rsp + 0x258]
test byte [rax + 0x44], 0x40
jne 0x817f4f
mov r8d, dword [r13 + 0x34]
mov r9d, 0x10
mov rdx, r14
mov rcx, rbp
call fcn.007b8b90
or word [rsi + 0x12], 4
mov rcx, qword [rsp + 0x148]
mov r8d, dword [rcx + 0x1c]
add rbx, 1
cmp r8d, ebx
jle 0x818050
mov rdx, qword [rcx + 0x20]
lea rax, [rbx*8]
sub rax, rbx
lea rsi, [rdx + rax*8]
test byte [rsi + 0x12], 2
jne 0x817f5b
cmp qword [rsi + 0x30], 0
jne 0x817f5b
mov r14, qword [rsi]
test edi, edi
je 0x817f20
mov r10d, 1
mov qword [rsp + 0x1a0], 0
lea rcx, [rsp + 0x180]
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x1a8], 0
mov word [rsp + 0x1a4], r10w
movups xmmword [rsp + 0x188], xmm6
test r14, r14
je 0x817f20
mov rdx, r14
call fcn.008173a0
cmp word [rsp + 0x1a4], 0
je 0x817f4f
jmp 0x817f20
mov r13, qword [rsp + 0x50]
mov eax, dword [r13 + 0x38]
mov rcx, qword [rsp + 0xa0]
mov rdx, r13
xor r13d, r13d
mov word [rbp + 0xe0], ax
call fcn.00850580
nop
movups xmm6, xmmword [rsp + 0x1f0]
mov rax, r13
add rsp, 0x208
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test dword [rsp + 0x58], 0x100
je 0x818080
mov rax, qword [rsp + 0xa0]
test byte [rax + 0x60], 0x10
je 0x8190d8
movzx eax, word [rsp + 0x58]
and word [r13 + 0x3c], 0xfeff
and ah, 0xfe
mov word [rsp + 0x78], ax
cmp dword [rsp + 0xac], 1
je 0x81aa60
lea r14, [rsp + 0x140]
mov rcx, r14
call fcn.00851000
test eax, eax
jne 0x81800d
test byte [rsp + 0x16d], 4
je 0x8181b9
mov r15, qword [r13 + 0x58]
mov rbx, qword [rsp + 0xa0]
test r15, r15
je 0x8181a9
nop dword [rax]
mov rax, qword [r15 + 0x50]
mov rdx, qword [r15 + 0x48]
lea rsi, [r15 + 0x58]
mov qword [r13 + 0x58], rax
cmp rdx, rsi
je 0x8180fc
mov rcx, rbx
call fcn.007adee0
mov r10d, 3
mov qword [r15 + 0x48], rsi
mov word [r15 + 0x40], r10w
mov eax, dword [r15 + 0x38]
test ah, 0x44
je 0x818150
test ah, 4
je 0x818115
test byte [r15 + 0x1c], 1
jne 0x81ad10
test ah, 0x40
je 0x818150
mov rdx, qword [r15 + 0x20]
test rdx, rdx
je 0x818150
mov r8, qword [rdx + 0x20]
test r8, r8
je 0x81813b
mov rdx, r8
mov rcx, rbx
call fcn.007adee0
mov rdx, qword [r15 + 0x20]
mov rcx, rbx
call fcn.007adee0
mov qword [r15 + 0x20], 0
nop dword [rax + rax]
xor r9d, r9d
mov dword [r15 + 0x38], 0
mov word [r15 + 0x3c], r9w
cmp qword [rbx + 0x1f0], r15
jbe 0x818183
cmp qword [rbx + 0x1e0], r15
jbe 0x818fa8
cmp qword [rbx + 0x1e8], r15
jbe 0x819068
cmp qword [rbx + 0x308], 0
je 0x818f98
mov rdx, r15
mov rcx, rbx
call fcn.007595e0
mov r15, qword [r13 + 0x58]
test r15, r15
jne 0x8180d0
mov rcx, r14
call fcn.00851000
test eax, eax
jne 0x81800d
xor edx, edx
mov rcx, r13
call fcn.00858010
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0x67], 0
jne 0x81800d
cmp qword [r13 + 0x10], 0
je 0x8190a0
movzx eax, word [r13 + 0x48]
mov rcx, r13
lea edx, [rax + 1]
movsx edx, dx
call fcn.00858010
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0x67], 0
jne 0x81800d
mov rax, qword [r13 + 0x10]
test byte [r13 + 0x3d], 1
je 0x818216
sub word [r13 + 0x48], 0x1e
test rax, rax
je 0x8190ad
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0x70], eax
test eax, eax
jne 0x81800d
movzx eax, byte [r13 + 0x40]
cmp al, 1
jbe 0x81ad30
cmp qword [rsp + 0x270], 0
je 0x81ad30
mov rax, qword [rsp + 0xa0]
test word [rsp + 0x78], 0x400
mov qword [rsp + 0x68], 0xffffffffffffffff
mov eax, dword [rax + 0x60]
jne 0x818270
test ah, 1
je 0x81c1ea
test eax, 0x80000
je 0x81bf99
mov rax, qword [r13]
movzx edi, word [rsp + 0x78]
movzx edx, word [r13 + 0x48]
add word [rax + 0xe0], dx
mov eax, edi
mov dword [rsp + 0xd4], edi
test al, 4
je 0x8182d0
mov rdx, qword [r13 + 0x3c0]
mov eax, dword [rdx + 0x38]
test ah, 0x10
je 0x81b5d8
mov rdi, qword [rsp + 0x258]
mov r8d, 1
mov rcx, qword [rdi + 0x28]
mov byte [r13 + 0x42], r8b
test byte [rcx + 0x30], 0x80
je 0x81c0bd
mov eax, dword [rsp + 0xac]
test eax, eax
jle 0x81c691
lea edx, [rax - 1]
movzx edi, word [rsp + 0x78]
mov qword [rsp + 0x50], r12
mov r11, r13
lea rax, [rdx*8]
mov rsi, qword [rsp + 0x80]
sub rax, rdx
and edi, 0x20
shl rax, 4
mov word [rsp + 0x60], di
lea rax, [r13 + rax + 0x3d0]
mov r13, qword [rsp + 0x258]
mov qword [rsp + 0x48], rax
movzx eax, byte [rsp + 0xa8]
mov word [rsp + 0xa8], ax
nop dword [rax + rax]
movzx ebx, byte [rsi + 0x40]
lea rax, [rbx + rbx*2]
mov r14, rbx
lea rax, [rbx + rax*4]
mov rdi, qword [r13 + rax*8 + 0x28]
mov rdx, qword [rdi + 0x60]
test rdx, rdx
je 0x81c9b0
mov rax, qword [rsp + 0xa0]
mov rax, qword [rax + 0x20]
cmp rdx, qword [rax + 0x18]
je 0x81a870
add rax, 0x38
xor r12d, r12d
nop word cs:[rax + rax]
add rax, 0x20
add r12d, 1
cmp rdx, qword [rax - 0x20]
jne 0x818380
mov r15, qword [rsi + 0x60]
mov eax, dword [r15 + 0x38]
test byte [rdi + 0x31], 0x40
jne 0x818480
movzx edx, byte [rdi + 0x3f]
cmp dl, 2
je 0x818480
test ah, 4
jne 0x81a9c8
cmp dl, 1
je 0x818480
test al, 0x40
jne 0x8183cb
cmp word [rsp + 0x60], 0
je 0x8183df
lea rax, [rbx + rbx*2]
lea rax, [rbx + rax*4]
test byte [r13 + rax*8 + 0x44], 0x50
je 0x81b068
lea rax, [rbx + rbx*2]
cmp byte [r11 + 0x42], 0
lea rax, [rbx + rax*4]
mov edx, dword [r13 + rax*8 + 0x4c]
mov eax, 0x70
je 0x818401
mov dword [r11 + 0x28], edx
mov eax, 0x71
mov dword [rsp + 0x20], eax
mov r9, rdi
mov r8d, r12d
mov rcx, rbp
mov qword [rsp + 0x58], r11
call fcn.007dd4b0
mov r11, qword [rsp + 0x58]
mov eax, dword [r15 + 0x38]
cmp byte [r11 + 0x42], 0
jne 0x818450
cmp word [rdi + 0x36], 0x3f
jg 0x818450
mov edx, dword [rdi + 0x30]
mov ecx, eax
and ecx, 0x404000
and edx, 0xe0
or edx, ecx
je 0x81c23a
nop dword [rax + rax]
mov rcx, qword [rsp + 0x50]
movsxd rdx, dword [rcx + 0x90]
test edx, edx
jle 0x818480
mov r8, qword [rcx + 0x88]
lea rdx, [rdx + rdx*2]
movzx ecx, word [rsp + 0xa8]
lea rdx, [r8 + rdx*8]
mov word [rdx - 0x16], cx
nop dword [rax + rax]
test ah, 2
je 0x818538
mov r10, qword [r15 + 0x20]
test byte [rdi + 0x30], 0x80
je 0x8184a3
movzx eax, byte [r10 + 0x64]
and eax, 3
cmp al, 2
je 0x81aa40
cmp byte [r11 + 0x42], 0
jne 0x81a6b0
mov eax, dword [rsp + 0x288]
test eax, eax
je 0x819e60
cmp word [rsp + 0x60], 0
je 0x819e60
mov eax, dword [rsp + 0x288]
mov edx, 0x65
mov dword [rsi + 8], eax
mov r14d, eax
nop dword [rax + rax]
mov r9d, dword [r10 + 0x58]
mov r8d, r14d
mov dword [rsp + 0x20], r12d
mov r14, qword [rsp + 0x50]
mov qword [rsp + 0x78], r11
mov qword [rsp + 0x58], r10
mov rcx, r14
call fcn.007ff320
mov r10, qword [rsp + 0x58]
mov rcx, rbp
mov rdx, r10
call fcn.00815460
mov eax, dword [r15 + 0x38]
mov r11, qword [rsp + 0x78]
test al, 0xf
je 0x818538
test eax, 0x188002
jne 0x818538
test byte [r11 + 0x3c], 1
je 0x81c070
nop word [rax + rax]
test r12d, r12d
jns 0x819b30
lea rax, [rbx + rbx*2]
lea rax, [rbx + rax*4]
test byte [r13 + rax*8 + 0x44], 0x10
jne 0x819c90
add rsi, 0x70
cmp rsi, qword [rsp + 0x48]
jne 0x818338
mov r12, qword [rsp + 0x50]
mov r13, r11
mov eax, dword [r12 + 0x90]
mov dword [r11 + 0x4c], eax
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0x67], 0
jne 0x81800d
mov r14, qword [rsp + 0x88]
mov qword [rsp + 0x50], r13
mov r13, r14
nop word [rax + rax]
mov eax, dword [rbp + 0x30]
mov dword [rsp + 0xb4], eax
test eax, eax
jne 0x818008
mov rax, qword [r13 + 0x60]
mov rdi, qword [rsp + 0x258]
mov esi, dword [rax + 0x38]
movzx eax, byte [r13 + 0x40]
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
lea rdi, [rdi + rax*8]
movzx eax, byte [rdi + 0x48]
test al, 0x10
je 0x8185f7
test al, 8
je 0x819dc0
mov r9d, dword [rdi + 0x38]
mov r8d, dword [rdi + 0x3c]
mov edx, 0xa
mov rcx, r12
call fcn.007ff390
test esi, 0x404000
je 0x818635
and esi, 0x4000
je 0x819e20
mov r8, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x90]
mov r9, r13
mov rcx, rbp
call fcn.006eb1f0
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0x67], 0
jne 0x818008
mov rax, qword [rbp + 0xb0]
test rax, rax
cmove rax, rbp
cmp byte [rax + 0x133], 2
jne 0x818667
mov r9d, dword [rsp + 0xd4]
mov rdx, qword [rsp + 0x258]
mov r8, r13
mov rcx, rbp
call fcn.0081e120
mov eax, dword [r12 + 0x90]
movzx esi, byte [r13 + 0x40]
mov rdi, qword [rsp + 0x50]
mov rbx, qword [r13 + 0x60]
mov dword [r13 + 0x20], eax
mov rax, qword [rbp]
mov r14, rsi
mov rcx, qword [rdi + 8]
mov qword [rsp + 0x58], rsi
mov qword [rsp + 0x48], rax
lea rax, [rsi + rsi*2]
lea rax, [rsi + rax*4]
mov qword [rsp + 0x60], rcx
mov r8d, dword [rcx + rax*8 + 0x4c]
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0xa8], r8d
and rax, 0xfffffffffffffffe
cmp r8d, dword [rdi + 0x260]
je 0x81870a
mov eax, dword [rdi + 0x25c]
mov r9, rdi
cmp eax, 1
jle 0x819b20
lea edx, [rax - 2]
mov eax, 1
add rdx, 2
jmp 0x8186f5
add rax, 1
cmp rdx, rax
je 0x819b20
mov ecx, eax
cmp r8d, dword [r9 + rax*4 + 0x260]
jne 0x8186e8
mov rax, qword [rsp + 0x68]
btr rax, rcx
mov qword [r13 + 0x68], rax
mov rax, qword [rsp + 0x50]
mov rdi, qword [rax + 0x68]
mov eax, dword [rbp + 0x44]
lea esi, [rax - 1]
mov dword [rbp + 0x44], esi
mov dword [r13 + 0x10], esi
mov dword [r13 + 0xc], esi
mov eax, dword [rbp + 0x44]
sub eax, 1
mov dword [rbp + 0x44], eax
cmp byte [r13 + 0x40], 0
mov dword [rsp + 0xb0], eax
mov dword [r13 + 0x18], eax
je 0x818760
mov rcx, qword [rsp + 0x58]
lea rax, [rcx + rcx*2]
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x60]
test byte [rcx + rax*8 + 0x44], 8
jne 0x81a4c8
mov edx, dword [rsp + 0x70]
test edx, edx
je 0x81b140
lea rax, [r13 - 0x360]
jmp 0x81878b
cmp qword [rax + 0x398], 0
jne 0x818795
sub rax, 0x70
sub edx, 1
je 0x818795
mov ecx, dword [rax + 0x360]
test ecx, ecx
je 0x818778
mov rcx, qword [rsp + 0x58]
lea rax, [rcx + rcx*2]
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x60]
lea rax, [rcx + rax*8]
movzx r8d, byte [rax + 0x48]
mov ecx, r8d
and ecx, 0x20
mov byte [rsp + 0x80], cl
jne 0x819c48
movzx ecx, byte [rsp + 0x70]
shr rdi, cl
mov eax, edi
and eax, 1
mov dword [rsp + 0x78], eax
mov eax, dword [rbx + 0x38]
test ah, 4
jne 0x819ec0
test ah, 1
je 0x8187ed
test al, 5
jne 0x81ac20
movsxd rdx, edx
mov rdi, qword [rsp + 0x50]
lea rcx, [rdx*8]
sub rcx, rdx
mov rdx, rcx
shl rdx, 4
mov r9d, dword [rdi + rdx + 0x36c]
mov edx, eax
and edx, 0x102
cmp edx, 0x102
je 0x81a530
test ah, 2
je 0x81a598
movzx ecx, word [rbx + 0x1c]
movzx edi, word [rbx + 0x18]
movzx esi, word [rbx + 0x1a]
mov r15, qword [rbx + 0x20]
mov word [rsp + 0xf0], cx
movzx ecx, di
mov r14d, dword [r13 + 8]
mov word [rsp + 0x108], si
mov dword [rsp + 0x98], ecx
test al, 0x20
je 0x81adc8
mov r8, qword [rbx + 0x48]
lea edx, [rcx + 1]
movzx ecx, di
mov r10, qword [r8 + rcx*8]
test al, 0x10
je 0x81ada8
mov rcx, qword [rbx + 0x48]
movsxd rdx, edx
mov rcx, qword [rcx + rdx*8]
movzx edx, word [rsp + 0xf0]
cmp esi, edx
mov qword [rsp + 0xc0], rcx
cmovl esi, edx
test byte [rcx + 0x13], 1
jne 0x81c490
mov byte [rsp + 0xe8], 0
test r10, r10
je 0x81c55d
mov dword [rsp + 0x88], 0
and eax, 0x80030
cmp eax, 0x80000
je 0x81af90
cmp di, word [r15 + 0x60]
jae 0x818940
mov rdx, qword [r15 + 0x38]
movzx eax, di
cmp byte [rdx + rax], 0
sete al
movzx eax, al
cmp dword [rsp + 0x78], eax
jne 0x818940
movzx edx, byte [rsp + 0xe8]
movzx eax, byte [rsp + 0x108]
mov byte [rsp + 0xe8], 0
movzx ecx, word [rsp + 0xf0]
mov byte [rsp + 0x80], dl
mov rdx, r10
mov r10, qword [rsp + 0xc0]
mov word [rsp + 0x108], cx
mov qword [rsp + 0xc0], rdx
mov word [rsp + 0xf0], ax
nop word cs:[rax + rax]
mov eax, dword [rsp + 0x70]
test eax, eax
je 0x818952
test byte [rbx + 0x3a], 0x10
jne 0x81bf0d
mov r8d, dword [rsp + 0x78]
mov r9d, esi
mov rdx, r13
mov rcx, rbp
lea rax, [rsp + 0x180]
mov qword [rsp + 0xc8], r10
mov qword [rsp + 0x20], rax
call fcn.006e67e0
mov r10, qword [rsp + 0xc8]
mov dword [rsp + 0xb8], eax
mov rax, qword [rsp + 0x180]
test rax, rax
je 0x8189a5
cmp word [rsp + 0xf0], 0
jne 0x81b630
mov qword [rsp + 0xd8], 0
mov r11d, dword [rsp + 0x88]
test r11d, r11d
je 0x81add8
mov eax, dword [r13 + 0x28]
mov dword [rsp + 0xd0], eax
test di, di
setne al
test r10, r10
setne byte [rsp + 0xc8]
movzx esi, byte [rsp + 0xc8]
je 0x81b098
xor ecx, ecx
test byte [r10 + 0x14], 0x28
setne cl
mov dword [rsp + 0xe0], ecx
mov rcx, qword [rsp + 0xc0]
test rcx, rcx
je 0x81bd60
or eax, esi
movzx eax, al
mov dword [rsp + 0xf4], eax
xor eax, eax
test byte [rcx + 0x14], 0x28
setne al
mov dword [rsp + 0xf8], eax
mov rax, qword [r10]
mov r8d, dword [rsp + 0x98]
mov rcx, rbp
mov qword [rsp + 0x100], r10
movzx r11d, word [rsp + 0x108]
add r8d, dword [rsp + 0xb8]
mov rsi, qword [rax + 0x18]
mov dword [rsp + 0xc8], r8d
mov r9d, r11d
mov dword [rsp + 0xe8], r11d
mov rdx, rsi
call fcn.006e8360
mov r10, qword [rsp + 0x100]
mov r8d, dword [rsp + 0xc8]
mov r11d, dword [rsp + 0xe8]
movzx eax, word [r10 + 0x12]
test ah, 1
je 0x818abc
mov rdx, qword [r12]
lea rcx, [0x00868dc0]
cmp byte [rdx + 0x67], 0
je 0x81c0ed
mov edx, dword [r13 + 0x2c]
mov r9d, edx
and edx, 1
shr r9d, 1
mov word [rcx + 2], dx
mov dword [rcx + 0xc], r9d
test al, 0x80
je 0x81bfd8
mov rax, qword [rsp + 0x180]
test rax, rax
je 0x818b03
movzx r8d, di
mov edx, r11d
mov rcx, rsi
mov qword [rsp + 0xe8], r10
add r8, rax
mov dword [rsp + 0xc8], r11d
call fcn.00846740
mov r10, qword [rsp + 0xe8]
mov r11d, dword [rsp + 0xc8]
mov eax, dword [rsp + 0x98]
lea edi, [rax + r11]
movzx eax, byte [rsi]
cmp al, 0xb0
jne 0x818b19
movzx eax, byte [rsi + 2]
cmp al, 0xb1
je 0x81c65e
cmp al, 0x8a
je 0x81c5ad
mov r8, r10
lea rdx, [r13 + 0x68]
mov rcx, r13
call fcn.006f0240
mov byte [rsp + 0xc8], 1
mov r8d, edi
mov dword [rsp + 0x108], 0
mov rcx, qword [rbp + 0x10]
mov r9, qword [rsp + 0x180]
mov edx, dword [rsp + 0xb8]
call fcn.006e6e30
movzx eax, word [rbx + 0x3e]
test ax, ax
je 0x818b77
cmp edi, eax
je 0x81c43c
mov r10d, dword [rsp + 0xf4]
mov r9d, dword [rsp + 0x88]
shl r10d, 2
test r9d, r9d
jne 0x81b1a6
mov r8d, dword [r13 + 0x34]
test r8d, r8d
jne 0x81b240
mov eax, dword [rsp + 0xe0]
lea rsi, [0x00969d70]
lea eax, [r10 + rax*2]
add eax, dword [rsp + 0x78]
cdqe
movzx r10d, byte [rsi + rax]
test byte [rbx + 0x3a], 0x10
je 0x818bce
cmp r10d, 0x17
je 0x81c6cf
mov eax, dword [rsp + 0xb8]
mov edx, r10d
mov r8d, r14d
mov rcx, r12
mov dword [rsp + 0x28], edi
mov r9d, dword [rsp + 0xd0]
mov dword [rsp + 0x20], eax
call fcn.007ff410
mov edx, dword [rsp + 0x88]
mov dword [rsp + 0xe8], 0
test edx, edx
jne 0x81b1e0
mov rax, qword [rsp + 0xc0]
test rax, rax
je 0x81ae70
mov rax, qword [rax]
movzx esi, word [rsp + 0xf0]
mov ecx, dword [rsp + 0x98]
add ecx, dword [rsp + 0xb8]
mov rdi, qword [rax + 0x18]
mov dword [rsp + 0x80], ecx
mov r8d, ecx
mov r9d, esi
mov rcx, rbp
mov rdx, rdi
call fcn.006e8360
mov rax, qword [rsp + 0xc0]
movzx eax, word [rax + 0x12]
test ah, 1
je 0x818c8e
mov rdx, qword [r12]
lea rcx, [0x00868dc0]
cmp byte [rdx + 0x67], 0
je 0x81c110
mov edx, dword [r13 + 0x2c]
mov r8d, edx
and edx, 1
shr r8d, 1
mov word [rcx + 2], dx
mov dword [rcx + 0xc], r8d
test al, 0x80
je 0x81bfa6
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x818ccb
mov r8, rax
mov edx, esi
mov rcx, rdi
call fcn.00846740
mov rcx, qword [rbp + 0x10]
mov r9, qword [rsp + 0xd8]
mov r8d, esi
mov edx, dword [rsp + 0x80]
call fcn.006e6e30
movzx eax, byte [rdi]
add esi, dword [rsp + 0x98]
cmp al, 0xb0
jne 0x818cdd
movzx eax, byte [rdi + 2]
cmp al, 0xb1
je 0x81c656
cmp al, 0x8a
je 0x81c5e6
mov r8, qword [rsp + 0xc0]
lea rdx, [r13 + 0x68]
mov rcx, r13
call fcn.006f0240
mov rdx, qword [rsp + 0x180]
test rdx, rdx
je 0x818d18
mov rcx, qword [rsp + 0x48]
call fcn.007ae1d0
mov rax, qword [rsp + 0xd8]
test rax, rax
je 0x818d32
mov rcx, qword [rsp + 0x48]
mov rdx, rax
call fcn.007ae1d0
mov r9d, dword [r12 + 0x90]
mov dword [r13 + 0x48], r9d
test esi, esi
je 0x819331
mov eax, dword [rsp + 0x78]
mov r10d, dword [rsp + 0xf8]
lea r11d, [rax + rax]
mov eax, dword [rsp + 0x88]
add r10d, r11d
test eax, eax
jne 0x8192a6
movsxd rax, r10d
lea rdi, [0x00966790]
mov r8d, r14d
mov rcx, r12
movzx edx, byte [rdi + rax]
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x28], esi
mov r9d, dword [rsp + 0xd0]
mov dword [rsp + 0x20], eax
call fcn.007ff410
mov r10d, dword [rsp + 0xe8]
test r10d, r10d
jne 0x819311
nop dword [rax]
mov eax, dword [rbx + 0x38]
test eax, 0x40000
jne 0x81aff0
test al, 0x40
je 0x81a890
mov rax, qword [rsp + 0x50]
test word [rax + 0x3c], 0x1020
jne 0x81a890
mov esi, 1
mov edi, dword [r13]
test edi, edi
jne 0x818e01
mov rcx, qword [r15 + 0x48]
test rcx, rcx
je 0x818e01
mov r8, qword [rsp + 0x90]
mov edx, dword [rsp + 0xa8]
call fcn.0084fef0
mov eax, dword [rbx + 0x38]
test ah, 0x10
je 0x81ad90
mov byte [r13 + 0x41], 0xb9
mov edx, eax
mov dword [r13 + 0x44], r14d
shr edx, 0x10
and edx, 1
mov byte [r13 + 0x42], dl
test al, 0xf
jne 0x818e2b
mov byte [r13 + 0x43], 1
test esi, esi
mov eax, 0
cmovne r15, rax
cmp esi, 1
sbb edi, edi
add edi, 2
nop
mov rax, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x50]
mov dword [rsp + 0x48], edi
mov rdi, r12
mov qword [rsp + 0x88], r15
mov r12, rbp
mov ebp, dword [rsp + 0xb0]
lea rax, [rax + rax*2]
shl rax, 2
mov qword [rsp + 0x98], rax
nop dword [rax + rax]
mov eax, dword [rsi + 0x84]
mov rbx, qword [rsi + 0x90]
test eax, eax
jle 0x819618
sub eax, 1
xor r15d, r15d
add rax, 1
lea rdx, [rax*8]
sub rdx, rax
lea rax, [rbx + rdx*8]
mov qword [rsp + 0x78], rax
mov rax, rbx
mov rbx, rdi
mov rdi, rax
nop dword [rax]
movzx edx, word [rdi + 0x12]
test dl, 6
jne 0x818f70
mov r8, qword [r13 + 0x68]
test qword [rdi + 0x30], r8
jne 0x819550
mov rcx, qword [rsp + 0x60]
mov rax, qword [rsp + 0x98]
add rax, qword [rsp + 0x58]
mov r11, qword [rdi]
movzx ecx, byte [rcx + rax*8 + 0x44]
test cl, 0x58
je 0x819400
mov eax, dword [r11 + 4]
test al, 3
je 0x818f70
and ecx, 8
je 0x818f07
test al, 1
je 0x818f70
mov r14d, dword [r11 + 0x34]
cmp r14d, dword [rsi + 0x260]
je 0x819608
mov eax, dword [rsi + 0x25c]
cmp eax, 1
jle 0x8193b8
lea r9d, [rax - 2]
mov eax, 1
add r9, 2
jmp 0x818f4d
add rax, 1
cmp r9, rax
je 0x8193b8
mov ecx, eax
cmp r14d, dword [rsi + rax*4 + 0x260]
jne 0x818f40
mov eax, 1
shl rax, cl
test r8, rax
je 0x8193b8
nop word [rax + rax]
add rdi, 0x38
cmp qword [rsp + 0x78], rdi
jne 0x818eb8
mov rdi, rbx
test r15d, r15d
je 0x819e40
mov dword [rsp + 0x48], r15d
jmp 0x818e78
mov rcx, r15
call fcn.0082d7e0
jmp 0x81819c
mov rax, qword [rbx + 0x1d8]
mov qword [r15], rax
mov qword [rbx + 0x1d8], r15
jmp 0x81819c
cmp r15d, 0x3f
mov ecx, 0x3f
mov eax, 1
cmovle ecx, r15d
shl rax, cl
jmp 0x817ce7
mov rax, qword [r9 + 0x20]
test rax, rax
je 0x817d5b
mov r14d, dword [rax]
test r14d, r14d
jle 0x817d5b
xor r14d, r14d
movsxd rcx, r14d
mov r8d, r11d
mov edx, r15d
add r14d, 1
shl rcx, 5
mov rcx, qword [rax + rcx + 8]
call fcn.007f7860
mov rax, qword [r9 + 0x20]
cmp r14d, dword [rax]
jl 0x818ffc
jmp 0x817d5b
mov r8, qword [rsi]
lea rdx, str.too_many_arguments_on__s_____max__d
mov rcx, rbp
call fcn.007b2d40
jmp 0x817da0
test r13, r13
je 0x81802c
mov rcx, qword [rsp + 0xa0]
mov rdx, r13
xor r13d, r13d
call fcn.007adee0
jmp 0x81802c
mov rax, qword [rbx + 0x1c8]
mov qword [r15], rax
mov qword [rbx + 0x1c8], r15
jmp 0x81819c
mov rax, qword [rsp + 0xa0]
test byte [rax + 0x60], 0x10
jne 0x817e65
mov byte [r13 + 0x43], 1
jmp 0x817e65
test byte [r13 + 0x3d], 1
je 0x8190ad
sub word [r13 + 0x48], 0x1e
mov rax, qword [rsp + 0xa0]
test byte [rax + 0x31], 0x10
je 0x81821f
mov rcx, qword [r13 + 8]
lea rdx, [r13 + 0x68]
call fcn.00858f90
jmp 0x81821f
mov rax, qword [rsp + 0x258]
cmp dword [rax], 1
jne 0x81927f
mov r14d, dword [rax + 0x4c]
mov r9, qword [rax + 0x28]
mov rax, qword [rsp + 0x270]
mov eax, dword [rax]
test eax, eax
jle 0x819169
mov rdi, qword [rsp + 0x270]
sub eax, 1
shl rax, 5
lea rcx, [rdi + 8]
lea r8, [rdi + rax + 0x28]
nop word [rax + rax]
mov rax, qword [rcx]
test rax, rax
je 0x819160
nop dword [rax + rax]
mov edx, dword [rax + 4]
test edx, 0x82000
je 0x81c2a4
and edx, 0x80000
je 0x81c288
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
test rax, rax
jne 0x819130
nop dword [rax + rax]
add rcx, 0x20
cmp r8, rcx
jne 0x819120
mov rsi, qword [r9 + 0x10]
test rsi, rsi
je 0x81927f
mov qword [rsp + 0x250], rbp
mov rbp, qword [rsp + 0x270]
mov qword [rsp + 0x48], r12
mov qword [rsp + 0x50], r13
jmp 0x8191a5
mov rsi, qword [rsi + 0x28]
test rsi, rsi
je 0x81926d
cmp byte [rsi + 0x62], 0
je 0x819198
cmp qword [rsi + 0x48], 0
jne 0x819198
cmp word [rsi + 0x5e], 0
je 0x819251
xor edi, edi
lea rbx, [rsp + 0x180]
nop word [rax + rax]
mov qword [rsp + 0x28], rsi
mov r9d, edi
mov r8d, r14d
mov rcx, rbx
mov dword [rsp + 0x20], 2
mov rdx, qword [rsp + 0x90]
mov r13d, edi
mov r12d, edi
call fcn.00859010
test rax, rax
je 0x81c2e0
xor r15d, r15d
nop dword [rax]
cmp qword [rax + 0x28], 0
jne 0x81921c
test byte [rax + 0x14], 2
jne 0x819232
test r15, r15
cmove r15, rax
mov rcx, rbx
call fcn.00859130
test rax, rax
jne 0x819208
test r15, r15
je 0x81c2e0
movzx eax, word [rsi + 0x5e]
add rdi, 1
lea r12d, [r13 + 1]
cmp eax, edi
jg 0x8191d0
nop word [rax + rax]
cmp r12d, eax
jne 0x819198
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x250]
mov byte [r13 + 0x43], 1
jmp 0x818080
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0x50]
mov rbp, qword [rsp + 0x250]
cmp qword [rsp + 0x268], 0
jne 0x818080
mov rax, qword [rsp + 0x270]
or word [r13 + 0x3c], 0x80
mov qword [r13 + 0x10], rax
jmp 0x818080
mov r8d, dword [rsp + 0x88]
add r9d, 3
mov edx, 0x11
mov rcx, r12
mov dword [rsp + 0x48], r11d
lea rdi, [0x00966790]
mov dword [rsp + 0x80], r10d
call fcn.007ff390
mov dword [rsp + 0x28], esi
mov r8d, r14d
mov rcx, r12
movsxd rax, dword [rsp + 0x80]
mov r9d, dword [rsp + 0xd0]
movzx edx, byte [rdi + rax]
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x20], eax
call fcn.007ff410
mov eax, dword [rsp + 0xe8]
mov r11d, dword [rsp + 0x48]
test eax, eax
je 0x81934f
mov rcx, qword [r12]
mov edx, dword [r12 + 0x90]
lea rax, [0x00868dc0]
cmp byte [rcx + 0x67], 0
je 0x81c159
mov dword [rax + 8], edx
mov eax, dword [rsp + 0x88]
test eax, eax
je 0x818db0
mov eax, dword [rsp + 0x78]
lea rdi, [0x00966790]
lea r11d, [rax + rax]
mov r9d, dword [r12 + 0x90]
mov r8d, dword [rsp + 0x88]
mov rcx, r12
mov edx, 0x10
mov dword [rsp + 0x48], r11d
add r9d, 2
call fcn.007ff390
mov ecx, dword [rsp + 0x108]
mov r11d, dword [rsp + 0x48]
mov r8d, r14d
mov r9d, dword [rsp + 0xd0]
lea eax, [rcx + r11]
add esi, ecx
mov rcx, r12
cdqe
mov dword [rsp + 0x28], esi
movzx edx, byte [rdi + rax]
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x20], eax
call fcn.007ff410
jmp 0x818db0
cmp dword [rsp + 0x48], 1
je 0x819560
cmp dword [rsp + 0x48], 3
jne 0x819486
and dh, 2
je 0x8193df
mov edx, dword [r13 + 0x2c]
test edx, edx
jne 0x8194a0
mov r9d, 0x10
mov r8d, ebp
mov rdx, r11
mov rcx, r12
call fcn.007b8b90
or word [rdi + 0x12], 4
jmp 0x818f70
cmp dword [rsp + 0x48], 1
jne 0x8193c3
mov eax, dword [r13 + 4]
lea rcx, [rsp + 0x180]
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x190], 0
mov dword [rsp + 0x138], eax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x130], rax
lea rax, [0x006f51e0]
mov qword [rsp + 0x188], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0x1a8], rax
test r11, r11
jne 0x8195d2
movzx edx, word [rdi + 0x12]
test dh, 0x10
je 0x8193ce
test r15d, r15d
mov eax, 3
cmove r15d, eax
jmp 0x818f70
mov r8d, edx
and edx, 1
movsxd r14, dword [rbx + 0x90]
shr r8d, 1
add edx, 0x10
cmp r14d, dword [rbx + 0x94]
jge 0x8199e0
lea eax, [r14 + 1]
mov dword [rbx + 0x90], eax
movsxd rax, r14d
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
lea rax, [rax + rcx*8]
mov byte [rax], dl
xor edx, edx
mov word [rax + 2], dx
mov dword [rax + 4], r8d
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov byte [rax + 1], 0
mov r9d, 0x10
mov r8d, ebp
mov rdx, r11
mov rcx, r12
call fcn.007b8b90
test r14d, r14d
je 0x8193f3
mov rcx, qword [rbx]
mov edx, dword [rbx + 0x90]
lea rax, [0x00868dc0]
cmp byte [rcx + 0x67], 0
jne 0x81953e
mov rax, qword [rbx + 0x88]
lea rcx, [r14 + r14*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x8193f3
or byte [rsi + 0x44], 2
jmp 0x818f70
mov eax, dword [r13 + 4]
lea rcx, [rsp + 0x180]
mov qword [rsp + 0x180], 0
mov qword [rsp + 0x190], 0
mov dword [rsp + 0x138], eax
mov rax, qword [rsp + 0x88]
mov qword [rsp + 0x198], 0
mov qword [rsp + 0x130], rax
lea rax, [0x006f51e0]
mov qword [rsp + 0x188], rax
lea rax, [rsp + 0x130]
mov qword [rsp + 0x1a0], 0
mov qword [rsp + 0x1a8], rax
mov rdx, r11
mov qword [rsp + 0x80], r11
call fcn.008173a0
mov r11, qword [rsp + 0x80]
cmp word [rsp + 0x1a4], 0
je 0x819482
mov r15d, 2
jmp 0x818f70
mov eax, 1
jmp 0x818f61
mov rbp, r12
mov r12, rdi
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0x8c]
test eax, eax
jle 0x81981d
sub eax, 1
add rax, 1
lea rdx, [rax*8]
sub rdx, rax
mov rax, qword [rsp + 0x58]
lea rdi, [rbx + rdx*8]
lea rsi, [rax + rax*2]
shl rsi, 2
nop dword [rax]
test byte [rbx + 0x12], 6
jne 0x819810
movzx eax, word [rbx + 0x14]
test al, 0x82
je 0x819810
test ah, 8
je 0x819810
mov ecx, dword [rsp + 0xa8]
cmp ecx, dword [rbx + 0x1c]
jne 0x819810
mov rax, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x60]
add rax, rsi
test byte [rdx + rax*8 + 0x44], 0x58
jne 0x819810
mov rax, qword [rbx]
mov r14d, 0x100
movq xmm0, qword [rsp + 0x90]
mov qword [rsp + 0x48], rax
punpcklqdq xmm0, xmm0
mov eax, dword [rbx + 0x20]
mov dword [rsp + 0x1ac], ecx
movabs rcx, 0x8300000000
movups xmmword [rsp + 0x180], xmm0
pxor xmm0, xmm0
mov qword [rsp + 0x1a0], rcx
mov word [rsp + 0x1a8], r14w
mov byte [rsp + 0x1aa], 1
movups xmmword [rsp + 0x190], xmm0
cmp eax, 0xfffffffe
je 0x819810
lea r14, [rsp + 0x180]
mov word [rsp + 0x1d8], ax
mov rcx, r14
call fcn.00859130
test rax, rax
je 0x819810
xor r15d, r15d
mov rcx, r14
mov r14, r15
mov r15, rcx
nop dword [rax]
mov rdx, qword [rax + 0x28]
test qword [rsp + 0x68], rdx
jne 0x819759
test rdx, rdx
jne 0x819752
test byte [rax + 0x14], 0x82
jne 0x81a4f0
test r14, r14
cmove r14, rax
mov rcx, r15
call fcn.00859130
test rax, rax
jne 0x819738
mov rax, r15
mov r15, r14
mov r14, rax
test r15, r15
je 0x819810
test byte [r15 + 0x12], 4
jne 0x819810
mov rax, qword [r15]
test byte [r15 + 0x14], 1
je 0x8197a0
test byte [rax + 5], 0x10
je 0x8197a0
mov rcx, qword [rax + 0x20]
mov rcx, qword [rcx + 0x20]
cmp dword [rcx], 1
jg 0x819810
movdqu xmm1, xmmword [rax]
mov r9d, 0x10
mov rdx, r14
mov rcx, rbp
mov r8d, dword [rsp + 0xb0]
movups xmmword [rsp + 0x180], xmm1
movdqu xmm2, xmmword [rax + 0x10]
movups xmmword [rsp + 0x190], xmm2
movdqu xmm3, xmmword [rax + 0x20]
movups xmmword [rsp + 0x1a0], xmm3
movdqu xmm4, xmmword [rax + 0x30]
movups xmmword [rsp + 0x1b0], xmm4
mov rax, qword [rax + 0x40]
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x48]
mov rax, qword [rax + 0x10]
mov qword [rsp + 0x190], rax
call fcn.007b8b90
or word [r15 + 0x12], 4
nop
add rbx, 0x38
cmp rbx, rdi
jne 0x819658
mov rax, qword [r13 + 0x38]
mov qword [rsp + 0x68], rax
test rax, rax
je 0x819a10
movzx eax, byte [r13 + 0x40]
mov rsi, qword [rsp + 0x50]
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
shl rax, 3
add rax, qword [rsi + 8]
mov rdi, qword [rax + 0x28]
test byte [rdi + 0x30], 0x80
jne 0x819b88
mov eax, dword [rbp + 0x28]
cmp eax, 1
jle 0x81a4b0
mov edi, dword [rbp + 0x2c]
sub eax, 2
mov dword [rbp + 0x28], eax
lea edx, [rdi + 2]
mov dword [rsp + 0x78], edi
lea esi, [rdi + 1]
mov dword [rbp + 0x2c], edx
mov r8d, dword [r13 + 4]
mov r9d, esi
mov edx, 0x87
mov rcx, r12
mov ebx, 1
call fcn.007ff390
mov dword [rsp + 0x48], 2
mov r14, qword [rsp + 0x68]
mov dword [rsp + 0x28], ebx
xor r9d, r9d
mov rcx, r12
mov dword [rsp + 0x20], esi
mov edx, 0x1d
mov r8d, dword [r14]
call fcn.007ff410
mov r15d, dword [rsp + 0x78]
mov r9d, ebx
mov r8d, esi
mov edx, 0x61
mov rcx, r12
mov edi, eax
mov dword [rsp + 0x20], r15d
call fcn.007ff320
mov dword [rsp + 0x28], ebx
mov r9d, r15d
mov rcx, r12
mov dword [rsp + 0x20], esi
mov r8d, dword [r14]
mov edx, 0x8a
call fcn.007ff410
mov r8d, dword [r14 + 4]
mov dword [rsp + 0x28], ebx
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov edx, 0xb5
mov rcx, r12
call fcn.007ff410
mov edx, dword [r12 + 0x90]
test edx, edx
jle 0x819938
mov r11, qword [r12 + 0x88]
movsxd rax, edx
mov ebx, 0x10
lea rax, [rax + rax*2]
lea rax, [r11 + rax*8]
mov word [rax - 0x16], bx
mov rcx, qword [r12]
lea rax, [0x00868dc0]
cmp byte [rcx + 0x67], 0
jne 0x81995c
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
cmp dword [rsp + 0x48], 1
mov dword [rax + 8], edx
je 0x81a500
mov eax, dword [rsp + 0x48]
cmp dword [rbp + 0x28], eax
jge 0x81997d
mov dword [rbp + 0x28], eax
mov eax, dword [rsp + 0x78]
mov dword [rbp + 0x2c], eax
mov r9d, dword [r13]
test r9d, r9d
jne 0x819a1d
mov rbx, qword [r13 + 0x38]
test rbx, rbx
jne 0x819a45
mov rax, qword [r13 + 0x68]
mov qword [rsp + 0x68], rax
mov eax, dword [r13 + 0x18]
mov rsi, qword [rsp + 0x50]
add r13, 0x70
add dword [rsp + 0x70], 1
mov dword [rsi + 0x30], eax
mov eax, dword [rsp + 0x70]
cmp eax, dword [rsp + 0xac]
jne 0x8185a0
mov r13, rsi
mov eax, dword [r12 + 0x90]
mov dword [r13 + 0x50], eax
jmp 0x81802c
mov dword [rsp + 0x20], 0
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x80], r11
call fcn.0074a520
mov r11, qword [rsp + 0x80]
movsxd r14, eax
jmp 0x8194fc
mov r9d, dword [r13]
test r9d, r9d
je 0x819997
mov eax, dword [r12 + 0x90]
mov r8d, 1
mov edx, 0x47
mov rcx, r12
mov dword [r13 + 0x1c], eax
call fcn.007ff390
mov rbx, qword [r13 + 0x38]
test rbx, rbx
je 0x819a68
mov r9d, dword [rbx + 8]
xor r8d, r8d
mov edx, 0x4a
mov rcx, r12
call fcn.007ff390
mov eax, dword [r12 + 0x90]
mov dword [rbx + 0xc], eax
add byte [rbp + 0x26], 1
mov rax, qword [rsp + 0x50]
mov r8, qword [r13 + 0x68]
mov rbx, qword [rax + 0x90]
mov eax, dword [rax + 0x8c]
mov qword [rsp + 0x68], r8
test eax, eax
jle 0x8199a0
mov r15, qword [rsp + 0x58]
mov qword [rsp + 0x48], r12
mov r12, rbp
mov r14, qword [rsp + 0x60]
mov edi, dword [rsp + 0xb4]
lea rsi, [r15 + r15*2]
shl rsi, 2
mov rbp, rsi
mov esi, dword [rsp + 0xb0]
nop word cs:[rax + rax]
test byte [rbx + 0x12], 6
jne 0x819b01
test qword [rbx + 0x30], r8
jne 0x819b01
lea rdx, [rbp + r15]
test byte [r14 + rdx*8 + 0x44], 0x40
jne 0x819b01
mov rdx, qword [rbx]
mov r8d, esi
mov r9d, 0x10
mov rcx, r12
call fcn.007b8b90
mov rax, qword [rsp + 0x50]
or word [rbx + 0x12], 4
mov r8, qword [r13 + 0x68]
mov eax, dword [rax + 0x8c]
add edi, 1
add rbx, 0x38
cmp edi, eax
jl 0x819ac0
mov rbp, r12
mov qword [rsp + 0x68], r8
mov r12, qword [rsp + 0x48]
jmp 0x8199a0
mov rax, qword [rsp + 0x68]
jmp 0x81870a
mov r8, qword [rbp + 0xb0]
mov eax, 1
mov ecx, r12d
test r8, r8
cmove r8, rbp
shl eax, cl
mov edx, dword [r8 + 0x84]
test edx, eax
jne 0x818541
or eax, edx
mov dword [r8 + 0x84], eax
cmp r12d, 1
jne 0x818541
mov rcx, r8
mov qword [rsp + 0x58], r11
call fcn.007ddc80
mov r11, qword [rsp + 0x58]
jmp 0x818541
mov r15, qword [rdi + 0x10]
test r15, r15
jne 0x819bad
jmp 0x81cb4d
mov r15, qword [r15 + 0x28]
test r15, r15
je 0x8642d4
movzx eax, byte [r15 + 0x64]
and eax, 3
cmp al, 2
jne 0x819ba0
movzx ebx, word [r15 + 0x5e]
mov rcx, rbp
lea eax, [rbx + 1]
mov edx, eax
mov dword [rsp + 0x48], eax
call fcn.007d44a0
mov dword [rsp + 0x78], eax
test ebx, ebx
je 0x81c555
add eax, 1
xor r14d, r14d
mov qword [rsp + 0x250], rbp
mov rsi, r15
mov dword [rsp + 0x80], eax
mov rbp, r14
mov r14, rdi
mov r15d, eax
mov edi, dword [rsp + 0xa8]
nop dword [rax + rax]
mov rdx, qword [rsi + 8]
mov r8d, edi
mov rcx, r12
movsx r9d, word [rdx + rbp*2]
lea edx, [r15 + rbp]
add rbp, 1
mov dword [rsp + 0x20], edx
mov rdx, r14
call fcn.007b46f0
cmp ebx, ebp
jg 0x819c08
mov esi, dword [rsp + 0x80]
mov rbp, qword [rsp + 0x250]
jmp 0x81989a
mov ebx, dword [rax + 0x3c]
mov eax, dword [rax + 0x38]
xor r9d, r9d
mov edx, 0xb
mov rcx, r12
xor r15d, r15d
mov edi, 2
mov dword [rsp + 0x20], eax
mov r8d, ebx
call fcn.007ff320
mov r9d, esi
mov r8d, ebx
mov edx, 0xc
mov rcx, r12
call fcn.007ff390
mov byte [r13 + 0x41], 9
mov dword [r13 + 0x48], eax
jmp 0x818e40
mov rax, qword [r11]
mov edx, 0x24
mov qword [rsp + 0x58], r11
mov rcx, qword [rax]
call fcn.007ae070
mov r11, qword [rsp + 0x58]
test rax, rax
mov rbx, rax
je 0x81a880
mov rax, qword [r11 + 0x60]
mov r14, qword [rsp + 0x50]
mov r8d, 0x10000
mov qword [rbx + 8], 0x14
mov qword [rbx], rax
lea rax, [rbx + 0x10]
mov rcx, r14
mov qword [r11 + 0x60], rbx
mov qword [rsi + 0x38], rax
mov eax, dword [rbp + 0x34]
lea edx, [rax + 1]
mov dword [rbp + 0x34], edx
mov edx, 0x4d
mov dword [rbx + 0x10], eax
mov eax, dword [rbp + 0x38]
lea r9d, [rax + 1]
mov dword [rbp + 0x38], r9d
mov dword [rbx + 0x14], r9d
call fcn.007ff390
mov eax, dword [rbp + 0x38]
xor r8d, r8d
mov edx, 0x4b
mov rcx, r14
lea r9d, [rax + 1]
mov dword [rbp + 0x38], r9d
mov dword [rbx + 0x18], r9d
call fcn.007ff390
test byte [rdi + 0x30], 0x80
mov r11, qword [rsp + 0x58]
jne 0x81aca8
mov r8d, dword [rbx + 0x10]
mov r9d, 1
mov edx, 0x76
mov rcx, r14
call fcn.007ff390
mov rcx, qword [rbp]
xor r8d, r8d
mov edx, 1
call fcn.007da5a0
mov r11, qword [rsp + 0x58]
test rax, rax
je 0x819da4
mov rdx, qword [rax + 0x18]
mov qword [rax + 0x20], 0
mov byte [rdx], 0
mov rdx, qword [r14]
cmp byte [rdx + 0x67], 0
jne 0x81c609
mov rdi, qword [rsp + 0x50]
movsxd rdx, dword [rdi + 0x90]
lea rcx, [rdx + rdx*2]
mov rdx, qword [rdi + 0x88]
lea rdx, [rdx + rcx*8 - 0x18]
mov byte [rdx + 1], 0xf8
mov qword [rdx + 0x10], rax
and dword [r15 + 0x38], 0xffffffbf
mov byte [r11 + 0x41], 0
mov byte [r11 + 0x43], 3
jmp 0x818555
xor r9d, r9d
xor r8d, r8d
mov edx, 0xf
mov rcx, r12
call fcn.007ff390
mov r9d, dword [rdi + 0x38]
mov r8d, dword [rdi + 0x3c]
mov rcx, r12
mov edx, 0xa
movsxd rbx, eax
call fcn.007ff390
mov rcx, qword [r12]
mov edx, dword [r12 + 0x90]
lea rax, [0x00868dc0]
cmp byte [rcx + 0x67], 0
jne 0x819e14
mov rax, qword [r12 + 0x88]
lea rcx, [rbx + rbx*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x8185f7
mov r9, qword [rsp + 0x68]
mov edx, dword [rsp + 0x70]
mov r8, r13
mov rcx, qword [rsp + 0x50]
call fcn.007ab2c0
jmp 0x818623
mov rax, qword [rsp + 0x50]
mov rbp, r12
mov r12, rbx
mov rbx, qword [rax + 0x90]
jmp 0x81961e
lea rax, [r14 + r14*2]
lea rax, [r14 + rax*4]
mov r14d, dword [rbp + 0x34]
lea rax, [r13 + rax*8 + 8]
lea edx, [r14 + 1]
mov dword [rbp + 0x34], edx
test byte [r10 + 0x65], 8
je 0x819e91
mov rcx, qword [rsp + 0xa0]
test byte [rcx + 0x63], 1
je 0x81b020
mov r8, qword [r10 + 0x48]
test r8, r8
je 0x819eae
lea rdx, [rbx + rbx*2]
lea rdx, [rbx + rdx*4]
test byte [r13 + rdx*8 + 0x44], 0x10
je 0x81ae30
mov dword [rsi + 8], r14d
mov edx, 0x70
jmp 0x8184e0
movzx esi, word [rbx + 0x3c]
mov rcx, rbp
lea edx, [rsi + 2]
mov dword [rsp + 0x98], esi
call fcn.007d44a0
mov dword [rsp + 0xd0], eax
mov edi, eax
mov eax, dword [r13 + 0xc]
mov dword [rsp + 0x88], eax
test esi, esi
je 0x81a040
sub esi, 1
mov eax, 0x1f
cmp esi, 0x1f
cmovle eax, esi
xor r14d, r14d
add edi, 2
mov dword [rsp + 0x80], eax
jmp 0x819fa4
mov edx, 1
mov ecx, r14d
shl edx, cl
test dword [rbx + 0x30], edx
je 0x81a007
mov r8d, dword [rbp + 0x34]
mov dword [rsp + 0xc8], eax
mov rcx, rbp
mov eax, dword [rbp + 0x38]
lea edx, [r8 + 1]
mov dword [rsp + 0xb8], r8d
lea r9d, [rax + 1]
mov dword [rbp + 0x34], edx
mov rdx, qword [r15]
mov dword [rbp + 0x38], r9d
mov dword [rsp + 0xc0], r9d
call fcn.007a8ea0
mov r9d, dword [rsp + 0xc0]
mov edx, 0xaf
mov rcx, r12
mov eax, dword [rsp + 0xc8]
mov r8d, dword [rsp + 0xb8]
mov dword [rsp + 0x20], r9d
mov r9d, eax
call fcn.007ff320
add esi, 1
add r14, 1
cmp dword [rsp + 0x80], r14d
jl 0x81a3e0
mov rdx, qword [rbx + 0x48]
mov esi, r14d
lea eax, [rdi + r14]
mov r15, qword [rdx + r14*8]
test r15, r15
je 0x819f8f
test byte [r15 + 0x14], 1
jne 0x819f18
mov rdx, qword [r15]
mov r9d, 1
mov r8d, eax
mov rcx, rbp
mov rdx, qword [rdx + 0x18]
call fcn.006e8360
cmp byte [r15 + 0x17], 0x4a
jne 0x819f8f
test byte [rbx + 0x1c], 2
je 0x819f8f
mov rax, qword [rsp + 0x50]
xor r8d, r8d
mov edx, 0x47
mov rcx, r12
mov rax, qword [rax + 0x20]
mov r9d, dword [rax + 0xc]
call fcn.007ff390
jmp 0x819f8f
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x78]
mov r9d, r14d
mov r8, r13
mov rdx, r15
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.006e7980
mov eax, dword [r13 + 0x10]
mov dword [rsp + 0x88], eax
jmp 0x819f8f
mov r12, qword [rsp + 0x80]
mov r14d, dword [rsp + 0xd0]
mov r8d, dword [rbx + 0x18]
mov edx, 0x47
mov rcx, r12
mov r9d, r14d
call fcn.007ff390
mov r8d, dword [rsp + 0x98]
lea r9d, [r14 + 1]
mov rcx, r12
mov edx, 0x47
call fcn.007ff390
movzx eax, byte [rbx + 0x1c]
mov rdi, qword [rbx + 0x28]
mov rcx, r12
mov dword [rsp + 0x20], r14d
mov r9d, dword [rsp + 0x88]
mov edx, 6
and eax, 1
mov r8d, dword [rsp + 0xa8]
cmp al, 1
sbb esi, esi
call fcn.007ff320
or esi, 0xfffffffa
mov r8, rdi
mov rcx, r12
mov edx, eax
mov r9d, esi
call fcn.007ffe40
mov rax, qword [rsp + 0x48]
and byte [rbx + 0x1c], 0xfe
cmp byte [rax + 0x67], 0
je 0x81a0d0
mov qword [rbx + 0x28], 0
mov eax, dword [rsp + 0xa8]
mov dword [r13 + 0x44], eax
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x42], 1
sbb eax, eax
and eax, 0xffffff86
sub eax, 0x47
mov byte [r13 + 0x41], al
mov eax, dword [r12 + 0x90]
mov dword [r13 + 0x48], eax
mov eax, dword [rsp + 0x98]
test eax, eax
je 0x81a22c
mov eax, dword [rsp + 0x98]
mov qword [rsp + 0x250], rbp
mov rbp, r13
mov r15d, 1
lea r14d, [rax - 1]
mov eax, 0xf
cmp r14d, 0xf
cmovg r14d, eax
mov eax, dword [rsp + 0xd0]
xor edi, edi
add eax, 2
mov r13d, r14d
mov dword [rsp + 0x78], eax
jmp 0x81a173
test byte [r14 + 0x14], 1
je 0x81a167
mov edx, r15d
mov ecx, esi
shl edx, cl
test dword [rbx + 0x30], edx
je 0x81a239
add rdi, 1
add esi, 1
cmp r13d, edi
jl 0x81a1a8
mov rax, qword [rbx + 0x48]
mov ecx, edi
mov esi, edi
mov r14, qword [rax + rdi*8]
movzx eax, word [rbx + 0x22]
sar eax, cl
and eax, 1
je 0x81a150
lea rdx, [rbp + 0x68]
mov r8, r14
mov rcx, rbp
add rdi, 1
call fcn.006f0240
add esi, 1
cmp r13d, edi
jge 0x81a173
nop dword [rax]
mov r14d, dword [rsp + 0xd0]
movsxd rdi, esi
mov r13, rbp
mov r15d, dword [rsp + 0x98]
lea rax, [rsp + 0x180]
mov rbp, qword [rsp + 0x250]
shl rdi, 3
mov qword [rsp + 0x80], rax
add r14d, 2
cmp r15d, esi
jle 0x81a22c
mov dword [rsp + 0x78], r14d
nop dword [rax + rax]
mov rax, qword [rbx + 0x48]
mov r14, qword [rax + rdi]
test byte [r14 + 0x14], 1
je 0x81a220
cmp esi, 0x1f
jle 0x81a3c0
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x67], 0
je 0x81a6f8
nop word [rax + rax]
add esi, 1
add rdi, 8
cmp r15d, esi
jne 0x81a1f0
xor r15d, r15d
mov edi, 2
jmp 0x818e40
mov rcx, qword [rsp + 0x48]
cmp byte [rcx + 0x67], 0
jne 0x81a167
mov r8d, dword [rbp + 0x50]
test r8d, r8d
jle 0x81a2e4
mov rcx, qword [r12]
mov rdx, qword [rbp + 0x58]
cmp byte [rcx + 0x67], 0
jne 0x81af00
lea ecx, [r8 - 1]
mov r9, qword [r12 + 0x88]
lea rax, [rdx + 4]
lea rcx, [rcx + rcx*4]
lea r11, [rdx + rcx*4 + 0x18]
mov ecx, dword [rsp + 0x78]
lea r8d, [rcx + rsi]
jmp 0x81a2ab
cmp cl, 0x87
jne 0x81a2a2
mov ecx, r8d
cmp r8d, dword [rdx + 8]
je 0x81c049
add rax, 0x14
cmp r11, rax
je 0x81a2e4
movsxd rdx, dword [rax]
lea rdx, [rdx + rdx*2]
lea rdx, [r9 + rdx*8]
movzx ecx, byte [rdx]
cmp cl, 0x5e
jne 0x81a290
mov ecx, r8d
cmp r8d, dword [rdx + 0xc]
jne 0x81a2a2
mov r9d, dword [rdx + 8]
mov r11d, 0x5e
mov r8d, dword [rdx + 4]
mov dword [rsp + 0x20], ecx
mov edx, r11d
mov rcx, r12
call fcn.007ff320
mov rcx, qword [rsp + 0x250]
xor r8d, r8d
mov edx, 0x35
call fcn.007ddf40
mov r11, rax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x67], 0
jne 0x81ae20
mov rdx, qword [r14]
mov eax, dword [r14 + 0x24]
mov rdx, qword [rdx + 0x10]
test eax, eax
jle 0x81a32b
sub eax, 1
cdqe
shl rax, 5
add rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
mov qword [r11 + 0x10], rdx
mov rcx, qword [rsp + 0x48]
xor r9d, r9d
lea r8, [rsp + 0x180]
mov edx, 0xb0
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x180], 0
mov dword [rsp + 0x188], 0
call fcn.007b37f0
mov r11, qword [rsp + 0x80]
mov qword [r11 + 0x18], rax
test rax, rax
je 0x81a3a5
mov ecx, dword [rsp + 0x78]
mov r8d, dword [rbp + 0x18]
mov r9d, 0x10
lea edx, [rcx + rsi]
mov rcx, qword [rsp + 0x250]
mov dword [rax + 0x2c], edx
mov rdx, r11
call fcn.007b8b90
mov r11, qword [rsp + 0x80]
mov qword [r11 + 0x10], 0
mov rcx, qword [rsp + 0x48]
mov rdx, r11
call fcn.007b85b0
jmp 0x81a167
mov eax, 1
mov ecx, esi
shl eax, cl
test dword [rbx + 0x30], eax
jne 0x81a220
jmp 0x81a208
movsxd rax, esi
lea r15, [rax*8]
cmp dword [rsp + 0x98], esi
jle 0x81a040
mov qword [rsp + 0x80], r12
mov r14d, dword [rsp + 0x98]
jmp 0x81a449
mov eax, dword [rsp + 0x78]
mov dword [rsp + 0x28], r8d
mov r9d, esi
mov r8, r13
mov rdx, r12
mov rcx, rbp
mov dword [rsp + 0x20], eax
call fcn.006e7980
mov eax, dword [r13 + 0x10]
mov dword [rsp + 0x88], eax
add esi, 1
add r15, 8
cmp r14d, esi
je 0x81a038
mov rax, qword [rbx + 0x48]
lea r8d, [rsi + rdi]
mov r12, qword [rax + r15]
test r12, r12
je 0x81a439
test byte [r12 + 0x14], 1
jne 0x81a410
mov rdx, qword [r12]
mov r9d, 1
mov rcx, rbp
mov rdx, qword [rdx + 0x18]
call fcn.006e8360
cmp byte [r12 + 0x17], 0x4a
jne 0x81a439
test byte [rbx + 0x1c], 2
je 0x81a439
mov rax, qword [rsp + 0x50]
mov rcx, qword [rsp + 0x80]
xor r8d, r8d
mov edx, 0x47
mov rax, qword [rax + 0x20]
mov r9d, dword [rax + 0xc]
call fcn.007ff390
jmp 0x81a439
mov esi, dword [rbp + 0x38]
lea eax, [rsi + 1]
add esi, 2
mov dword [rsp + 0x78], eax
mov dword [rbp + 0x38], esi
jmp 0x819879
mov eax, dword [rbp + 0x38]
xor r8d, r8d
mov edx, 0x47
mov rcx, r12
lea r9d, [rax + 1]
mov dword [rbp + 0x38], r9d
mov dword [r13], r9d
call fcn.007ff390
jmp 0x818760
mov r14, r15
mov r15, rax
jmp 0x819778
mov edi, dword [rsp + 0x78]
test edi, edi
je 0x81997d
movzx eax, byte [rbp + 0x1f]
cmp al, 7
ja 0x81997d
lea edx, [rax + 1]
mov byte [rbp + 0x1f], dl
mov dword [rbp + rax*4 + 0xe8], edi
jmp 0x81997d
test al, 0x20
jne 0x81ad58
test al, 0x10
jne 0x81b490
mov r14d, dword [rsp + 0x78]
test r14d, r14d
je 0x81c13f
mov r8d, dword [rsp + 0xa8]
mov edx, 0x20
mov rcx, r12
call fcn.007ff390
mov eax, 0x27
sub eax, dword [rsp + 0x78]
xor r15d, r15d
mov edx, dword [r12 + 0x90]
mov byte [r13 + 0x41], al
mov eax, dword [rsp + 0xa8]
mov edi, 2
mov dword [r13 + 0x48], edx
mov dword [r13 + 0x44], eax
jmp 0x818e40
test ah, 0x20
je 0x81adf0
mov eax, dword [rbp + 0x34]
mov rdi, qword [rsp + 0x58]
mov r15, qword [rsp + 0x60]
mov dword [rsp + 0xb8], eax
add eax, 1
mov dword [rbp + 0x34], eax
mov eax, dword [rbp + 0x38]
lea esi, [rax + 1]
mov eax, dword [rbp + 0x44]
mov dword [rbp + 0x38], esi
sub eax, 1
mov dword [rsp + 0xd0], esi
mov dword [rbp + 0x44], eax
mov dword [rsp + 0xd8], eax
lea rax, [rdi + rdi*2]
lea rax, [rdi + rax*4]
mov rax, qword [r15 + rax*8 + 0x28]
mov qword [rsp + 0xc8], rax
mov rax, qword [rbx + 0x48]
mov rax, qword [rax]
mov rdi, qword [rax + 0x20]
mov qword [rsp + 0xe0], rax
mov rax, qword [rsp + 0x50]
mov byte [r13 + 0x41], 0x43
mov dword [r13 + 0x44], esi
movzx eax, byte [rax + 0x40]
cmp al, 1
ja 0x81bd80
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 8]
mov qword [rsp + 0x88], rax
mov rax, qword [rsp + 0x50]
test byte [rax + 0x3c], 0x10
jne 0x81b658
mov rax, qword [rsp + 0xc8]
test byte [rax + 0x30], 0x80
je 0x81c1a2
mov r14, qword [rax + 0x10]
test r14, r14
jne 0x81a66d
jmp 0x81cb3e
mov r14, qword [r14 + 0x28]
test r14, r14
je 0x81cb39
movzx eax, byte [r14 + 0x64]
and eax, 3
cmp al, 2
jne 0x81a660
mov r8d, dword [rbp + 0x34]
movzx r9d, word [r14 + 0x5e]
mov rcx, r12
mov edx, 0x76
lea eax, [r8 + 1]
mov dword [rsp + 0xf4], r8d
mov dword [rbp + 0x34], eax
call fcn.007ff390
mov rdx, r14
mov rcx, rbp
call fcn.00815460
jmp 0x81c1c5
lea rax, [rbx + rbx*2]
mov r14d, dword [rsp + 0x288]
lea rax, [rbx + rax*4]
mov rax, qword [r13 + rax*8 + 0x28]
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x81a6dd
jmp 0x81a6e2
mov rax, qword [rax + 0x28]
add r14d, 1
test rax, rax
je 0x81a6e2
cmp r10, rax
jne 0x81a6d0
mov dword [r11 + 0x2c], r14d
mov edx, 0x71
mov dword [rsi + 8], r14d
jmp 0x8184e0
mov edx, dword [r13 + 0x50]
test edx, edx
jle 0x81a796
mov rax, qword [r12]
mov rcx, qword [r13 + 0x58]
cmp byte [rax + 0x67], 0
jne 0x81aea8
sub edx, 1
lea rax, [rcx + 4]
mov r8, qword [r12 + 0x88]
lea rdx, [rdx + rdx*4]
lea r10, [rcx + rdx*4 + 0x18]
mov ecx, dword [rsp + 0x78]
add ecx, esi
jmp 0x81a75b
cmp r9b, 0x87
jne 0x81a752
mov r9d, ecx
cmp ecx, dword [rdx + 8]
je 0x81c061
add rax, 0x14
cmp r10, rax
je 0x81a796
movsxd rdx, dword [rax]
lea rdx, [rdx + rdx*2]
lea rdx, [r8 + rdx*8]
movzx r9d, byte [rdx]
cmp r9b, 0x5e
jne 0x81a740
mov r11d, ecx
cmp ecx, dword [rdx + 0xc]
jne 0x81a752
mov r9d, dword [rdx + 8]
mov r10d, 0x5e
mov r8d, dword [rdx + 4]
mov dword [rsp + 0x20], r11d
mov edx, r10d
mov rcx, r12
call fcn.007ff320
xor r8d, r8d
mov edx, 0x35
mov rcx, rbp
call fcn.007ddf40
mov r10, rax
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x67], 0
jne 0x81ae10
mov rdx, qword [r14]
mov eax, dword [r14 + 0x24]
mov rdx, qword [rdx + 0x10]
test eax, eax
jle 0x81a7d8
sub eax, 1
cdqe
shl rax, 5
add rax, qword [rdx + 0x20]
mov rdx, qword [rax + 8]
mov qword [r10 + 0x10], rdx
mov rcx, qword [rsp + 0x48]
xor r9d, r9d
mov edx, 0xb0
mov r8, qword [rsp + 0x80]
mov qword [rsp + 0x88], r10
mov qword [rsp + 0x180], 0
mov dword [rsp + 0x188], 0
call fcn.007b37f0
mov r10, qword [rsp + 0x88]
mov qword [r10 + 0x18], rax
test rax, rax
je 0x81a84d
mov ecx, dword [rsp + 0x78]
mov r8d, dword [r13 + 0x18]
mov r9d, 0x10
lea edx, [rcx + rsi]
mov rcx, rbp
mov dword [rax + 0x2c], edx
mov rdx, r10
call fcn.007b8b90
mov r10, qword [rsp + 0x88]
mov qword [r10 + 0x10], 0
mov rcx, qword [rsp + 0x48]
mov rdx, r10
call fcn.007b85b0
jmp 0x81a220
xor r12d, r12d
jmp 0x81838e
mov qword [rsi + 0x38], 0
jmp 0x818555
mov rax, qword [r15 + 0x18]
test byte [rax + 0x30], 0x80
je 0x81b4c8
cmp dword [rsp + 0xa8], r14d
je 0x81af80
mov rdi, qword [rax + 0x10]
test rdi, rdi
jne 0x81a8cd
jmp 0x81cb48
mov rdi, qword [rdi + 0x28]
test rdi, rdi
je 0x8642ca
movzx eax, byte [rdi + 0x64]
and eax, 3
cmp al, 2
jne 0x81a8c0
movzx edx, word [rdi + 0x5e]
mov rcx, rbp
call fcn.007d44a0
cmp word [rdi + 0x5e], 0
mov dword [rsp + 0x48], eax
je 0x81caea
mov qword [rsp + 0x250], rbp
mov rbp, r15
mov r15d, r14d
mov r14, qword [rsp + 0x250]
mov qword [rsp + 0x80], rbx
xor esi, esi
mov ebx, eax
nop dword [rax]
mov rax, qword [rdi + 8]
movzx edx, word [rax + rsi*2]
movzx eax, word [rbp + 0x60]
test eax, eax
je 0x81c2d0
mov rcx, qword [rbp + 8]
xor r9d, r9d
jmp 0x81a945
add r9, 1
cmp eax, r9d
jle 0x81c2d0
cmp dx, word [rcx + r9*2]
jne 0x81a938
movsx r9d, r9w
lea eax, [rbx + rsi]
mov r8d, r15d
mov edx, 0x5e
mov rcx, r12
mov dword [rsp + 0x20], eax
add rsi, 1
call fcn.007ff320
movzx eax, word [rdi + 0x5e]
cmp eax, esi
jg 0x81a918
mov qword [rsp + 0x250], r14
mov rbx, qword [rsp + 0x80]
mov r14d, r15d
mov r15, rbp
mov rbp, qword [rsp + 0x250]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x48]
mov edx, 0x1c
mov rcx, r12
mov r9d, dword [rsp + 0xb0]
mov r8d, dword [rsp + 0xa8]
xor esi, esi
mov dword [rsp + 0x20], eax
call fcn.007ff410
jmp 0x818ddc
mov r10, qword [rdi + 0x50]
mov rax, qword [rsp + 0xa0]
test r10, r10
jne 0x81a9e9
jmp 0x81a9ee
mov r10, qword [r10 + 0x28]
test r10, r10
je 0x81a9ee
cmp rax, qword [r10]
jne 0x81a9e0
lea rax, [rbx + rbx*2]
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov edx, 0xad
lea rax, [rbx + rax*4]
mov qword [rsp + 0x78], r11
mov r8d, dword [r13 + rax*8 + 0x4c]
mov qword [rsp + 0x58], r10
call fcn.007ff390
mov r10, qword [rsp + 0x58]
mov rcx, qword [rsp + 0x50]
mov r9d, 0xfffffff5
mov edx, eax
mov r8, r10
call fcn.007ffe40
mov eax, dword [r15 + 0x38]
mov r11, qword [rsp + 0x78]
jmp 0x818480
cmp word [rsp + 0x60], 0
je 0x8184a3
mov eax, dword [rsi + 4]
mov dword [rsi + 8], eax
jmp 0x818538
mov r15, qword [rsp + 0x140]
test byte [r15 + 0x3c], 0x20
jne 0x81808e
mov rax, qword [r15 + 8]
mov rsi, qword [rax + 0x28]
mov qword [rsp + 0x50], rax
cmp byte [rsi + 0x3f], 1
je 0x81808e
test byte [rax + 0x48], 3
jne 0x81808e
lea rdi, [r15 + 0x70]
xor edx, edx
mov eax, dword [rax + 0x4c]
mov ecx, 0x100
movq xmm0, rdi
mov r14, qword [rsp + 0x150]
mov qword [rsp + 0x48], rdi
lea rbx, [rsp + 0x180]
punpcklqdq xmm0, xmm0
mov dword [rsp + 0x58], eax
mov r8d, 0xffffffff
mov dword [r14 + 0x38], 0
mov word [r14 + 0x3e], dx
mov dword [rsp + 0x1ac], eax
movabs rax, 0x8200000000
mov word [rsp + 0x1a8], cx
mov rcx, rbx
movups xmmword [rsp + 0x180], xmm0
pxor xmm0, xmm0
mov qword [rsp + 0x1a0], rax
mov byte [rsp + 0x1aa], 1
mov word [rsp + 0x1d8], r8w
movups xmmword [rsp + 0x190], xmm0
call fcn.00859130
test rax, rax
jne 0x81ab41
jmp 0x81c781
mov rcx, rbx
call fcn.00859130
test rax, rax
je 0x81c781
cmp qword [rax + 0x28], 0
jne 0x81ab30
mov rdx, qword [r14 + 0x48]
mov ecx, 1
mov r8d, 1
mov r9d, 0x21
mov dword [r14 + 0x38], 0x1101
mov qword [rdx], rax
mov eax, 0x1101
mov word [r14 + 0x3c], cx
mov word [r14 + 0x18], r8w
mov word [r14 + 0x14], r9w
mov edi, dword [rsp + 0x58]
mov rdx, qword [r15 + 0x10]
mov r11d, 1
mov ebx, 1
mov word [r14 + 0x16], r11w
mov qword [r15 + 0x3c0], r14
mov qword [r14 + 8], 1
mov dword [r15 + 0x364], edi
mov word [r15 + 0x48], bx
test rdx, rdx
je 0x81abba
mov edx, dword [rdx]
mov byte [r15 + 0x41], dl
test byte [r15 + 0x3d], 1
je 0x81abc6
mov byte [r15 + 0x43], 1
cmp byte [rsp + 0x1a9], 1
jbe 0x81abd9
or eax, 0x200000
mov dword [r14 + 0x38], eax
mov rax, qword [r13 + 0x10]
jmp 0x818216
mov rdi, qword [rsp + 0x90]
mov rdx, qword [rbx + 0x10]
mov r8d, 0x2c
mov rcx, rdi
call fcn.0081f410
mov rdx, qword [rbx + 0x18]
mov r8d, 0x2c
mov rcx, rdi
call fcn.0081f410
jmp 0x817e2f
mov rax, qword [rbx + 0x48]
xor r9d, r9d
mov r8, r13
mov rcx, rbp
mov rdx, qword [rax]
mov eax, dword [rbp + 0x38]
lea r14d, [rax + 1]
mov eax, dword [rsp + 0x78]
mov dword [rbp + 0x38], r14d
mov dword [rsp + 0x28], r14d
mov dword [rsp + 0x20], eax
call fcn.006e7980
mov ebx, eax
test r14d, r14d
je 0x81ac64
cmp r14d, eax
je 0x81ac64
mov edx, r14d
mov rcx, rbp
call fcn.007e7480
mov r15d, dword [r13 + 0x34]
mov esi, dword [r13 + 0x10]
test r15d, r15d
jne 0x81beb6
mov dword [rsp + 0x20], ebx
mov r9d, esi
mov edx, 0x1e
mov rcx, r12
mov r8d, dword [rsp + 0xa8]
xor r15d, r15d
mov edi, 2
call fcn.007ff320
mov byte [r13 + 0x41], 0xb9
jmp 0x818e40
mov r12, qword [rdi + 0x10]
test r12, r12
jne 0x81acce
jmp 0x81cb43
mov r12, qword [r12 + 0x28]
test r12, r12
je 0x8642c0
movzx eax, byte [r12 + 0x64]
and eax, 3
cmp al, 2
jne 0x81acc0
movzx r9d, word [r12 + 0x5e]
mov r8d, dword [rbx + 0x10]
mov edx, 0x76
mov qword [rsp + 0x58], r11
mov rcx, qword [rsp + 0x50]
call fcn.007ff390
mov rdx, r12
mov rcx, rbp
call fcn.00815460
mov r11, qword [rsp + 0x58]
jmp 0x819da4
mov rcx, qword [r15 + 0x28]
call fcn.0082d7e0
and byte [r15 + 0x1c], 0xfe
mov qword [r15 + 0x28], 0
jmp 0x818150
mov qword [rsp + 0x68], 0xffffffffffffffff
cmp al, 1
jbe 0x81827b
mov rax, qword [rsp + 0xa0]
mov eax, dword [rax + 0x60]
jmp 0x818270
mov rdx, qword [rbx + 0x48]
mov rbx, qword [rdx]
test al, 0x10
jne 0x81b2a8
mov edi, dword [rsp + 0x78]
test edi, edi
je 0x81c133
mov edx, 0x20
mov r8d, dword [rsp + 0xa8]
mov rcx, r12
mov r14, rbx
call fcn.007ff390
jmp 0x81b34d
mov ebx, dword [rsp + 0x78]
test ebx, ebx
sete dl
add edx, 0x26
mov byte [r13 + 0x41], dl
jmp 0x818e12
mov byte [rsp + 0xe8], 0
mov qword [rsp + 0xc0], 0
jmp 0x8188b3
mov edx, ecx
xor esi, esi
xor r10d, r10d
jmp 0x818870
mov eax, dword [r13 + 0x10]
mov dword [rsp + 0xd0], eax
jmp 0x8189cd
and r8d, 0x40
je 0x81c44c
mov byte [r13 + 0x41], 0xb9
xor r15d, r15d
mov edi, 2
jmp 0x818e40
test r10, r10
je 0x81a220
jmp 0x81a855
test r11, r11
je 0x81a167
jmp 0x81a3ad
mov qword [rsp + 0x28], rax
mov rdx, r10
xor r9d, r9d
mov rcx, rbp
mov dword [rsp + 0x20], r14d
mov qword [rsp + 0x78], r11
mov qword [rsp + 0x58], r10
call fcn.008570d0
mov dword [rsi + 8], r14d
mov r10, qword [rsp + 0x58]
mov edx, 0x70
mov r11, qword [rsp + 0x78]
jmp 0x8184e0
cmp byte [rsp + 0x80], 0
mov esi, dword [rsp + 0x98]
je 0x818d01
mov eax, dword [rsp + 0x88]
test eax, eax
je 0x81c20a
mov eax, dword [rsp + 0x98]
lea esi, [rax + 1]
jmp 0x818d01
lea rax, [0x00868dc0]
mov r8d, dword [0x00868dc8]
mov r11d, dword [0x00868dcc]
movzx ecx, byte [rax]
mov eax, dword [rsp + 0x78]
lea r9d, [rax + rsi]
xor eax, eax
jmp 0x81aee9
cmp cl, 0x87
jne 0x81aede
cmp r9d, r8d
je 0x81c05a
add eax, 1
cmp eax, edx
je 0x81a796
cmp cl, 0x5e
jne 0x81aed0
cmp r9d, r11d
jne 0x81aede
lea rdx, [0x00868dc0]
jmp 0x81a778
lea rcx, [0x00868dc0]
mov r11d, dword [0x00868dc8]
mov r9d, dword [0x00868dcc]
movzx edx, byte [rcx]
mov ecx, dword [rsp + 0x78]
add ecx, esi
jmp 0x81af3a
cmp dl, 0x87
jne 0x81af2e
cmp r11d, ecx
je 0x81c042
add eax, 1
cmp r8d, eax
je 0x81a2e4
cmp dl, 0x5e
jne 0x81af20
cmp r9d, ecx
jne 0x81af2e
lea rdx, [0x00868dc0]
jmp 0x81a2c7
mov r8, rbx
mov rdi, qword [rsp + 0x80]
mov rbx, qword [rsp + 0x48]
mov rbp, qword [rsp + 0x250]
mov r9d, 0xfffffff2
mov edx, 0xffffffff
mov rcx, rdi
call fcn.007ffe40
nop dword [rax + rax]
xor esi, esi
jmp 0x818ddc
mov eax, dword [rbp + 0x38]
mov edx, dword [r13]
add eax, 1
mov dword [rbp + 0x38], eax
mov dword [rsp + 0x88], eax
mov dword [r13 + 0x24], eax
test edx, edx
jne 0x81c669
mov eax, dword [rbp + 0x44]
mov byte [rsp + 0xe8], 1
mov esi, 1
sub eax, 1
mov dword [rbp + 0x44], eax
mov dword [r13 + 0x28], eax
jmp 0x8188ce
mov r8d, 0x40
lea rdx, str.at_most__d_tables_in_a_join
mov rcx, rbp
xor r13d, r13d
call fcn.007b2d40
jmp 0x81802c
mov eax, dword [rsp + 0x98]
mov r8d, r14d
mov edx, 0x7d
mov rcx, r12
mov dword [rsp + 0x20], eax
mov r9d, eax
call fcn.007ff320
mov eax, dword [rbx + 0x38]
jmp 0x818dbe
lea rdx, [rax + 0x44]
lea r9, [rax + 0x3c]
mov r8d, r14d
mov rcx, rbp
mov qword [rsp + 0x20], rdx
mov rdx, r10
mov qword [rsp + 0x80], r11
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x58], r10
call fcn.0084f9f0
mov rax, qword [rsp + 0x78]
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x80]
jmp 0x819e91
mov rax, qword [rdi]
mov r8d, dword [rdi + 0x28]
xor r9d, r9d
mov edx, r12d
mov rcx, rbp
mov qword [rsp + 0x58], r11
mov qword [rsp + 0x20], rax
call fcn.007fa3b0
mov eax, dword [r15 + 0x38]
mov r11, qword [rsp + 0x58]
jmp 0x818480
cmp qword [rsp + 0xc0], 0
movzx eax, al
mov dword [rsp + 0xf4], eax
je 0x81c6b4
mov rax, qword [rsp + 0xc0]
mov dword [rsp + 0xe0], 1
test byte [rax + 0x14], 0x28
setne al
movzx eax, al
mov dword [rsp + 0xf8], eax
cmp byte [rsp + 0xe8], 0
jne 0x81c4fc
mov r10d, dword [rsp + 0x88]
test r10d, r10d
jne 0x81b147
mov esi, dword [rsp + 0x98]
mov rcx, qword [rbp + 0x10]
mov r9, qword [rsp + 0x180]
mov edx, dword [rsp + 0xb8]
mov r8d, esi
call fcn.006e6e30
movzx eax, word [rbx + 0x3e]
test ax, ax
jne 0x81c176
mov r10d, dword [rsp + 0xf4]
mov edi, esi
mov dword [rsp + 0x108], 0
shl r10d, 2
jmp 0x818b94
xor edx, edx
jmp 0x818795
mov edi, dword [rsp + 0x98]
xor r8d, r8d
mov edx, 0x4b
mov rcx, r12
mov esi, dword [rsp + 0xb8]
mov r9d, edi
lea edi, [rdi + 1]
add r9d, esi
call fcn.007ff390
mov rcx, qword [rbp + 0x10]
mov r8d, edi
mov edx, esi
mov r9, qword [rsp + 0x180]
call fcn.006e6e30
movzx eax, word [rbx + 0x3e]
test ax, ax
je 0x81b195
cmp edi, eax
je 0x81c431
mov dword [rsp + 0x108], 0
mov r10d, 4
mov r9d, dword [rsp + 0x88]
mov r8d, 1
mov edx, 0x47
mov rcx, r12
mov dword [rsp + 0xe8], r10d
call fcn.007ff390
mov r10d, dword [rsp + 0xe8]
jmp 0x818b94
mov r9d, dword [r12 + 0x90]
xor r8d, r8d
mov rcx, r12
mov edx, 9
add r9d, 2
call fcn.007ff390
mov ecx, dword [rsp + 0x78]
xor eax, eax
cmp edi, 1
setg al
sub edi, dword [rsp + 0xe0]
mov r9d, dword [rsp + 0xd0]
mov r8d, r14d
lea eax, [rcx + rax*4 + 2]
mov dword [rsp + 0x28], edi
mov rcx, r12
cdqe
movzx edx, byte [rsi + rax]
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x20], eax
call fcn.007ff410
jmp 0x818c0d
mov eax, dword [rsp + 0x98]
mov esi, dword [rsp + 0xd0]
mov edx, 0x40
mov rcx, r12
mov dword [rsp + 0xe8], r10d
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0xb8]
mov r9d, esi
mov dword [rsp + 0x20], eax
call fcn.007ff410
mov rax, qword [rsp + 0x68]
mov r9d, esi
mov rcx, rbp
mov r8d, dword [rsp + 0x70]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.006fc720
mov r10d, dword [rsp + 0xe8]
jmp 0x818ba1
mov r11d, dword [rsp + 0x78]
mov r14, qword [rdx + 8]
test r11d, r11d
jne 0x81ca74
test rbx, rbx
je 0x81cb27
mov dword [rsp + 0x180], 0x17151618
mov rdi, qword [rbx]
mov rdx, qword [rdi + 0x18]
movzx eax, byte [rdx]
cmp al, 0xb0
jne 0x81b2e0
movzx eax, byte [rdx + 2]
cmp al, 0xb1
je 0x81c54a
cmp al, 0x8a
je 0x81bf35
lea r8, [rsp + 0x130]
mov rcx, rbp
call fcn.007b7b80
lea rdx, [r13 + 0x68]
mov r8, rbx
mov rcx, r13
mov r15d, eax
call fcn.006f0240
movzx eax, byte [rdi]
sub eax, 0x36
cdqe
movzx edx, byte [rsp + rax + 0x180]
mov dword [rsp + 0x20], r15d
mov r8d, dword [rsp + 0xa8]
mov r9d, esi
mov rcx, r12
call fcn.007ff320
mov edx, dword [rsp + 0x130]
test edx, edx
je 0x81b34d
mov rcx, rbp
call fcn.007e7480
test r14, r14
je 0x81a563
mov eax, dword [rbp + 0x38]
mov rdi, qword [r14]
mov r9d, 1
mov rcx, rbp
lea ebx, [rax + 1]
mov rdx, qword [rdi + 0x18]
mov dword [rbp + 0x38], ebx
mov r8d, ebx
call fcn.006e8360
mov rdx, qword [rdi + 0x18]
movzx eax, byte [rdx]
cmp al, 0xb0
jne 0x81b386
movzx eax, byte [rdx + 2]
cmp al, 0xb1
je 0x81c640
cmp al, 0x8a
je 0x81b462
movzx ecx, byte [rdi]
sub ecx, 0x36
and ecx, 0xfd
jne 0x81b475
cmp dword [rsp + 0x78], 1
sbb r15d, r15d
and r15d, 2
add r15d, 0x37
cmp al, 0xb1
je 0x81c64b
cmp al, 0x8a
je 0x81c595
lea rdx, [r13 + 0x68]
mov r8, r14
mov rcx, r13
call fcn.006f0240
mov eax, 0x27
sub eax, dword [rsp + 0x78]
mov edx, dword [r12 + 0x90]
mov rcx, r12
mov byte [r13 + 0x41], al
mov eax, dword [rbp + 0x38]
mov r8d, dword [rsp + 0xa8]
mov dword [r13 + 0x48], edx
mov edx, 0x87
lea edi, [rax + 1]
mov dword [r13 + 0x44], r8d
mov r9d, edi
mov dword [rbp + 0x38], edi
call fcn.007ff390
mov dword [rsp + 0x20], edi
mov r9d, esi
mov r8d, ebx
mov edx, r15d
mov rcx, r12
call fcn.007ff320
movsxd rax, dword [r12 + 0x90]
test eax, eax
jle 0x81a22c
mov r9, qword [r12 + 0x88]
lea rax, [rax + rax*2]
mov r10d, 0x53
xor r15d, r15d
mov edi, 2
lea rax, [r9 + rax*8]
mov word [rax - 0x16], r10w
jmp 0x818e40
mov rcx, qword [rdx + 0x20]
mov rcx, qword [rcx + 0x20]
mov ecx, dword [rcx]
cmp ecx, 1
jle 0x81b396
cmp dword [rsp + 0x78], 1
sbb r15d, r15d
and r15d, 0xfffffffe
add r15d, 0x38
jmp 0x81b3b8
mov rax, qword [rbx + 0x48]
xor r14d, r14d
mov edx, 0x24
mov rbx, qword [rax]
mov eax, dword [rsp + 0x78]
test eax, eax
je 0x81ad78
test rbx, rbx
jne 0x81b2c3
mov rbx, r14
mov edx, 0x20
jmp 0x81ad78
mov rax, qword [rsp + 0x50]
xor r9d, r9d
mov r8d, r14d
mov edx, 0x8d
mov ecx, dword [rsp + 0xa8]
mov rsi, qword [rax]
mov rdi, qword [rsi + 0x10]
or byte [rax + 0x44], 1
mov dword [rsp + 0x20], ecx
mov rcx, rdi
call fcn.007ff320
mov rax, qword [rsp + 0x50]
test word [rax + 0x3c], 0x1020
je 0x81af80
mov rax, qword [rsi + 0xb0]
test rax, rax
cmove rax, rsi
mov eax, dword [rax + 0x80]
test eax, eax
jne 0x81af80
mov r10, qword [r15 + 0x18]
mov rcx, qword [rsi]
movsx edx, word [r10 + 0x36]
mov qword [rsp + 0x48], r10
add edx, 1
movsxd rdx, edx
shl rdx, 2
call fcn.007ae150
mov r8, rax
test rax, rax
je 0x81af80
mov r10, qword [rsp + 0x48]
movsx eax, word [r10 + 0x36]
mov dword [r8], eax
movzx eax, word [r15 + 0x60]
cmp ax, 1
jbe 0x81af68
mov r9, qword [r15 + 8]
sub eax, 2
mov esi, 1
mov rcx, r10
lea r11, [rax + 2]
mov qword [rsp + 0x48], rbx
mov rbx, r8
mov qword [rsp + 0x80], rdi
mov rdi, r11
mov qword [rsp + 0x250], rbp
mov rbp, rsi
mov rsi, r9
jmp 0x81b5c3
test ax, ax
js 0x81b5b6
movsx edx, ax
call fcn.007fa340
movsx rax, ax
mov dword [rbx + rax*4 + 4], ebp
add rbp, 1
cmp rdi, rbp
je 0x81af50
movzx eax, word [rsi + rbp*2 - 2]
test byte [rcx + 0x30], 0x20
jne 0x81b5a1
test ax, ax
js 0x81b5b6
jmp 0x81b5ae
movzx edi, word [rsp + 0x78]
test dil, 8
je 0x8182d0
mov rsi, qword [rsp + 0x258]
mov rcx, qword [rsi + 0x28]
cmp byte [rcx + 0x3f], 1
je 0x8182d0
test ah, 0x20
je 0x81b60b
and edi, 0x10
je 0x8182d0
mov rdi, qword [rsp + 0xa0]
test byte [rdi + 0x63], 8
jne 0x8182d0
mov r8d, 2
jmp 0x8182c2
mov rcx, qword [rsp + 0x48]
movzx edx, di
add rdx, rax
call fcn.007ae330
mov r10, qword [rsp + 0xc8]
mov qword [rsp + 0xd8], rax
jmp 0x8189b1
mov dword [rsp + 0xf0], 0
mov dword [rsp + 0xf4], 0
mov r9d, dword [rsp + 0xd0]
mov rcx, r12
xor r8d, r8d
xor ebx, ebx
mov edx, 0x47
xor r14d, r14d
call fcn.007ff390
mov dword [rsp + 0x100], eax
mov rax, qword [rsp + 0x50]
mov ecx, dword [rax + 0x84]
cmp ecx, 1
jle 0x81b740
mov rsi, r14
mov r14, qword [rsp + 0xe0]
mov r15, rax
nop dword [rax]
mov rdx, qword [r15 + 0x90]
lea rax, [rbx*8]
sub rax, rbx
lea rax, [rdx + rax*8]
cmp r14, rax
je 0x81b710
test word [rax + 0x12], 0x8006
jne 0x81b710
test word [rax + 0x14], 0x3fff
je 0x81b710
mov rdx, qword [rax]
test byte [rdx + 6], 0x40
jne 0x81b710
mov rcx, qword [rsp + 0x48]
call fcn.006f4d60
mov rdx, rsi
mov rcx, rbp
mov r8, rax
call fcn.007b3b40
mov ecx, dword [r15 + 0x84]
mov rsi, rax
nop
add rbx, 1
cmp ecx, ebx
jg 0x81b6b8
test rsi, rsi
je 0x81b740
mov r9, rsi
xor r8d, r8d
mov edx, 0x1002c
mov rcx, rbp
call fcn.007ddde0
mov qword [rsp + 0x98], rax
jmp 0x81b74c
mov qword [rsp + 0x98], 0
mov edx, 1
lea r8, str.MULTI_INDEX_OR
mov rcx, rbp
call fcn.00810400
mov edx, dword [rdi + 0x14]
test edx, edx
jle 0x81c9d3
mov dword [rsp + 0x80], 0
xor r15d, r15d
xor ebx, ebx
mov qword [rsp + 0xc0], 0
mov qword [rsp + 0xf8], r13
jmp 0x81b94a
mov rsi, qword [rsp + 0x48]
mov rdx, r13
mov rcx, rsi
call fcn.006f4d60
cmp byte [rsi + 0x67], 0
mov r13, rax
jne 0x81b928
mov rax, qword [rsp + 0x98]
mov rsi, r13
test rax, rax
je 0x81b7cc
mov qword [rax + 0x10], r13
mov rsi, rax
mov r9d, r15d
lea r8, str.INDEX__d
mov edx, 1
mov rcx, rbp
call fcn.00810400
xor r9d, r9d
mov r8, rsi
mov rcx, rbp
mov eax, dword [rsp + 0xb8]
mov dword [rsp + 0x30], 0x20
mov qword [rsp + 0x28], 0
mov rdx, qword [rsp + 0x88]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x20], 0
call fcn.00817880
mov r14, rax
test rax, rax
je 0x81b928
mov rax, qword [rbp + 0xb0]
test rax, rax
cmove rax, rbp
cmp byte [rax + 0x133], 2
jne 0x81b85b
mov rdx, qword [rsp + 0x88]
xor r9d, r9d
lea r8, [r14 + 0x360]
mov rcx, rbp
call fcn.0081e120
mov rax, qword [rsp + 0x50]
test byte [rax + 0x3c], 0x10
je 0x81b990
mov r9d, dword [rsp + 0xd8]
mov r8d, dword [rsp + 0xd0]
mov edx, 0xa
mov rcx, r12
call fcn.007ff390
movzx eax, byte [r14 + 0x44]
mov edx, 1
test al, 2
cmove edx, dword [rsp + 0x80]
mov dword [rsp + 0x80], edx
mov rdx, qword [r14 + 0x3c0]
test byte [rdx + 0x39], 2
je 0x81b8cf
mov r8d, dword [rsp + 0x78]
mov rdx, qword [rdx + 0x20]
test r8d, r8d
je 0x81bb88
cmp qword [rsp + 0xc0], rdx
je 0x81bb88
mov qword [rsp + 0xc0], 0
test al, 1
je 0x81b8e8
mov rax, qword [rsp + 0x50]
or byte [rax + 0x44], 1
mov rcx, r14
call fcn.0081cc60
movsxd rax, dword [rbp + 0x140]
test eax, eax
je 0x81b922
mov rcx, qword [rbp + 0x10]
lea rdx, [0x00868dc0]
mov r8, qword [rcx]
cmp byte [r8 + 0x67], 0
jne 0x81b91f
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x88]
lea rdx, [rax + rdx*8]
mov eax, dword [rdx + 8]
mov dword [rbp + 0x140], eax
test r13, r13
je 0x81b93a
mov rcx, qword [rsp + 0x48]
mov rdx, r13
call fcn.007b85b0
mov edx, dword [rdi + 0x14]
add rbx, 0x38
cmp r15d, edx
jge 0x81ba60
mov rax, qword [rdi + 0x20]
mov esi, dword [rsp + 0xa8]
mov dword [rsp + 0x78], r15d
add r15d, 1
add rax, rbx
cmp esi, dword [rax + 0x1c]
je 0x81b96c
test byte [rax + 0x15], 4
je 0x81b93d
mov r13, qword [rax]
test r13, r13
jne 0x81b798
mov rax, qword [rsp + 0x48]
cmp byte [rax + 0x67], 0
je 0x81b7b5
jmp 0x81b93d
mov eax, dword [rdi + 0x14]
mov esi, dword [rsp + 0x78]
sub eax, 1
cmp eax, esi
mov eax, 0xffffffff
cmovne eax, esi
mov dword [rsp + 0x108], eax
mov esi, eax
mov rax, qword [rsp + 0xc8]
test byte [rax + 0x30], 0x80
jne 0x81bbc8
mov r9d, dword [rsp + 0xf0]
mov r8d, dword [rsp + 0xa8]
mov edx, 0x87
mov rcx, r12
call fcn.007ff390
mov dword [rsp + 0x28], esi
xor r9d, r9d
mov rcx, r12
mov eax, dword [rsp + 0xf0]
mov r8d, dword [rsp + 0xf4]
mov edx, 0x2f
mov dword [rsp + 0x20], eax
call fcn.007ff410
movsxd rsi, eax
mov r9d, dword [rsp + 0xd8]
mov r8d, dword [rsp + 0xd0]
mov edx, 0xa
mov rcx, r12
call fcn.007ff390
test esi, esi
je 0x81b887
mov rcx, qword [r12]
mov edx, dword [r12 + 0x90]
lea rax, [0x00868dc0]
cmp byte [rcx + 0x67], 0
jne 0x81ba54
mov rax, qword [r12 + 0x88]
lea rcx, [rsi + rsi*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
jmp 0x81b887
movsxd rax, dword [rbp + 0x140]
mov r13, qword [rsp + 0xf8]
test eax, eax
je 0x81ba8f
mov rcx, qword [rbp + 0x10]
mov r8, qword [rcx]
lea rdx, [0x00868dc0]
cmp byte [r8 + 0x67], 0
je 0x81c0a9
mov eax, dword [rdx + 8]
mov dword [rbp + 0x140], eax
mov rax, qword [rsp + 0xc0]
mov qword [r13 + 0x50], rax
test rax, rax
je 0x81bab1
mov eax, dword [rsp + 0xb8]
mov dword [r13 + 8], eax
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x81bad3
mov qword [rax + 0x10], 0
mov rcx, qword [rsp + 0x48]
mov rdx, rax
call fcn.007b85b0
mov rcx, qword [r12]
mov edx, dword [r12 + 0x90]
lea rax, [0x00868dc0]
cmp byte [rcx + 0x67], 0
jne 0x81bb04
movsxd rax, dword [rsp + 0x100]
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
mov dword [rax + 4], edx
mov r9d, dword [r13 + 0xc]
xor r8d, r8d
mov edx, 9
mov rcx, r12
call fcn.007ff390
mov edx, dword [rsp + 0xd8]
mov rcx, r12
call fcn.00815110
mov eax, dword [r12 + 0x90]
mov dword [r13 + 0x48], eax
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x40], 1
jbe 0x81bb53
mov rdx, qword [rsp + 0x88]
mov rcx, qword [rsp + 0x48]
call fcn.007adee0
mov ecx, dword [rsp + 0x80]
test ecx, ecx
jne 0x81a22c
lea rdx, [r13 + 0x68]
mov rcx, r13
xor r15d, r15d
mov edi, 2
mov r8, qword [rsp + 0xe0]
call fcn.006f0240
jmp 0x818e40
mov rcx, qword [rsp + 0xc8]
mov qword [rsp + 0xc0], rdx
mov rsi, rdx
test byte [rcx + 0x30], 0x80
je 0x81b8db
movzx edx, byte [rdx + 0x64]
and edx, 3
cmp dl, 2
mov edx, 0
cmovne rdx, rsi
mov qword [rsp + 0xc0], rdx
jmp 0x81b8db
mov r10, qword [rax + 0x10]
test r10, r10
jne 0x81bbed
jmp 0x81cb34
mov r10, qword [r10 + 0x28]
test r10, r10
je 0x8642de
movzx eax, byte [r10 + 0x64]
and eax, 3
cmp al, 2
jne 0x81bbe0
movzx esi, word [r10 + 0x5e]
mov rcx, rbp
mov edx, esi
mov dword [rsp + 0xe8], esi
call fcn.007d44a0
mov ecx, esi
add esi, eax
mov dword [rsp + 0x10c], eax
mov edx, esi
xor esi, esi
test ecx, ecx
je 0x81bcbe
mov qword [rsp + 0x110], r13
mov r13, qword [rsp + 0xc8]
mov qword [rsp + 0x118], rdi
mov edi, dword [rsp + 0xa8]
mov qword [rsp + 0x120], r14
mov r14, rsi
mov esi, edx
mov qword [rsp + 0x128], rbx
mov rbx, r10
mov qword [rsp + 0x250], rbp
mov ebp, eax
nop word [rax + rax]
mov rdx, qword [rbx + 8]
mov r8d, edi
mov rcx, r12
movsx r9d, word [rdx + r14]
mov dword [rsp + 0x20], ebp
mov rdx, r13
add ebp, 1
add r14, 2
call fcn.007b46f0
cmp esi, ebp
jne 0x81bc70
mov r13, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x118]
mov r14, qword [rsp + 0x120]
mov rbx, qword [rsp + 0x128]
mov rbp, qword [rsp + 0x250]
mov r11d, dword [rsp + 0x108]
test r11d, r11d
jne 0x81c8e6
mov esi, dword [rsp + 0xf0]
mov r9d, dword [rsp + 0xe8]
mov edx, 0x61
mov rcx, r12
mov r8d, dword [rsp + 0x10c]
mov dword [rsp + 0x20], esi
call fcn.007ff320
mov r9d, esi
mov edx, 0x8a
mov rcx, r12
mov eax, dword [rsp + 0xe8]
mov r8d, dword [rsp + 0xf4]
xor esi, esi
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x10c]
mov dword [rsp + 0x20], eax
call fcn.007ff410
cmp dword [rsp + 0xe8], 1
je 0x81ca02
mov eax, dword [rsp + 0xe8]
cmp eax, dword [rbp + 0x28]
jle 0x81ba06
mov dword [rbp + 0x28], eax
mov eax, dword [rsp + 0x10c]
mov dword [rbp + 0x2c], eax
jmp 0x81ba06
mov dword [rsp + 0xf8], 1
mov dword [rsp + 0xf4], 1
jmp 0x818a2a
movzx ebx, al
sub ebx, dword [rsp + 0x70]
mov rcx, qword [rsp + 0x48]
lea esi, [rbx - 1]
movsxd rax, esi
lea rdx, [rax + rax*2]
lea rax, [rax + rdx*4]
lea rdx, [rax*8 + 0x70]
call fcn.007ae070
mov qword [rsp + 0x88], rax
mov r10, rax
test rax, rax
je 0x8199a0
lea eax, [rsi + 1]
movzx ecx, r14b
movzx eax, al
mov dword [r10 + 4], eax
mov dword [r10], eax
lea rax, [rcx + rcx*2]
lea rax, [rcx + rax*4]
lea rax, [r15 + rax*8 + 8]
movdqu xmm1, xmmword [rax]
movups xmmword [r10 + 8], xmm1
movdqu xmm2, xmmword [rax + 0x10]
movups xmmword [r10 + 0x18], xmm2
movdqu xmm3, xmmword [rax + 0x20]
movups xmmword [r10 + 0x28], xmm3
movdqu xmm4, xmmword [rax + 0x30]
movups xmmword [r10 + 0x38], xmm4
movdqu xmm1, xmmword [rax + 0x40]
movups xmmword [r10 + 0x48], xmm1
movdqu xmm2, xmmword [rax + 0x50]
movups xmmword [r10 + 0x58], xmm2
mov rax, qword [rax + 0x60]
mov qword [r10 + 0x68], rax
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 8]
mov qword [rsp + 0x78], rax
lea r8, [rax + 8]
test esi, esi
jle 0x81a62e
lea edx, [rbx - 2]
lea rcx, [r13 + 0xb0]
lea r9, [rdx + rdx*2]
lea rax, [r10 + 0x70]
lea rdx, [rdx + r9*4]
lea r9, [r10 + rdx*8 + 0xd8]
nop dword [rax]
movzx edx, byte [rcx]
add rax, 0x68
add rcx, 0x70
lea r10, [rdx + rdx*2]
lea rdx, [rdx + r10*4]
lea rdx, [r8 + rdx*8]
movdqu xmm5, xmmword [rdx]
movups xmmword [rax - 0x68], xmm5
movdqu xmm1, xmmword [rdx + 0x10]
movups xmmword [rax - 0x58], xmm1
movdqu xmm2, xmmword [rdx + 0x20]
movups xmmword [rax - 0x48], xmm2
movdqu xmm3, xmmword [rdx + 0x30]
movups xmmword [rax - 0x38], xmm3
movdqu xmm4, xmmword [rdx + 0x40]
movups xmmword [rax - 0x28], xmm4
movdqu xmm5, xmmword [rdx + 0x50]
movups xmmword [rax - 0x18], xmm5
mov rdx, qword [rdx + 0x60]
mov qword [rax - 8], rdx
cmp r9, rax
jne 0x81be58
jmp 0x81a62e
mov r9d, esi
mov r8d, ebx
mov rcx, r12
mov edx, 0xd
call fcn.007ff390
mov r8d, dword [r13 + 0x34]
mov dword [rsp + 0x20], ebx
mov r9d, esi
mov dword [rsp + 0x28], 1
mov rcx, r12
mov edx, 0x40
call fcn.007ff410
mov rax, qword [rsp + 0x68]
mov r9d, esi
mov rcx, rbp
mov r8d, dword [rsp + 0x70]
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x20], rax
call fcn.006fc720
jmp 0x81ac75
xor r9d, r9d
mov r8d, r14d
mov edx, 0x88
mov rcx, r12
mov qword [rsp + 0xb8], r10
call fcn.007ff390
mov r10, qword [rsp + 0xb8]
jmp 0x818952
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x81b2f0
movzx eax, byte [rbp + 0x1f]
test al, al
je 0x81c1da
sub eax, 1
mov byte [rbp + 0x1f], al
movzx eax, al
mov r15d, dword [rbp + rax*4 + 0xe8]
mov r9d, 1
mov r8d, r15d
mov rcx, rbp
mov dword [rsp + 0x130], r15d
call fcn.006e8360
movzx eax, byte [rdi]
sub eax, 0x37
and eax, 2
or eax, 1
cdqe
movzx edx, byte [rsp + rax + 0x180]
jmp 0x81b322
mov rcx, r13
call fcn.0084ff70
jmp 0x81827b
mov rcx, rdi
call fcn.007b3dd0
test eax, eax
je 0x818c96
mov r9d, dword [rsp + 0xd0]
mov r8d, dword [rsp + 0x80]
mov edx, 0x32
mov rcx, r12
call fcn.007ff390
jmp 0x818c96
mov rcx, rsi
mov dword [rsp + 0x108], r8d
mov dword [rsp + 0xe8], r11d
mov qword [rsp + 0xc8], r10
call fcn.007b3dd0
mov r10, qword [rsp + 0xc8]
mov r11d, dword [rsp + 0xe8]
test eax, eax
mov r8d, dword [rsp + 0x108]
je 0x818ac4
mov r9d, dword [rsp + 0xd0]
mov edx, 0x32
mov rcx, r12
call fcn.007ff390
mov r11d, dword [rsp + 0xe8]
mov r10, qword [rsp + 0xc8]
jmp 0x818ac4
lea rdx, [0x00868dc0]
mov r9d, ecx
mov r11d, 0x87
mov ecx, dword [rdx + 0xc]
jmp 0x81a2d1
lea rdx, [0x00868dc0]
mov r11d, dword [rdx + 0xc]
mov r10d, 0x87
jmp 0x81a782
cmp byte [r11 + 0x43], 2
je 0x818538
movsxd rax, dword [r14 + 0x90]
test eax, eax
jle 0x818538
mov r8, qword [r14 + 0x88]
lea rax, [rax + rax*2]
mov r9d, 2
lea rax, [r8 + rax*8]
mov word [rax - 0x16], r9w
jmp 0x818538
lea rdx, [rax + rax*2]
mov rax, qword [rcx + 0x88]
lea rdx, [rax + rdx*8]
jmp 0x81ba8c
test al, 0x40
je 0x8182d0
movzx edi, byte [rsp + 0xa8]
test byte [rsp + 0x78], 8
mov ecx, 8
cmovne edi, ecx
and eax, 0xffffffbf
mov dword [rdx + 0x38], eax
mov byte [rsp + 0xa8], dil
jmp 0x8182d0
mov ecx, dword [r12 + 0x90]
lea edx, [rcx - 1]
movsxd rdx, edx
lea rcx, [rdx + rdx*2]
mov rdx, qword [r12 + 0x88]
lea rcx, [rdx + rcx*8]
jmp 0x818aa7
mov ecx, dword [r12 + 0x90]
lea edx, [rcx - 1]
movsxd rdx, edx
lea rcx, [rdx + rdx*2]
mov rdx, qword [r12 + 0x88]
lea rcx, [rdx + rcx*8]
jmp 0x818c79
xor r14d, r14d
test rbx, rbx
jne 0x81b2c3
mov r8d, dword [rsp + 0xa8]
mov edx, 0x24
mov rcx, r12
call fcn.007ff390
jmp 0x81a563
movsxd rax, dword [rsp + 0xe8]
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
lea rax, [rax + rcx*8]
jmp 0x81932e
cmp di, ax
je 0x81c431
mov r10d, dword [rsp + 0xf4]
mov edi, dword [rsp + 0x98]
mov dword [rsp + 0x108], 0
shl r10d, 2
jmp 0x818b94
mov eax, dword [rbp + 0x38]
xor r8d, r8d
mov edx, 0x4b
mov rcx, r12
add eax, 1
mov dword [rbp + 0x38], eax
mov r9d, eax
mov dword [rsp + 0xf4], eax
call fcn.007ff390
mov eax, dword [rbp + 0x38]
add eax, 1
mov dword [rsp + 0xf0], eax
mov dword [rbp + 0x38], eax
jmp 0x81b66e
mov eax, dword [rbp + 0x38]
lea r15d, [rax + 1]
mov dword [rbp + 0x38], r15d
jmp 0x81bf65
mov rcx, r13
call fcn.00856ba0
movzx edi, byte [r13 + 0x40]
mov qword [rsp + 0x68], rax
mov dword [rsp + 0xac], edi
mov eax, edi
jmp 0x81ad39
mov r9d, dword [rsp + 0x98]
xor r8d, r8d
mov edx, 0x4b
mov rcx, r12
add r9d, dword [rsp + 0xb8]
call fcn.007ff390
mov dword [rsp + 0xf8], 0
jmp 0x81ae94
lea rax, [rbx + rbx*2]
xor r8d, r8d
lea rax, [rbx + rax*4]
mov rax, qword [r13 + rax*8 + 0x58]
test rax, rax
je 0x81c259
nop
add r8d, 1
shr rax, 1
jne 0x81c250
mov rcx, qword [rsp + 0x50]
mov r9d, 0xfffffffd
movsxd r8, r8d
mov edx, 0xffffffff
mov qword [rsp + 0x58], r11
call fcn.007ffe40
mov eax, dword [r15 + 0x38]
mov r11, qword [rsp + 0x58]
jmp 0x818450
mov rax, qword [rax + 0x10]
test rax, rax
je 0x819160
mov edx, dword [rax + 4]
test edx, 0x82000
jne 0x81913f
movzx edi, byte [rax]
lea edx, [rdi + 0x59]
and edx, 0xfd
jne 0x819160
cmp r14d, dword [rax + 0x2c]
jne 0x819160
cmp word [rax + 0x30], 0
jns 0x819160
jmp 0x819263
mov r9d, 0xffffffff
jmp 0x81a950
mov rax, qword [rsi + 0x40]
mov ecx, dword [rbp]
mov r10, qword [rax + rdi*8]
test ecx, ecx
jle 0x81c349
lea r9, [rdi + rdi]
xor r8d, r8d
mov r15, r10
nop dword [rax]
mov rax, r8
shl rax, 5
mov r11, qword [rbp + rax + 8]
mov rax, r11
test r11, r11
je 0x81c340
nop dword [rax]
mov edx, dword [rax + 4]
test edx, 0x82000
je 0x81c36c
and edx, 0x80000
je 0x81c358
mov rax, qword [rax + 0x20]
mov rax, qword [rax + 8]
test rax, rax
jne 0x81c318
nop dword [rax + rax]
add r8, 1
cmp ecx, r8d
jg 0x81c300
movzx eax, word [rsi + 0x5e]
jmp 0x819248
mov rax, qword [rax + 0x10]
test rax, rax
je 0x81c340
mov edx, dword [rax + 4]
test edx, 0x82000
jne 0x81c323
movzx edx, byte [rax]
add edx, 0x59
and edx, 0xfd
jne 0x81c340
mov rdx, qword [rsi + 8]
movzx edx, word [rdx + r9]
cmp word [rax + 0x30], dx
jne 0x81c340
cmp r14d, dword [rax + 0x2c]
jne 0x81c340
mov rcx, qword [rsp + 0x250]
mov rdx, r11
mov qword [rsp + 0x60], r8
mov qword [rsp + 0x58], r9
call fcn.007b7cf0
mov r9, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
test rax, rax
je 0x81ca82
mov r11, qword [rax]
xor ecx, ecx
jmp 0x81c3e2
lea r10, [0x00998440]
movzx edx, byte [r10 + rdx]
cmp byte [r10 + rax], dl
jne 0x81c9bb
add rcx, 1
movzx eax, byte [r11 + rcx]
movzx edx, byte [r15 + rcx]
cmp eax, edx
jne 0x81c3c8
test eax, eax
jne 0x81c3de
mov rax, qword [rsi + 8]
movsx rax, word [rax + r9]
movsx edx, ax
test edx, edx
jns 0x81c412
cmp edx, 0xffffffff
jne 0x81c349
jmp 0x819232
mov rdx, qword [rsi + 0x18]
lea rax, [rax + rax*2]
mov r9, qword [rdx + 8]
lea rax, [r9 + rax*8]
test byte [rax + 8], 0xf
jne 0x819232
jmp 0x81c349
mov dword [rsp + 0x108], 0
mov dword [rsp + 0xe8], 0
jmp 0x818c0d
movsxd rax, dword [rsp + 0x78]
lea rdx, [0x00969d90]
mov r8d, dword [rsp + 0xa8]
mov rcx, r12
movzx edx, byte [rdx + rax]
mov dword [r13 + 0x44], r8d
mov byte [r13 + 0x41], dl
lea rdx, [0x00969d60]
movzx edx, byte [rdx + rax]
call fcn.007ff390
mov byte [r13 + 0x43], 1
add eax, 1
mov dword [r13 + 0x48], eax
jmp 0x81a22c
mov eax, dword [rbp + 0x38]
mov edx, 0x47
mov rcx, r12
mov r8d, 1
mov qword [rsp + 0x88], r10
lea r9d, [rax + 1]
mov dword [rbp + 0x38], r9d
mov dword [r13 + 0x2c], r9d
call fcn.007ff390
mov eax, dword [r12 + 0x90]
mov rcx, qword [r15 + 0x38]
mov r10, qword [rsp + 0x88]
mov dword [r13 + 0x30], eax
mov eax, dword [r13 + 0x2c]
lea edx, [rax + rax]
movzx eax, di
mov dword [r13 + 0x2c], edx
cmp byte [rcx + rax], 1
sete al
movzx eax, al
xor eax, dword [rsp + 0x78]
or eax, edx
mov dword [r13 + 0x2c], eax
mov eax, dword [rbx + 0x38]
jmp 0x8188a2
mov edi, dword [rsp + 0x98]
xor r8d, r8d
mov edx, 0x4b
mov rcx, r12
mov r9d, dword [rsp + 0xb8]
add r9d, edi
call fcn.007ff390
mov r8d, edi
lea edi, [rdi + 1]
mov dword [rsp + 0xe0], 0
mov dword [rsp + 0x108], 1
mov dword [rsp + 0xf4], 1
jmp 0x818b4e
mov rax, qword [rdx + 0x20]
mov eax, dword [rax]
jmp 0x81bf3f
lea esi, [rax + 1]
jmp 0x81989a
mov rcx, qword [r15 + 8]
movzx edx, di
movsx rcx, word [rcx + rdx*2]
mov rdx, rcx
test ecx, ecx
js 0x81c9c3
mov rcx, qword [r15 + 0x18]
lea rdx, [rdx + rdx*2]
mov r8, qword [rcx + 8]
lea rdx, [r8 + rdx*8]
test byte [rdx + 8], 0xf
sete byte [rsp + 0xe8]
jmp 0x8188b3
mov rax, qword [rdx + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jg 0x81b3d7
jmp 0x81b3c8
mov rax, qword [rsi + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x818b29
mov dword [rsp + 0x108], 0
mov r8d, edi
mov byte [rsp + 0xc8], 1
mov dword [rsp + 0xe0], 1
jmp 0x818b4e
mov rax, qword [rdi + 0x20]
mov rax, qword [rax + 0x20]
mov eax, dword [rax]
cmp eax, 1
jle 0x818ced
mov dword [rsp + 0xf8], 1
jmp 0x818d01
cmp qword [rdx + 0x308], 0
jne 0x819da4
sub dword [rax], 1
jne 0x819da4
mov rcx, qword [rax + 0x10]
mov rdx, rax
call fcn.007ae1d0
mov r11, qword [rsp + 0x58]
jmp 0x819da4
mov rcx, qword [rdx + 0x20]
mov ecx, dword [rcx]
jmp 0x81b46c
mov rax, qword [rdx + 0x20]
mov eax, dword [rax]
jmp 0x81c59f
mov rax, qword [rdi + 0x20]
mov eax, dword [rax]
jmp 0x81c5f0
mov rax, qword [rsi + 0x20]
mov eax, dword [rax]
jmp 0x81c5b7
mov r9d, eax
xor r8d, r8d
mov edx, 0x47
mov rcx, r12
mov qword [rsp + 0xb8], r10
call fcn.007ff390
mov r10, qword [rsp + 0xb8]
jmp 0x81afb0
mov eax, dword [r12 + 0x90]
mov dword [r13 + 0x4c], eax
mov rax, qword [rsp + 0xa0]
cmp byte [rax + 0x67], 0
jne 0x81800d
jmp 0x8199c9
mov dword [rsp + 0xf8], 1
mov dword [rsp + 0xe0], 1
jmp 0x81b0d5
mov rax, qword [r15 + 0x10]
xor r9d, r9d
mov edx, 0x7c
mov rcx, r12
mov dword [rsp + 0xf4], r10d
movsx eax, word [rax]
add eax, 9
movsxd r8, eax
sar eax, 0x1f
imul r8, r8, 0x66666667
sar r8, 0x22
sub r8d, eax
call fcn.007ff390
mov r10d, dword [rsp + 0xf4]
cmp qword [rsp + 0xc0], 0
mov dword [rsp + 0xe8], eax
jne 0x81ca16
cmp byte [rsp + 0xc8], 0
jne 0x81ca16
mov dword [rsp + 0x28], edi
mov edx, 0x17
mov r8d, r14d
mov rcx, r12
mov eax, dword [rsp + 0xb8]
mov r9d, dword [rsp + 0xd0]
mov dword [rsp + 0x20], eax
call fcn.007ff410
mov edx, dword [rsp + 0x88]
test edx, edx
jne 0x81b1e0
cmp byte [rsp + 0x80], 0
jne 0x81c20a
mov esi, dword [rsp + 0x98]
jmp 0x818d01
mov rdi, qword [rsi + 0x10]
test rdi, rdi
je 0x81caad
mov qword [rsp + 0x68], r15
mov r15, qword [rsp + 0x48]
mov qword [rsp + 0x70], r13
mov r13d, dword [rsp + 0x58]
mov qword [rsp + 0x60], r12
mov qword [rsp + 0x250], rbp
jmp 0x81c7c5
mov rdi, qword [rdi + 0x28]
test rdi, rdi
je 0x81ca96
cmp byte [rdi + 0x62], 0
je 0x81c7b8
cmp qword [rdi + 0x48], 0
jne 0x81c7b8
movzx eax, word [rdi + 0x5e]
cmp ax, 3
ja 0x81c7b8
movzx edx, byte [rdi + 0x64]
mov ecx, edx
and ecx, 8
cmp cl, 1
sbb esi, esi
and esi, 0xffffff80
add esi, 0x82
mov dword [rsp + 0x48], esi
test ax, ax
je 0x81cb09
xor esi, esi
nop word [rax + rax]
mov eax, dword [rsp + 0x48]
mov qword [rsp + 0x28], rdi
mov r9d, esi
mov r8d, r13d
mov rdx, r15
mov rcx, rbx
mov r12d, esi
mov ebp, esi
mov dword [rsp + 0x20], eax
call fcn.00859010
test rax, rax
jne 0x81c849
jmp 0x81c8e0
mov rcx, rbx
call fcn.00859130
test rax, rax
je 0x81c8e0
cmp qword [rax + 0x28], 0
jne 0x81c838
mov rdx, qword [r14 + 0x48]
lea ebp, [r12 + 1]
mov qword [rdx + rsi*8], rax
movzx eax, word [rdi + 0x5e]
add rsi, 1
cmp eax, esi
jg 0x81c808
nop dword [rax]
cmp ebp, eax
jne 0x81c7b8
mov r12, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
mov r13, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x250]
movzx edx, byte [rdi + 0x64]
and edx, 0x20
mov dword [r14 + 0x38], 0x1201
jne 0x81cac0
mov rsi, qword [rsp + 0x50]
mov rdx, qword [rsi + 0x58]
test qword [rdi + 0x98], rdx
je 0x81cac0
mov esi, 0x27
mov word [r14 + 0x3c], ax
mov word [r14 + 0x18], ax
mov eax, 0x1201
mov qword [r14 + 0x20], rdi
mov word [r14 + 0x14], si
jmp 0x81ab7c
movzx eax, word [rdi + 0x5e]
jmp 0x81c870
mov eax, dword [rsp + 0xe8]
xor r9d, r9d
mov edx, 0x1d
mov rcx, r12
mov r8d, dword [rsp + 0xf4]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x10c]
mov dword [rsp + 0x20], eax
call fcn.007ff410
cmp dword [rsp + 0x108], 0xffffffff
movsxd rsi, eax
je 0x81bd27
mov eax, dword [rsp + 0xf0]
mov r9d, dword [rsp + 0xe8]
mov edx, 0x61
mov rcx, r12
mov r8d, dword [rsp + 0x10c]
mov dword [rsp + 0x20], eax
call fcn.007ff320
mov ecx, dword [rsp + 0xe8]
mov edx, 0x8a
mov r9d, dword [rsp + 0xf0]
mov r8d, dword [rsp + 0xf4]
mov dword [rsp + 0x28], ecx
mov ecx, dword [rsp + 0x10c]
mov dword [rsp + 0x20], ecx
mov rcx, r12
call fcn.007ff410
movsxd rax, dword [r12 + 0x90]
test eax, eax
jle 0x81bd27
mov r9, qword [r12 + 0x88]
lea rax, [rax + rax*2]
mov r10d, 0x10
lea rax, [r9 + rax*8]
mov word [rax - 0x16], r10w
jmp 0x81bd27
mov r12d, 0xffff8000
jmp 0x81838e
mov ecx, dword [rbp]
jmp 0x81c340
cmp ecx, 0xfffffffe
sete byte [rsp + 0xe8]
jmp 0x8188b3
movsxd rax, dword [rbp + 0x140]
test eax, eax
je 0x81caf1
mov dword [rsp + 0x80], 0
mov rcx, qword [rbp + 0x10]
mov qword [rsp + 0xc0], 0
jmp 0x81ba77
mov edx, dword [rsp + 0x10c]
mov rcx, rbp
call fcn.007e7460
jmp 0x81ba06
mov eax, dword [r12 + 0x90]
test eax, eax
jle 0x81ca40
mov rcx, qword [r12 + 0x88]
movsxd rdx, eax
mov r8d, 1
lea rdx, [rdx + rdx*2]
lea rdx, [rcx + rdx*8]
mov word [rdx - 0x16], r8w
mov rcx, qword [r12]
add eax, 1
lea rdx, [0x00868dc0]
cmp byte [rcx + 0x67], 0
jne 0x81ca6c
movsxd rdx, dword [rsp + 0xe8]
lea rcx, [rdx + rdx*2]
mov rdx, qword [r12 + 0x88]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
jmp 0x818bce
mov rax, rbx
mov rbx, r14
mov r14, rax
jmp 0x81b4ab
mov rax, qword [rsp + 0x250]
mov rax, qword [rax]
mov rax, qword [rax + 0x10]
jmp 0x81c3bc
mov r12, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
mov r13, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x250]
mov eax, dword [r14 + 0x38]
test eax, eax
je 0x81808e
jmp 0x81ab7c
mov qword [r14 + 0x20], rdi
mov edi, 0x27
mov word [r14 + 0x3c], ax
mov word [r14 + 0x18], ax
mov eax, 0x1241
mov dword [r14 + 0x38], 0x1241
mov word [r14 + 0x14], di
jmp 0x81ab7c
xor eax, eax
jmp 0x81a991
mov qword [r13 + 0x50], 0
mov dword [rsp + 0x80], 0
jmp 0x81bab1
mov r12, qword [rsp + 0x60]
mov r15, qword [rsp + 0x68]
xor eax, eax
mov r13, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x250]
jmp 0x81c893
mov rbx, r14
mov edx, 0x24
jmp 0x81ad78
jmp 0x8642de
jmp 0x8642e8
jmp 0x8642e8
jmp 0x8642c0
jmp 0x8642ca
jmp 0x8642d4
movzx eax, word [0x5e]
ud2
movzx eax, word [0x5e]
ud2
movzx eax, word [0x5e]
ud2
movzx eax, word [0x5e]
ud2
add dword [rbp + 0x34], 1
movzx eax, word [0x5e]
ud2