Function at 0x140361c74
Capabilities:
Encrypt data using speck
Reference sql statements

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x2d8]
sub rsp, 0x3b0
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x1404fcf48]
xor rax, rsp
mov qword [rbp + 0x288], rax
mov rdi, qword [rcx + 0x88]
mov r14, rcx
mov qword [rsp + 0x58], rcx
xor ecx, ecx
mov r13d, ecx
mov dword [rsp + 0x30], ecx
mov byte [rbp - 0x80], cl
mov ebx, ecx
mov r15, qword [r14]
mov rsi, qword [r14 + 0x68]
mov dword [rsp + 0x70], ecx
mov qword [rbp - 0x50], rcx
mov rcx, r14
mov al, byte [r15 + 0x64]
mov byte [rsp + 0x34], al
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], r15
mov qword [rsp + 0x60], rsi
call fcn.140361ba0
xor r10d, r10d
cmp qword [r15 + 0x208], r10
je 0x140361d28
mov ecx, dword [r15 + 0x218]
xor edx, edx
mov eax, dword [r14 + 0xe4]
div ecx
sub ecx, edx
mov r12d, ecx
jmp 0x140361d2c
or r12, 0xffffffffffffffff
cmp dword [r14 + 0x34], 7
mov r11d, 1
mov qword [rsp + 0x40], r12
lea r8d, [r11 + 1]
je 0x14036879d
mov dword [r14 + 0x34], r10d
mov qword [r14 + 0x48], r10
mov qword [r14 + 0xa0], r10
mov eax, dword [r15 + 0x198]
mov dword [r15 + 0x290], r10d
test eax, eax
jne 0x14036874c
movsxd rax, dword [r14 + 0x30]
lea edx, [r11 + 3]
mov r9d, 0x9000
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea r12, [rdi + rcx*8]
lea ecx, [rdx + 0xc]
add rbx, r11
mov qword [rsp + 0x48], r12
mov qword [rbp - 0x50], rbx
mov eax, 5
movzx ebx, byte [r12]
cmp ebx, 0x5a
ja 0x1403645ee
je 0x1403644c8
cmp ebx, 0x2c
ja 0x1403635a3
je 0x14036341b
cmp ebx, 0x16
ja 0x140362d1b
je 0x140362ba3
cmp ebx, 0xb
ja 0x140362988
je 0x14036292c
cmp ebx, eax
ja 0x1403626dd
je 0x140362671
test ebx, ebx
je 0x1403622aa
sub ebx, 1
je 0x1403682fb
sub ebx, 1
je 0x140362104
sub ebx, 1
je 0x140362029
cmp ebx, 1
jne 0x140362975
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
movsxd rcx, dword [r12 + 4]
mov r14, rax
mov rax, qword [r15 + 0x20]
shl rcx, 5
cmp dword [r12 + 0xc], 0xffffffff
mov r15, qword [rcx + rax + 8]
mov rax, qword [r15 + 8]
mov rdi, qword [rax]
movzx esi, byte [rdi + 9]
mov ecx, esi
cmovne ecx, dword [r12 + 0xc]
xor edx, edx
cmp byte [rdi + 0x15], 3
jb 0x140361e58
mov eax, edx
jmp 0x140361e6c
mov rax, qword [rdi + 0x50]
cmp qword [rax], rdx
je 0x140361e67
cmp qword [rdi + 0x60], rdx
jg 0x140361e54
mov eax, 1
test eax, eax
mov ebx, esi
cmovne ebx, ecx
lea rcx, [0x1404d98fc]
cmp byte [rdi + 0x13], dl
jne 0x140361e86
mov rcx, qword [rdi + 0xd8]
mov r9d, 5
cmp ebx, r9d
jne 0x140361ed3
test rcx, rcx
je 0x140361f31
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
and eax, 0x3fffffff
je 0x140361f31
mov rax, qword [rdi + 0x48]
xor edx, edx
mov rcx, qword [rax]
cmp byte [rdi + 0x11], dl
jne 0x140361f31
cmp byte [rdi + 8], dl
jne 0x140361eca
lea eax, [rdx + 2]
cmp dword [rcx], eax
jl 0x140361f31
cmp qword [rcx + 0x68], rdx
je 0x140361f31
mov r9d, 5
mov ebx, r9d
cmp ebx, esi
je 0x140361f6e
cmp esi, r9d
je 0x140361ee9
cmp ebx, r9d
jne 0x140361f6e
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x65], dl
je 0x1403681ea
mov ecx, 1
cmp dword [rax + 0xdc], ecx
jg 0x1403681ea
cmp esi, r9d
jne 0x140361f35
mov rdx, rax
mov rcx, rdi
call fcn.140351e34
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x140361f6e
mov edx, ebx
mov rcx, rdi
call fcn.140352bc0
xor edx, edx
jmp 0x140361f50
mov ebx, esi
jmp 0x140361f6e
mov eax, 4
cmp esi, eax
jne 0x140361f4b
lea edx, [rax - 2]
mov rcx, rdi
call fcn.140352bc0
xor edx, edx
test r13d, r13d
jne 0x140361f6e
mov ecx, 5
cmp ebx, ecx
sete dl
lea eax, [rcx - 4]
mov rcx, r15
add edx, eax
call fcn.140334e58
mov r13d, eax
mov dword [rsp + 0x30], eax
xor r15d, r15d
mov rcx, rdi
test r13d, r13d
cmove esi, ebx
mov edx, esi
call fcn.140352bc0
mov edx, 0x2202
mov word [r14 + 0x14], dx
cmp eax, 6
jne 0x140361f95
mov ecx, r15d
jmp 0x140361fa6
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x4d4880]
mov qword [r14 + 8], rcx
test rcx, rcx
jne 0x140361fb7
mov eax, r15d
movzx ecx, dx
jmp 0x140361fc6
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
movzx ecx, word [r14 + 0x14]
and eax, 0x3fffffff
mov edx, 1
mov dword [r14 + 0x10], eax
mov al, byte [rsp + 0x34]
mov byte [r14 + 0x16], dl
lea edi, [rdx + 1]
test dil, cl
jne 0x140361fe5
mov byte [r14 + 0x16], al
jmp 0x140361ff3
cmp al, dl
je 0x140361ff3
mov dl, al
mov rcx, r14
call fcn.14036a9f8
mov r14, qword [rsp + 0x58]
xor r10d, r10d
test r13d, r13d
jne 0x1403684c6
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x38]
mov edx, 4
mov r11d, 1
mov r9d, 0x9000
jmp 0x140362970
mov r8d, dword [r12 + 8]
lea rax, [rbp + 0x280]
mov edx, dword [r12 + 4]
lea r9, [rbp + 0x27c]
or dword [rbp + 0x280], 0xffffffff
mov rcx, r15
or dword [rbp + 0x27c], 0xffffffff
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x278], r10d
call fcn.140335790
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
je 0x140362092
lea ecx, [r10 + 5]
cmp eax, ecx
jne 0x1403626af
lea r11d, [r10 + 1]
mov dword [rsp + 0x30], r10d
mov dword [rbp + 0x278], r11d
mov r13d, r10d
jmp 0x140362098
mov r11d, 1
movsxd rax, dword [r12 + 0xc]
mov rdi, r10
imul rbx, rax, 0x38
mov ecx, 0x9000
mov r14d, 4
add rbx, rsi
movsxd rax, dword [rbp + rdi*4 + 0x278]
test word [rbx + 0x14], cx
je 0x1403620d8
mov rdx, rax
mov rcx, rbx
call fcn.14037a540
mov ecx, 0x9000
mov r11d, 1
jmp 0x1403620e0
mov qword [rbx], rax
mov word [rbx + 0x14], r14w
add rdi, r11
add rbx, 0x38
cmp rdi, 3
jl 0x1403620b2
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
xor r10d, r10d
mov edx, 4
jmp 0x14036201e
mov edx, dword [r12 + 8]
mov edi, r10d
mov dword [rsp + 0x68], r10d
test edx, edx
je 0x14036212c
mov rax, qword [r15 + 0x30]
movabs rcx, 0x200100000
test rcx, rax
jne 0x140368226
movsxd r14, dword [r12 + 4]
shl r14, 5
add r14, qword [r15 + 0x20]
mov rbx, qword [r14 + 8]
test rbx, rbx
je 0x14036226d
lea r8, [rsp + 0x68]
mov rcx, rbx
call fcn.1403320c8
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x14036823e
mov r15, qword [rsp + 0x58]
lea eax, [r13 + 0x20]
mov rsi, qword [rsp + 0x50]
test byte [r15 + 0xc8], al
je 0x140362267
cmp dword [r12 + 8], r10d
je 0x140362267
lea eax, [r13 + 1]
cmp byte [rsi + 0x65], r10b
je 0x1403621a1
cmp dword [rsi + 0xdc], eax
jle 0x140362267
mov r8d, dword [r15 + 0x40]
test r8d, r8d
jne 0x1403621c2
add dword [rsi + 0x2ec], eax
mov r8d, dword [rsi + 0x2e8]
add r8d, dword [rsi + 0x2ec]
mov dword [r15 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, rsi
call fcn.14036d3f4
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x14036224b
mov edi, dword [r15 + 0x40]
mov rsi, qword [rbx + 8]
cmp byte [rbx + 0x11], r10b
je 0x140362203
lea eax, [r13 + 1]
add dword [rbx + 0x14], eax
cmp byte [rbx + 0x12], r10b
jne 0x140362203
mov rcx, rbx
call fcn.1402e91f0
xor r10d, r10d
mov rcx, qword [rsi]
cmp edi, dword [rcx + 0x80]
jle 0x140362227
cmp byte [rcx + 0xa], r10b
je 0x140362227
mov edx, edi
call fcn.14031fa84
mov r13d, eax
mov dword [rsp + 0x30], eax
xor r10d, r10d
jmp 0x14036222f
mov r13d, r10d
mov dword [rsp + 0x30], r10d
cmp byte [rbx + 0x11], r10b
je 0x140362246
sub dword [rbx + 0x14], 1
jne 0x140362246
mov rcx, rbx
call fcn.140376df0
xor r10d, r10d
mov rsi, qword [rsp + 0x50]
mov rax, qword [rsi + 0x2f0]
mov edi, dword [rsp + 0x68]
mov qword [r15 + 0x58], rax
mov rax, qword [rsi + 0x2f8]
mov qword [r15 + 0x60], rax
jmp 0x140362272
mov edi, dword [rsp + 0x68]
jmp 0x14036227b
mov rsi, qword [rsp + 0x50]
test r13d, r13d
jne 0x140366988
cmp word [r12 + 2], r10w
je 0x1403622a0
cmp edi, dword [r12 + 0xc]
jne 0x14036828c
mov rcx, qword [r14 + 0x18]
mov eax, dword [r12 + 0x10]
cmp dword [rcx + 4], eax
jne 0x14036828c
mov r14, qword [rsp + 0x58]
jmp 0x140362004
mov rbx, qword [rsp + 0x48]
mov r12d, dword [r12 + 4]
mov rsi, qword [rbx + 0x10]
test r12d, r12d
jne 0x140362391
cmp dword [r15 + 0xe0], r10d
jg 0x140368415
test rsi, rsi
jne 0x1403622d8
mov edi, r10d
jmp 0x1403622e9
mov rcx, rsi
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
mov rdi, rax
and edi, 0x3fffffff
mov r8d, dword [r15 + 0x2ec]
xor edx, edx
add r8d, dword [r15 + 0x2e8]
mov rcx, r15
call fcn.14036d3f4
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626b4
mov edx, edi
mov rcx, r15
add rdx, 0x21
call fcn.1403390a8
xor r10d, r10d
mov rbx, rax
test rax, rax
je 0x140362649
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rdi + 1]
call fcn.14038a820
xor r10d, r10d
lea eax, [r13 + 1]
cmp byte [r15 + 0x65], r10b
je 0x14036235d
mov byte [r15 + 0x65], r10b
mov byte [r15 + 0x6d], al
jmp 0x140362364
add dword [r15 + 0x2e8], eax
mov rax, qword [r15 + 0x2d8]
mov qword [rbx + 0x18], rax
mov rax, qword [r15 + 0x2f0]
mov qword [r15 + 0x2d8], rbx
mov qword [rbx + 8], rax
mov rax, qword [r15 + 0x2f8]
mov qword [rbx + 0x10], rax
jmp 0x140362649
mov r15, qword [r15 + 0x2d8]
mov ebx, r10d
test r15, r15
je 0x140368491
mov rcx, qword [r15]
mov rdx, rsi
call fcn.14035d854
xor r10d, r10d
test eax, eax
je 0x1403623bf
mov r15, qword [r15 + 0x18]
add ebx, r11d
jmp 0x14036239b
mov rcx, qword [rsp + 0x50]
cmp dword [rcx + 0xe0], r10d
jle 0x1403623d6
cmp r12d, r11d
je 0x14036842f
lea rdi, [r15 + 0x18]
mov qword [rsp + 0x78], rdi
cmp qword [rdi], r10
jne 0x140362456
cmp byte [rcx + 0x6d], r10b
je 0x140362456
mov r13d, r11d
cmp r12d, r11d
jne 0x140362459
mov edx, r11d
mov rcx, r14
call fcn.140361564
xor r10d, r10d
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1403688ea
mov rsi, qword [rsp + 0x50]
lea eax, [r10 + 1]
mov rcx, r14
mov byte [rsi + 0x65], al
call fcn.140369018
mov r8d, 5
cmp eax, r8d
je 0x14036843b
mov eax, dword [r14 + 0x34]
xor r10d, r10d
mov dword [rsp + 0x30], eax
test eax, eax
je 0x140362444
mov byte [rsi + 0x65], r10b
jmp 0x140362448
mov byte [rsi + 0x6d], r10b
mov rdx, rsi
mov r11d, 1
jmp 0x14036256b
mov r13d, r10d
mov edx, dword [rcx + 0x2e8]
mov eax, dword [rcx + 0x28]
sub edx, ebx
sub edx, r11d
mov dword [rsp + 0x68], edx
cmp r12d, 2
jne 0x1403624ca
mov r14d, dword [rcx + 0x2c]
mov esi, r10d
and r14d, r11d
test eax, eax
jle 0x1403624cd
mov edi, r14d
mov rbx, r10
xor edi, r11d
mov rcx, qword [rcx + 0x20]
mov r8d, edi
mov edx, 0x204
mov rcx, qword [rcx + rbx + 8]
call fcn.140335464
xor r10d, r10d
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1403687c3
mov rcx, qword [rsp + 0x50]
lea r11d, [rax + 1]
add esi, r11d
add rbx, 0x20
mov eax, dword [rcx + 0x28]
cmp esi, eax
jl 0x140362488
mov edx, dword [rsp + 0x68]
jmp 0x1403624cd
mov r14d, r10d
mov edi, r10d
test eax, eax
jle 0x140362515
mov rbx, r10
mov rcx, qword [rcx + 0x20]
mov r8d, edx
mov edx, r12d
mov rcx, qword [rcx + rbx + 8]
call fcn.1403348d8
xor r10d, r10d
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1403687c3
mov rcx, qword [rsp + 0x50]
lea r11d, [rax + 1]
mov edx, dword [rsp + 0x68]
add edi, r11d
add rbx, 0x20
cmp edi, dword [rcx + 0x28]
jl 0x1403624d7
jmp 0x140362519
mov eax, dword [rsp + 0x30]
test r14d, r14d
je 0x140362558
mov rax, qword [rcx + 8]
jmp 0x140362536
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r11d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140362524
call fcn.140358b7c
mov rdx, qword [rsp + 0x50]
mov r11d, 1
mov eax, dword [rsp + 0x30]
or dword [rdx + 0x2c], r11d
xor r10d, r10d
jmp 0x14036255d
mov rdx, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x78]
mov ebx, dword [rsp + 0x68]
test eax, eax
jne 0x1403687cd
mov rcx, qword [rdx + 0x2d8]
cmp rcx, r15
je 0x1403625be
mov r14, qword [rsp + 0x50]
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r14
mov qword [r14 + 0x2d8], rax
call fcn.140338ff0
mov rcx, qword [r14 + 0x2d8]
dec dword [r14 + 0x2e8]
cmp rcx, r15
jne 0x140362584
mov r14, qword [rsp + 0x58]
xor r10d, r10d
mov rdx, qword [rsp + 0x50]
lea r11d, [r10 + 1]
cmp r12d, r11d
jne 0x140362613
mov rax, qword [rdi]
mov qword [rdx + 0x2d8], rax
mov rdx, r15
mov r15, qword [rsp + 0x50]
mov rcx, r15
call fcn.140338ff0
xor r10d, r10d
test r13d, r13d
jne 0x140362644
dec dword [r15 + 0x2e8]
mov edi, 2
mov r8d, ebx
mov edx, r12d
mov rcx, r15
call fcn.14036d3f4
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403684c6
jmp 0x140362649
mov rax, qword [r15 + 8]
mov qword [rdx + 0x2f0], rax
mov rax, qword [r15 + 0x10]
mov r15, qword [rsp + 0x50]
mov qword [r15 + 0x2f8], rax
test r13d, r13d
je 0x1403625ec
mov edi, 2
cmp r12d, edi
je 0x1403625f1
mov r13d, dword [rsp + 0x30]
jmp 0x14036264f
mov r13d, dword [rsp + 0x30]
mov r11d, 1
cmp byte [r14 + 0xc5], 3
je 0x140368486
mov r12, qword [rsp + 0x48]
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x38]
jmp 0x1403620fa
cmp dword [r12 + 8], r10d
je 0x140362686
movsxd rax, dword [r12 + 8]
imul r9, rax, 0x38
add r9, rsi
jmp 0x140362689
mov r9, r10
mov r8d, dword [r12 + 4]
lea rcx, [r14 + 0xa8]
mov rdx, r15
call fcn.140359938
xor r10d, r10d
mov dword [rsp + 0x30], eax
test eax, eax
mov r13d, eax
je 0x140362013
mov rbx, qword [rsp + 0x48]
mov edi, 2
mov rsi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x50]
cmp byte [r15 + 0x67], r10b
je 0x1403687e6
mov r13d, 7
jmp 0x1403687ff
sub ebx, 6
je 0x140362863
sub ebx, 1
je 0x140362769
sub ebx, 1
je 0x140363d6a
sub ebx, 1
je 0x14036272e
cmp ebx, 1
jne 0x140362975
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, dword [r12 + 0xc]
sub eax, r11d
cdqe
mov qword [rcx + rsi], rax
mov word [rcx + rsi + 0x14], dx
cmp dword [r12 + 8], r10d
je 0x140362970
jmp 0x140368095
movsxd rax, dword [r12 + 4]
mov rcx, r12
imul r8, rax, 0x38
sub rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
mov word [r8 + rsi + 0x14], dx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + rsi], rax
jmp 0x140363d6a
mov qword [rbp - 0x20], r10
cmp byte [r15 + 0x67], r10b
jne 0x140368798
mov rax, qword [r12 + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1403684d0
mov r10, qword [rbx]
xor r11d, r11d
test r10, r10
je 0x1403684d0
movsxd rdx, dword [r12 + 8]
cmp qword [r10 + 0x68], r11
je 0x1403681da
movsxd rax, dword [r12 + 0xc]
mov dil, byte [r15 + 0x6c]
mov r8, qword [r14 + 0x70]
imul rcx, rax, 0x38
mov eax, r11d
add rcx, rsi
test edx, edx
jle 0x1403627d6
lea r13d, [r11 + 1]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r13
cmp rax, rdx
jl 0x1403627c6
mov al, byte [r12 + 2]
lea r9, [rbp - 0x20]
mov rcx, rbx
mov byte [r15 + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r15 + 0x6c], dil
mov rcx, r14
mov dword [rsp + 0x30], eax
mov r13d, eax
call fcn.14036d168
xor r10d, r10d
test r13d, r13d
jne 0x14036282f
cmp dword [r12 + 4], r10d
je 0x140362817
mov rax, qword [rbp - 0x20]
mov qword [r15 + 0x38], rax
mov r11d, 1
add qword [r14 + 0x38], r11
test r13d, r13d
jne 0x1403626af
jmp 0x140362667
cmp r13b, 0x13
jne 0x140362817
mov rax, qword [r12 + 0x10]
cmp byte [rax + 0x1c], r10b
je 0x140362817
mov edx, 4
cmp word [r12 + 2], dx
jne 0x1403684a8
mov r13d, r10d
mov dword [rsp + 0x30], r10d
mov rdi, qword [rsp + 0x38]
jmp 0x140362018
movsxd rax, dword [r12 + 0xc]
lea r11, [rsi + 0x38]
movsxd rcx, dword [r12 + 4]
mov r8, r10
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
add r11, rdx
mov r13, qword [rax + rcx*8]
mov edx, dword [rdx + rsi]
mov rsi, qword [rsp + 0x58]
movsxd r9, dword [r11]
mov rdi, qword [r13 + 0x30]
mov qword [rsp + 0x78], r13
mov rsi, qword [rsi + 0x70]
mov r15, qword [rdi]
mov r14, qword [r15]
test r9d, r9d
jle 0x1403628cd
mov r13d, 1
mov r10d, r13d
movsxd rax, r10d
add r10d, r13d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rsi + r8*8], rcx
add r8, r13
cmp r8, r9
jl 0x1403628af
mov r13, qword [rsp + 0x78]
mov r8, qword [r12 + 0x10]
mov rcx, rdi
mov qword [rsp + 0x20], rsi
call qword [r14 + 0x40]
mov rcx, qword [rsp + 0x58]
mov rdx, r15
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.14036d168
xor r10d, r10d
test esi, esi
jne 0x1403687c3
mov rcx, rdi
call qword [r14 + 0x50]
xor r10d, r10d
lea edx, [rsi + 4]
mov byte [r13 + 2], r10b
mov r13d, esi
test eax, eax
jne 0x1403631dc
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
jmp 0x140362859
movsxd rax, dword [r12 + 4]
sub r12, rdi
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + rsi]
mov word [r8 + rsi + 0x14], dx
imul r12
lea rcx, [rcx + rcx*2]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + rsi], rax
lea r12, [rdi + rcx*8]
mov edx, 4
mov ecx, 0x10
mov rbx, qword [rbp - 0x50]
add r12, 0x18
mov r8d, 2
jmp 0x140361d87
cmp ebx, 0x11
ja 0x140362b81
je 0x140362b48
sub ebx, 0xc
je 0x140362ada
sub ebx, 1
je 0x140362a9a
sub ebx, 1
je 0x140362a11
sub ebx, 1
je 0x1403629e7
cmp ebx, 1
jne 0x140362975
cmp dword [r12 + 0xc], r10d
mov edx, r10d
movsxd rax, dword [r12 + 4]
sete dl
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140361448
xor r10d, r10d
lea edx, [rbx + 3]
test eax, eax
je 0x1403631dc
jmp 0x140362018
movsxd rax, dword [r12 + 4]
mov edx, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140361448
xor r10d, r10d
lea edx, [r10 + 4]
test eax, eax
jne 0x1403631dc
jmp 0x140362018
mov r8, qword [r14 + 0x108]
test r8, r8
je 0x140362a78
mov r9, qword [r8 + 0x30]
mov rcx, r12
sub rcx, qword [r14 + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x140368090
bts eax, edx
mov edx, 4
mov byte [rcx + r9], al
mov r9d, 0x9000
mov rcx, qword [r14 + 0x88]
jmp 0x140362a8d
mov rcx, qword [r14 + 0x88]
mov eax, dword [r12 + 4]
cmp dword [rcx + 4], eax
je 0x140368095
mov eax, dword [rcx + 4]
mov dword [r12 + 4], eax
jmp 0x140362970
mov edx, dword [rsp + 0x70]
test edx, edx
jns 0x140362ab5
mov eax, dword [r12 + 4]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
jmp 0x140362967
mov edx, 4
jne 0x140362ad3
mov eax, dword [r12 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r12, [rdi + rcx*8]
jmp 0x140362970
mov eax, dword [r12 + 0xc]
jmp 0x140362ac1
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, rsi
movzx eax, word [rbx + 0x14]
test dl, al
jne 0x140362b32
mov r8b, byte [rsp + 0x34]
mov dl, 0x43
mov rcx, rbx
call fcn.1402e5fd8
movzx eax, word [rbx + 0x14]
mov edx, 4
xor r10d, r10d
test dl, al
jne 0x140362b23
cmp dword [r12 + 8], r10d
je 0x1403684db
mov r11d, 1
jmp 0x140368095
mov ecx, 0x10
mov r9d, 0x9000
lea r11d, [rcx - 0xf]
mov r8d, 0xf244
and ax, r8w
or ax, dx
mov word [rbx + 0x14], ax
jmp 0x140362975
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
movzx eax, word [rcx + rsi + 0x14]
test r11b, al
jne 0x140368095
and eax, 0x3f
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x4da890]
cmp eax, dword [r12 + 0xc]
je 0x140368095
jmp 0x140362970
mov ecx, ebx
sub ecx, 0x12
je 0x140362cd4
sub ecx, 1
je 0x140362c52
sub ecx, 1
je 0x140362ba3
cmp ecx, 1
jne 0x140362970
movsxd rcx, dword [r12 + 4]
mov r12d, r10d
mov rax, qword [r14 + 0x78]
mov r15, qword [rax + rcx*8]
and word [r15 + 2], 0
mov dword [r15 + 0x20], r10d
cmp byte [r15 + 4], r10b
je 0x140362e4c
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rcx + 0xc]
imul rdi, rax, 0x38
add rdi, rsi
movzx esi, word [rdi + 0x14]
mov al, sil
and al, 0x2e
cmp al, r8b
jne 0x140362bef
xor edx, edx
mov rcx, rdi
call fcn.1402e6050
mov rcx, rdi
call fcn.14036958c
movzx ecx, word [rdi + 0x14]
mov r14, rax
mov word [rdi + 0x14], si
test cl, 0x24
jne 0x140362e19
mov eax, 8
test al, cl
jne 0x140362ded
lea r11d, [rax - 7]
test r11b, cl
jne 0x140366cb9
cmp ebx, 0x16
jae 0x140366cb9
mov rcx, qword [r15 + 0x30]
lea rdx, [rbp - 0x7c]
call fcn.140333ee4
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x140366988
jmp 0x140362f84
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rcx, rsi
add rbx, rsi
test byte [rcx + 0x14], r11b
jne 0x140362cb9
xor edx, edx
call fcn.140361448
xor r10d, r10d
mov r9d, 0x9000
test eax, eax
mov ecx, r10d
sete cl
test word [rbx + 0x14], r9w
je 0x140362ca2
mov rdx, rcx
mov rcx, rbx
call fcn.14037a540
xor r10d, r10d
jmp 0x140362013
mov edx, 4
mov qword [rbx], rcx
mov word [rbx + 0x14], dx
mov r11d, 1
jmp 0x140362970
test word [rbx + 0x14], r9w
je 0x140362cca
mov rcx, rbx
call fcn.140379498
jmp 0x140362c9a
mov word [rbx + 0x14], r11w
jmp 0x140362970
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], r10b
je 0x140362970
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 0x14], r9w
je 0x140362d11
call fcn.140379498
xor r10d, r10d
mov r11d, 1
jmp 0x140368090
mov word [rcx + 0x14], r11w
jmp 0x140368095
cmp ebx, 0x21
ja 0x140363268
je 0x14036333a
cmp ebx, 0x1c
ja 0x1403630d6
je 0x140362d5c
mov ecx, ebx
sub ecx, 0x17
je 0x140362ba3
sub ecx, 1
je 0x140362dd5
sub ecx, 1
je 0x140362db8
sub ecx, 1
je 0x140362d5c
cmp ecx, 1
jne 0x140362970
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r12 + 0x10]
add rcx, rsi
mov word [rbp + 0x6c], ax
mov qword [rbp + 0x58], rcx
test ax, ax
je 0x140362fba
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp + 0x50], rax
lea rdx, [rbp + 0x50]
mov byte [rbp + 0x6e], r10b
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.140333260
mov r13d, eax
mov dword [rsp + 0x30], eax
jmp 0x140363032
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r12 + 0x10]
jl 0x140362d5c
jmp 0x140362970
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
cmp qword [rax + rcx*8], r10
je 0x140363d6a
jmp 0x140362970
movsd xmm1, qword [rdi]
mov rcx, r14
call fcn.14034f998
test eax, eax
jle 0x140362e0b
mov edi, 1
test dil, bl
je 0x140362e19
sub ebx, edi
jmp 0x140362e19
jns 0x140362e19
mov edi, 1
test dil, bl
jne 0x140362e19
add ebx, edi
mov rcx, qword [r15 + 0x30]
lea r9, [rbp - 0x7c]
xor r8d, r8d
mov rdx, r14
call fcn.140334f08
xor r10d, r10d
mov qword [r15 + 0x50], r14
mov r14, qword [rsp + 0x58]
mov r13d, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1403626af
jmp 0x140362ed6
mov rax, qword [r15 + 0x30]
mov rdx, qword [rsp + 0x48]
mov dil, byte [rax + 3]
mov rax, qword [r15 + 0x38]
and dil, r8b
mov qword [rbp + 0x78], rax
lea r8, [rbp - 0x7c]
movzx eax, word [rdx + 0x10]
setne r12b
mov word [rbp + 0x94], ax
mov eax, ebx
and al, r11b
mov byte [rbp + 0x9a], r10b
neg al
movsxd rax, dword [rdx + 0xc]
lea rdx, [rbp + 0x78]
sbb cl, cl
and cl, 0xfe
add cl, r11b
mov byte [rbp + 0x96], cl
imul rcx, rax, 0x38
add rcx, rsi
mov qword [rbp + 0x80], rcx
mov rcx, qword [r15 + 0x30]
call fcn.140333260
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
test dil, dil
je 0x140362ed6
cmp byte [rbp + 0x9a], r10b
je 0x140362f84
mov eax, dword [rbp - 0x7c]
cmp ebx, 0x16
jl 0x140362f32
test eax, eax
js 0x140362ef2
jne 0x140362ee9
cmp ebx, 0x17
je 0x140362ef2
mov dword [rbp - 0x7c], r10d
jmp 0x140362f8e
mov rcx, qword [r15 + 0x30]
xor edx, edx
mov dword [rbp - 0x7c], r10d
call fcn.140334018
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
je 0x140362f8e
cmp eax, 0x65
jne 0x1403626af
lea r11d, [rax - 0x64]
mov dword [rsp + 0x30], r10d
mov dword [rbp - 0x7c], r11d
mov r13d, r10d
mov rdi, qword [rsp + 0x38]
jmp 0x140368090
test eax, eax
jg 0x140362f4f
jne 0x140362f3d
cmp ebx, 0x14
je 0x140362f4f
mov rax, qword [r15 + 0x30]
mov ecx, r10d
cmp byte [rax], r10b
setne cl
mov dword [rbp - 0x7c], ecx
jmp 0x140362f84
mov rcx, qword [r15 + 0x30]
xor edx, edx
mov dword [rbp - 0x7c], r10d
call fcn.1403346c4
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
je 0x140362f8e
cmp eax, 0x65
jne 0x1403626af
lea eax, [r10 + 1]
mov dword [rsp + 0x30], r10d
mov dword [rbp - 0x7c], eax
mov r13d, r10d
cmp dword [rbp - 0x7c], r10d
jne 0x1403631d7
mov r14, qword [rsp + 0x58]
test r12d, r12d
mov r12, qword [rsp + 0x48]
mov r11d, 1
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
je 0x140362667
add r12, 0x18
jmp 0x140362667
mov eax, 0x400
test word [rcx + 0x14], ax
je 0x140362fd6
call fcn.140369efc
xor esi, esi
test eax, eax
jne 0x140368798
jmp 0x140362fd8
xor esi, esi
mov rcx, qword [rbx + 0x38]
call fcn.1403613b8
mov rdi, rax
test rax, rax
je 0x140368798
mov rcx, qword [rbp + 0x58]
mov r9, rax
mov r8, qword [rcx + 8]
mov edx, dword [rcx + 0x10]
mov rcx, qword [rbx + 0x38]
call fcn.14036b688
mov byte [rdi + 0x1e], sil
mov rdx, rdi
mov rcx, qword [rbx + 0x30]
lea rsi, [rbx + 0x24]
mov r8, rsi
call fcn.140333260
mov rdx, rdi
mov dword [rsp + 0x30], eax
mov rcx, r15
mov r13d, eax
call fcn.140338ff0
mov rdi, qword [rsp + 0x38]
xor r10d, r10d
test r13d, r13d
jne 0x1403626af
mov ecx, dword [rsi]
test ecx, ecx
mov byte [rbx + 3], r10b
setne al
mov dword [rbx + 0x20], r10d
mov byte [rbx + 2], al
cmp byte [r12], 0x1c
jne 0x14036306d
lea edx, [r10 + 4]
test ecx, ecx
je 0x1403631dc
mov rsi, qword [rsp + 0x60]
jmp 0x140362018
test ecx, ecx
jne 0x1403631d7
cmp byte [r12], 0x1a
lea r11d, [rcx + 1]
jne 0x1403630b7
movzx edx, word [rbp + 0x6c]
mov rcx, r10
test rdx, rdx
je 0x140362662
mov rax, qword [rbp + 0x58]
add rax, 0x14
test byte [rax], r11b
jne 0x140362f28
add rcx, r11
add rax, 0x38
cmp rcx, rdx
jl 0x140363098
mov rsi, qword [rsp + 0x60]
jmp 0x1403620fa
cmp byte [r12], 0x19
mov rsi, qword [rsp + 0x60]
jne 0x140362667
movzx eax, word [r12 + 0x10]
mov word [rbx + 0xc], ax
jmp 0x1403620fa
mov ecx, ebx
sub ecx, 0x1d
je 0x14036316c
sub ecx, 1
je 0x1403631e6
sub ecx, 1
je 0x140366c4a
cmp ecx, 1
jne 0x140362970
movsxd rcx, dword [r12 + 4]
lea rdx, [rbp - 0x58]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.140332fac
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
cmp dword [rbp - 0x58], r10d
jne 0x140366cae
mov rcx, rbx
call fcn.14033488c
xor r10d, r10d
test rax, rax
js 0x1403653c1
mov rcx, rax
call fcn.140350ab0
movsx ecx, ax
lea r11d, [r13 + 1]
cmp ecx, dword [r12 + 0xc]
jge 0x140362667
mov dword [rbp - 0x58], r11d
jmp 0x140368090
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
test byte [rcx + 0x14], 0x24
jne 0x1403631e6
movups xmm0, xmmword [rcx]
mov r8b, byte [rsp + 0x34]
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x1a0], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0x1b0], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0x1a0]
movups xmmword [rbp + 0x1c0], xmm0
movsd qword [rbp + 0x1d0], xmm1
call fcn.1402e5fd8
mov edx, 4
xor r10d, r10d
test byte [rbp + 0x1b4], dl
je 0x1403631dc
mov rdi, qword [rbp + 0x1a0]
jmp 0x1403631f3
mov edx, 4
mov rdi, qword [rsp + 0x38]
jmp 0x140362b18
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + rsi]
movsxd rcx, dword [r12 + 4]
lea r9, [rsp + 0x68]
mov rax, qword [r14 + 0x78]
xor r8d, r8d
mov rdx, rdi
mov dword [rsp + 0x68], r10d
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140334f08
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
mov qword [rbx + 0x50], rdi
mov eax, dword [rsp + 0x68]
mov word [rbx + 2], r10w
mov dword [rbx + 0x20], r10d
mov dword [rbx + 0x24], eax
test eax, eax
je 0x14036325a
cmp dword [r12 + 8], r10d
jne 0x140366cae
mov ecx, 0x16d38
call fcn.140337774
mov r13d, eax
mov dword [rsp + 0x30], eax
xor r10d, r10d
test r13d, r13d
jne 0x1403626af
jmp 0x14036200e
cmp ebx, 0x27
ja 0x140363401
je 0x140363472
sub ebx, 0x22
je 0x14036333a
sub ebx, 1
je 0x140363341
sub ebx, 1
je 0x1403632d6
sub ebx, 1
je 0x1403632b9
cmp ebx, 1
jne 0x140362975
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov edx, dword [r12 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140334018
jmp 0x1403632ee
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov edx, dword [r12 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.1403346c4
jmp 0x1403632ee
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r15
mov rdx, rbx
call fcn.14036bde0
mov r13d, eax
mov dword [rsp + 0x30], eax
xor r10d, r10d
mov dword [rbx + 0x20], r10d
test eax, eax
jne 0x14036331b
mov byte [rbx + 2], r10b
lea r11d, [r13 + 1]
movzx eax, word [r12 + 2]
add dword [r14 + rax*4 + 0xd4], r11d
jmp 0x140363d6a
cmp r13d, 0x65
jne 0x1403626af
mov eax, 1
mov dword [rsp + 0x30], r10d
mov byte [rbx + 2], al
mov r13d, r10d
jmp 0x140367532
add dword [r14 + 0xdc], r11d
movsxd rcx, dword [r12 + 4]
mov edi, r11d
mov rax, qword [r14 + 0x78]
mov dword [rsp + 0x68], r11d
mov rsi, qword [rax + rcx*8]
mov rbx, qword [rsi + 0x30]
cmp byte [rsi], r11b
jne 0x1403633b7
mov r13d, r10d
mov dword [rsp + 0x30], r10d
cmp byte [rbx + 0x58], r10b
jne 0x140363387
lea rdx, [rbx + 0x38]
cmp qword [rdx], r10
je 0x1403633da
lea rcx, [rbx + 0x60]
mov edi, r10d
call fcn.14037b40c
xor r10d, r10d
jmp 0x1403633d3
mov rcx, rbx
call fcn.14037aa58
mov edx, eax
mov rcx, rbx
call fcn.14037abb0
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403633da
mov rcx, rbx
call fcn.14037b198
xor r10d, r10d
mov edi, r10d
jmp 0x1403633d3
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.140332fac
mov edi, dword [rsp + 0x68]
xor r10d, r10d
mov byte [rsi + 3], r10b
mov dword [rsi + 0x20], r10d
mov r13d, eax
mov dword [rsp + 0x30], eax
test r13d, r13d
jne 0x1403626af
mov byte [rsi + 2], dil
lea edx, [r13 + 4]
test edi, edi
lea r11d, [r13 + 1]
mov rdi, qword [rsp + 0x38]
je 0x1403680b4
jmp 0x140368095
mov ecx, ebx
sub ecx, 0x28
je 0x140363472
sub ecx, 1
je 0x140363472
sub ecx, 1
je 0x140363472
cmp ecx, 1
jne 0x140362970
movsxd rax, dword [r12 + 4]
mov edx, r8d
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140361448
movsxd rcx, dword [r12 + 8]
mov edx, 2
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, rsi
call fcn.140361448
lea eax, [rax + rbx*2]
add eax, ebx
movsxd rcx, eax
mov eax, 0x2c
cmp byte [r12], al
lea rax, [0x140000000]
jne 0x140363553
mov r8b, byte [rcx + rax + 0x4db178]
jmp 0x14036355b
movsxd rcx, dword [r12 + 4]
cmp bl, 0x29
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov rbx, qword [rdx + 0x30]
mov qword [rbp + 0x28], rax
movzx eax, word [r12 + 0x10]
mov word [rbp + 0x44], ax
sbb al, al
mov byte [rbp + 0x46], al
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
mov qword [rbp + 0x30], rcx
mov rcx, rbx
call fcn.1403156f4
mov edx, dword [rbx + 0x40]
lea eax, [rdx - 1]
cmp eax, 0x7ffffffe
ja 0x1403684e6
xor eax, eax
mov qword [rbp + 0x120], r15
lea r8, [rbp + 0x108]
mov word [rbp + 0x11c], ax
mov rcx, rbx
mov dword [rbp + 0x128], eax
call fcn.14036a0e4
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
mov rdx, qword [rbp + 0x110]
lea r8, [rbp + 0x28]
mov ecx, dword [rbp + 0x118]
xor r9d, r9d
call fcn.14036b1e8
xor r10d, r10d
mov ebx, eax
cmp dword [rbp + 0x128], r10d
je 0x140363533
lea rcx, [rbp + 0x108]
call fcn.14037945c
xor r10d, r10d
mov r11d, 1
test byte [r12], r11b
je 0x140363543
neg ebx
jmp 0x140363546
add ebx, r11d
test ebx, ebx
jg 0x140368090
jmp 0x1403620fa
mov r8b, byte [rcx + rax + 0x4db188]
movsxd rax, dword [r12 + 0xc]
imul rdx, rax, 0x38
mov eax, 2
movzx ecx, word [rdx + rsi + 0x14]
lea r11d, [rax - 1]
cmp r8b, al
jne 0x140363585
mov eax, 0xf241
and cx, ax
or cx, r11w
jmp 0x140363599
movzx eax, r8b
mov qword [rdx + rsi], rax
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rdx + rsi + 0x14], cx
jmp 0x1403620f7
cmp ebx, 0x43
ja 0x140363f07
je 0x140363eeb
cmp ebx, 0x38
ja 0x140363a54
je 0x1403639d6
cmp ebx, 0x32
ja 0x1403639b3
je 0x14036399a
sub ebx, 0x2d
je 0x14036390e
sub ebx, 1
je 0x14036389a
sub ebx, 1
je 0x140363648
sub ebx, 1
je 0x14036361c
cmp ebx, 1
jne 0x140362975
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + rsi]
test rdx, rdx
jle 0x14036296b
movsxd rax, dword [r12 + 0xc]
sub rdx, rax
mov qword [rcx + rsi], rdx
jmp 0x140368090
cmp dword [r12 + 4], r10d
je 0x14036362c
cmp qword [r15 + 0x2f0], r10
jmp 0x140363630
cmp qword [r14 + 0x50], r10
jne 0x140362975
cmp qword [r15 + 0x2f8], r10
je 0x140368095
jmp 0x140362975
movsxd rax, dword [r12 + 0xc]
mov r15, qword [r12 + 0x10]
imul rbx, rax, 0x38
add rbx, rsi
cmp word [r12 + 2], r10w
je 0x140363686
mov rcx, qword [r15 + 0x20]
mov rax, qword [r14 + 0x108]
test rax, rax
je 0x140363681
cmp qword [rax + 0x38], rcx
je 0x1403681d0
mov rax, qword [rax + 8]
jmp 0x14036366c
mov ecx, 0x10
mov r8, qword [rsp + 0x50]
mov eax, dword [r14 + 0x118]
cmp eax, dword [r8 + 0xb0]
jge 0x1403684f8
test byte [rbx + 0x14], cl
jne 0x1403637cf
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
mov eax, dword [r15 + 8]
add ecx, edx
test edx, edx
lea r14d, [rcx + 1]
cmovne r14d, ecx
imul ecx, r14d, 7
add ecx, 0xf
add eax, 7
jns 0x1403636cf
add eax, 7
add ecx, edx
sar eax, 3
lea esi, [rax + rcx*8]
mov rcx, r8
movsxd rdx, esi
call fcn.140339184
xor r10d, r10d
mov rdi, rax
test rax, rax
je 0x14036878e
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x140363702
cmp dword [rbx + 0x20], r10d
je 0x14036370d
mov rcx, rbx
call fcn.14037945c
xor r10d, r10d
mov rcx, qword [rsp + 0x58]
mov eax, 0x1010
sub r12, qword [rsp + 0x38]
mov r8, qword [rsp + 0x50]
mov word [rbx + 0x14], ax
lea rax, [0x140368e38]
mov qword [rbx + 0x30], rax
mov qword [rbx + 8], rdi
mov dword [rbx + 0x10], esi
mov qword [rdi], rcx
mov dword [rdi + 0x60], r14d
mov eax, dword [r15 + 0x10]
mov dword [rdi + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul r12
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rdi + 0x54], edx
lea rdx, [rdi + 0x78]
mov rax, qword [rcx + 0x68]
mov qword [rdi + 0x20], rax
mov eax, dword [rcx + 0x24]
mov dword [rdi + 0x5c], eax
mov rax, qword [rcx + 0x78]
mov qword [rdi + 0x28], rax
mov eax, dword [rcx + 0x28]
mov dword [rdi + 0x50], eax
mov rax, qword [rcx + 0x88]
mov qword [rdi + 0x10], rax
mov eax, dword [rcx + 0x90]
mov dword [rdi + 0x58], eax
mov rax, qword [r15 + 0x20]
mov qword [rdi + 0x38], rax
movsxd rax, r14d
imul rcx, rax, 0x38
lea rax, [rdi + 0x78]
add rdx, rcx
cmp rax, rdx
je 0x1403637c1
mov word [rax + 0x14], r10w
mov qword [rax + 0x18], r8
add rax, 0x38
jmp 0x1403637ad
mov r14, qword [rsp + 0x58]
mov eax, dword [r14 + 0x118]
jmp 0x1403637d3
mov rdi, qword [rbx + 8]
inc eax
lea rsi, [rdi + 0x78]
mov dword [r14 + 0x118], eax
mov rax, qword [r14 + 0x108]
mov qword [rdi + 8], rax
mov rax, qword [r8 + 0x38]
mov qword [rdi + 0x40], rax
mov rax, qword [r14 + 0x38]
mov qword [rdi + 0x68], rax
mov rax, qword [r14]
mov qword [rsp + 0x60], rsi
mov rcx, qword [rax + 0x78]
mov qword [rdi + 0x70], rcx
mov rax, qword [r14 + 0x128]
mov qword [rdi + 0x48], rax
mov qword [r14 + 0x128], r10
mov qword [r14 + 0x38], r10
mov qword [r14 + 0x108], rdi
mov qword [r14 + 0x68], rsi
movsxd rcx, dword [rdi + 0x60]
mov dword [r14 + 0x24], ecx
movzx eax, word [rdi + 0x64]
mov dword [r14 + 0x28], eax
imul rdx, rcx, 0x38
add rdx, rsi
mov qword [r14 + 0x78], rdx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rdi + 0x30], rcx
mov eax, dword [r15 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.14038afb0
mov rdi, qword [r15]
mov qword [r14 + 0x88], rdi
mov eax, dword [r15 + 8]
mov r15, qword [rsp + 0x50]
lea r12, [rdi - 0x18]
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x48], r12
mov dword [r14 + 0x90], eax
jmp 0x14036752f
movsxd rax, dword [r12 + 4]
mov edi, dword [r12 + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add rbx, rsi
imul rsi, rax, 0x38
add rsi, qword [rsp + 0x60]
test byte [rbx + 0x14], cl
jne 0x1403638ce
mov rcx, rbx
call fcn.14036a4b8
test eax, eax
jne 0x140368798
test edi, edi
je 0x1403638f3
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.140359460
xor r10d, r10d
test eax, eax
jne 0x14036644c
test edi, edi
js 0x1403653bc
mov rdx, qword [rsi]
mov rcx, qword [rbx + 8]
call fcn.140359398
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x38]
jmp 0x140362c9a
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, rsi
test byte [rbx + 0x14], cl
je 0x140363979
mov rcx, qword [rbx + 8]
lea rdx, [rbp - 0x18]
call fcn.1403593ec
xor r10d, r10d
test eax, eax
je 0x14036396d
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x140363958
mov rdx, qword [rbp - 0x18]
call fcn.14037a540
jmp 0x14036752f
mov rax, qword [rbp - 0x18]
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 0x14], ax
jmp 0x140367532
mov r11d, 1
mov r9d, 0x9000
test word [rbx + 0x14], r9w
je 0x140363990
mov rcx, rbx
call fcn.140379498
xor r10d, r10d
jmp 0x140363d64
mov word [rbx + 0x14], r11w
jmp 0x140363d6a
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
jne 0x140368095
jmp 0x140362970
mov ecx, ebx
sub ecx, 0x33
je 0x140363a41
sub ecx, 1
je 0x1403639d6
sub ecx, 1
je 0x1403639d6
sub ecx, 1
je 0x1403639d6
cmp ecx, 1
jne 0x140362970
movsxd rax, dword [r12 + 4]
imul r15, rax, 0x38
movsxd rax, dword [r12 + 0xc]
imul r14, rax, 0x38
add r15, rsi
add r14, rsi
movzx esi, word [r15 + 0x14]
movzx edi, word [r14 + 0x14]
movzx eax, di
and ax, si
test dl, al
je 0x140363b5e
mov rax, qword [r15]
mov rdi, qword [rsp + 0x38]
cmp qword [r14], rax
jle 0x140363b26
mov rax, qword [0x1404f8068]
cmp byte [rbx + rax], r10b
jne 0x140368095
mov dword [rsp + 0x70], r11d
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
jmp 0x140362970
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
jmp 0x140362b76
cmp ebx, 0x3e
ja 0x140363d86
je 0x140363d06
mov ecx, ebx
sub ecx, 0x39
je 0x1403639d6
sub ecx, 1
je 0x140363b1c
sub ecx, 1
je 0x140363af4
sub ecx, 1
je 0x140363ac9
cmp ecx, 1
jne 0x140362970
movsxd rcx, dword [r12 + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14033313c
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
je 0x1403653c1
cmp eax, 0x65
jne 0x1403626af
mov r13d, r10d
mov dword [rsp + 0x30], r10d
jmp 0x140362d06
movsxd rax, dword [r12 + 4]
movabs r8, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + rsi]
cmp rax, r8
jle 0x140363aec
dec rax
mov qword [rcx + rsi], rax
test rax, rax
jmp 0x140362b76
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + rsi]
test rax, rax
je 0x140362970
jle 0x140368095
dec rax
mov qword [rcx + rsi], rax
jmp 0x140368095
cmp dword [rsp + 0x70], r10d
jmp 0x140362b76
jge 0x140363b43
mov rax, qword [0x1404f8058]
cmp byte [rbx + rax], r10b
jne 0x140368095
or dword [rsp + 0x70], 0xffffffff
jmp 0x140363a2d
mov rax, qword [0x1404f8060]
cmp byte [rbx + rax], r10b
jne 0x140368095
mov dword [rsp + 0x70], r10d
jmp 0x140363a2d
movzx ecx, di
or cx, si
test r11b, cl
je 0x140363bcc
test byte [r12 + 2], 0x80
je 0x140363b9e
test r11b, al
je 0x140363b85
mov eax, 0x100
test ax, di
jne 0x140363b85
mov edx, r10d
jmp 0x140363b95
movzx eax, di
not ax
and eax, r11d
lea edx, [rax*2 - 1]
mov dword [rsp + 0x70], edx
jmp 0x140363cb5
mov rdi, qword [rsp + 0x38]
mov ecx, 0x10
test byte [r12 + 2], cl
jne 0x140368095
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
mov dword [rsp + 0x70], r11d
jmp 0x140362975
mov al, byte [r12 + 2]
and al, 0x47
cmp al, 0x43
jb 0x140363c19
test r8b, cl
je 0x140363c92
mov al, sil
and al, 0x2e
cmp al, r8b
jne 0x140363bff
xor edx, edx
mov rcx, r15
call fcn.1402e6050
movzx edi, word [r14 + 0x14]
mov r8d, 2
mov al, dil
and al, 0x2e
cmp al, r8b
jne 0x140363c92
xor edx, edx
mov rcx, r14
call fcn.1402e6050
jmp 0x140363c92
cmp al, 0x42
jne 0x140363c92
mov bl, byte [rsp + 0x34]
mov eax, 0x2c
test r8b, sil
jne 0x140363c69
test al, sil
je 0x140363c69
mov r8b, r11b
mov dl, bl
mov rcx, r15
call fcn.14036a8e0
xor si, word [r15 + 0x14]
mov eax, 0xdbf
and si, ax
mov r8d, 2
xor si, word [r15 + 0x14]
lea eax, [r8 + 0x2a]
lea r11d, [r8 - 1]
cmp r15, r14
jne 0x140363c69
movzx edi, si
or di, r8w
test r8b, dil
jne 0x140363c92
test al, dil
je 0x140363c92
mov r8b, r11b
mov dl, bl
mov rcx, r14
call fcn.14036a8e0
xor di, word [r14 + 0x14]
mov eax, 0xdbf
and di, ax
xor di, word [r14 + 0x14]
mov r8, qword [r12 + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.140351178
xor r10d, r10d
mov dword [rsp + 0x70], eax
mov edx, eax
mov r9d, 0x9000
lea r11d, [r10 + 1]
movzx ecx, byte [r12]
test edx, edx
jns 0x140363cc7
add rcx, qword [0x1404f8058]
jmp 0x140363cd9
jne 0x140363cd2
add rcx, qword [0x1404f8060]
jmp 0x140363cd9
add rcx, qword [0x1404f8068]
mov al, byte [rcx]
mov word [r14 + 0x14], di
mov rdi, qword [rsp + 0x38]
mov word [r15 + 0x14], si
test al, al
jne 0x140368090
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
jmp 0x14036296b
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], r10b
jne 0x140365988
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r14
mov r13d, eax
mov dword [rsp + 0x30], eax
call fcn.14036d168
xor r10d, r10d
test r13d, r13d
jne 0x1403626af
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
mov rsi, qword [rsp + 0x60]
xor r10d, r10d
mov rdi, qword [rsp + 0x38]
test eax, eax
jne 0x140367532
mov r11d, 1
mov eax, dword [r12 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r12, [rdi + rcx*8]
mov qword [rsp + 0x48], r12
jmp 0x140367532
sub ebx, 0x3f
je 0x140363e87
sub ebx, 1
je 0x140367f5d
sub ebx, 1
je 0x140363da6
cmp ebx, 1
jne 0x140362975
movsxd rax, dword [r12 + 0xc]
mov rbx, qword [r12 + 0x10]
imul rdi, rax, 0x38
add rdi, rsi
cmp qword [rbx], rdi
je 0x140363e0c
mov al, byte [rsp + 0x34]
mov byte [rbx + 0x28], al
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x18], r14
sub rdx, 1
mov qword [rbx], rdi
lea r9d, [rax - 1]
js 0x140363e0c
lea r8, [rdx + 6]
mov r15d, 8
lea r8, [rbx + r8*8]
mov eax, dword [r12 + 8]
add eax, r9d
sub r9d, r11d
cdqe
imul rcx, rax, 0x38
add rcx, rsi
mov qword [r8], rcx
sub r8, r15
sub rdx, r11
jns 0x140363de8
mov r15, qword [rsp + 0x50]
mov eax, 0xf241
lea r8, [rbx + 0x30]
and word [rdi + 0x14], ax
mov rcx, rbx
or word [rdi + 0x14], r11w
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x1403653c1
jle 0x140363e63
lea edx, [r10 + 1]
mov rcx, rdi
call fcn.140360fa4
mov r8, rax
lea rdx, [0x1404deff0]
mov rcx, r14
call fcn.140361c24
mov r13d, dword [rbx + 0x24]
mov dword [rsp + 0x30], r13d
mov r9d, dword [r12 + 4]
lea rdx, [r14 + 0x128]
mov r8d, dword [rbx + 0x20]
mov rcx, r15
call fcn.140361798
xor r10d, r10d
mov dword [rbx + 0x24], r10d
jmp 0x14036325a
movsxd rax, dword [r12 + 4]
mov rdx, r12
mov rcx, rsi
imul rbx, rax, 0x38
call fcn.1402f35e4
movsxd rcx, dword [rbx + rsi + 0x10]
xor edx, edx
div rcx
mov rax, qword [rbx + rsi + 8]
mov r11d, 1
mov rcx, rdx
shr rcx, 3
movsx r8d, byte [rcx + rax]
mov al, dl
and al, 7
lea edx, [r11 + 3]
movzx eax, al
bt r8d, eax
jb 0x140363edc
add dword [r14 + 0xf4], r11d
xor r10d, r10d
jmp 0x140368095
add dword [r14 + 0xf0], r11d
xor r10d, r10d
jmp 0x14036201e
movsxd rax, dword [r12 + 4]
imul rax, rax, 0x38
test byte [rax + rsi + 0x14], dl
je 0x140362975
mov rax, qword [rax + rsi]
jmp 0x140362ac6
cmp ebx, 0x4e
ja 0x1403641e5
je 0x140364164
cmp ebx, 0x49
ja 0x14036403c
je 0x140365fa0
sub ebx, 0x44
je 0x14036400f
sub ebx, 1
je 0x140363f79
sub ebx, 1
je 0x140363f8d
sub ebx, 1
je 0x140363f61
cmp ebx, 1
jne 0x140362975
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
mov rcx, qword [r12 + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x140362c9a
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
movsxd rcx, dword [r12 + 4]
mov qword [rax], rcx
jmp 0x140362c9a
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
je 0x140362970
mov rcx, qword [r14 + 0x108]
test rcx, rcx
je 0x14036850f
cmp dword [r12 + 4], r10d
jne 0x14036850f
mov rax, qword [rcx + 8]
dec dword [r14 + 0x118]
mov qword [r14 + 0x108], rax
mov rax, qword [r14 + 0x38]
add qword [r15 + 0x80], rax
mov qword [r15 + 0x78], rax
call fcn.140368e50
mov rdi, qword [r14 + 0x88]
mov edx, 4
mov qword [rsp + 0x38], rdi
lea r11d, [rdx - 3]
cmp dword [r12 + 8], edx
jne 0x140363ff7
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [rdi + rcx*8 + 8]
sub eax, r11d
mov rsi, qword [r14 + 0x68]
cdqe
mov qword [rsp + 0x60], rsi
lea rcx, [rax + rax*2]
lea r12, [rdi + rcx*8]
jmp 0x140363ee3
movsxd rax, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + rsi]
lea rcx, [rax + rax*2]
mov eax, dword [rdi + rcx*8 + 8]
sub eax, r11d
mov word [rdx + rsi + 0x14], r10w
cdqe
lea rcx, [rax + rax*2]
lea r12, [rdi + rcx*8]
jmp 0x14036296b
sub ebx, 0x4a
je 0x1403640d8
sub ebx, 1
je 0x1403640d8
sub ebx, 1
je 0x1403640b9
cmp ebx, 1
jne 0x140362975
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
mov rdx, qword [r12 + 0x10]
mov rbx, rax
xor eax, eax
mov rcx, rbx
test rdx, rdx
jne 0x140364098
mov edx, dword [r12 + 4]
call fcn.14036a830
mov rcx, rbx
call fcn.140369efc
xor r10d, r10d
test eax, eax
jne 0x140368798
jmp 0x1403640ad
movsxd r8, dword [r12 + 4]
xor r9d, r9d
mov qword [rsp + 0x20], rax
call fcn.14036a580
xor r10d, r10d
mov cl, byte [rsp + 0x34]
mov byte [rbx + 0x16], cl
jmp 0x140362013
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, 0xffc1
add rcx, rsi
and word [rcx + 0x14], ax
or word [rcx + 0x14], r11w
jmp 0x140362970
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
mov ecx, dword [r12 + 4]
mov r11d, 1
mov edi, dword [r12 + 0xc]
neg ecx
mov edx, dword [r12 + 8]
mov ecx, 0x100
sbb si, si
lea rbx, [rax + 0x14]
and si, cx
xor r10d, r10d
add si, r11w
mov dword [rax + 0x10], r10d
sub edi, edx
mov word [rbx], si
test edi, edi
jle 0x140362662
mov r9d, 0x9000
lea rbx, [rbx + 0x38]
test word [rbx], r9w
je 0x140364147
lea rcx, [rbx - 0x14]
call fcn.140379498
xor r10d, r10d
mov r9d, 0x9000
lea r11d, [r10 + 1]
sub edi, r11d
mov word [rbx], si
mov dword [rbx - 4], r10d
test edi, edi
jg 0x140364127
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x38]
jmp 0x14036296b
movsxd rax, dword [r12 + 4]
imul rdi, rax, 0x38
add rdi, qword [r14 + 0x80]
test byte [rdi - 0x24], 0x12
je 0x14036419b
mov ecx, dword [rdi - 0x28]
mov eax, 0x400
test word [rdi - 0x24], ax
je 0x14036418b
add ecx, dword [rdi - 0x38]
mov rax, qword [rdi - 0x20]
cmp ecx, dword [rax + 0x88]
jg 0x1403686f3
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, rsi
test word [rbx + 0x14], r9w
je 0x1403641b6
mov rcx, rbx
call fcn.140379498
mov r8d, 0x18
lea rdx, [rdi - 0x38]
mov rcx, rbx
call fcn.14038a820
movzx eax, word [rbx + 0x14]
mov ecx, 0xafff
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
jmp 0x140363904
cmp ebx, 0x54
ja 0x1403643ae
je 0x140368622
sub ebx, 0x4f
je 0x14036431d
sub ebx, 1
je 0x140364288
sub ebx, 1
je 0x140364260
sub ebx, 1
je 0x140364228
cmp ebx, 1
jne 0x140362975
xor edx, edx
mov rcx, r14
call fcn.140361564
jmp 0x14036269d
movsxd rax, dword [r12 + 8]
imul r8, rax, 0x38
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add r8, rsi
mov rax, qword [rcx + rsi]
test word [r8 + 0x14], r9w
je 0x140364253
mov rdx, rax
mov rcx, r8
jmp 0x140362c95
mov qword [r8], rax
mov word [r8 + 0x14], dx
jmp 0x140362970
movsxd rax, dword [r12 + 4]
imul rdx, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
add rdx, rsi
add rcx, rsi
mov r8d, 0x4000
call fcn.14036a880
jmp 0x140362c9a
movsxd rax, dword [r12 + 4]
mov esi, dword [r12 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 8]
add rdi, qword [rsp + 0x60]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
mov r8d, 0x4000
mov rdx, rdi
mov rcx, rbx
call fcn.14036a880
mov eax, 0x4000
test word [rbx + 0x14], ax
je 0x1403642da
mov rcx, rbx
call fcn.14036a2a8
xor r10d, r10d
test eax, eax
jne 0x140368798
jmp 0x1403642dd
xor r10d, r10d
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x140364300
mov ecx, 2
test byte [r12 + 2], cl
je 0x140364300
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
mov r11d, 1
sub esi, r11d
test eax, eax
je 0x140362662
add rbx, 0x38
add rdi, 0x38
jmp 0x1403642a9
movsxd rax, dword [r12 + 4]
mov esi, dword [r12 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 8]
add rdi, qword [rsp + 0x60]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x14036434f
cmp dword [rbx + 0x20], r10d
je 0x140364357
mov rcx, rbx
call fcn.14037945c
mov r8d, 0x38
mov rdx, rdi
mov rcx, rbx
call fcn.14038a820
xor r10d, r10d
mov r11d, 1
mov eax, 0x4000
mov word [rdi + 0x14], r11w
mov dword [rdi + 0x20], r10d
test word [rbx + 0x14], ax
je 0x14036439c
mov rcx, rbx
call fcn.14036a2a8
xor r10d, r10d
test eax, eax
jne 0x140368798
lea r11d, [r10 + 1]
add rdi, 0x38
add rbx, 0x38
sub esi, r11d
jne 0x14036433e
jmp 0x140362662
sub ebx, 0x55
je 0x140364497
sub ebx, 1
je 0x14036445b
sub ebx, 1
je 0x140364412
cmp ebx, 1
jne 0x140362975
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, rsi
test word [rbx + 0x14], ax
je 0x1403643fb
mov rcx, rbx
call fcn.140369efc
xor r10d, r10d
mov r13d, eax
test eax, eax
jne 0x1403626af
mov r8b, byte [rsp + 0x34]
mov rcx, rbx
mov dl, byte [r12 + 8]
call fcn.140369d54
jmp 0x14036269d
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, rsi
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x140362970
mov ebx, 8
test bl, al
je 0x140364439
movsd xmm0, qword [rcx]
jmp 0x140364441
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rcx]
mov r8d, 0xf248
movsd qword [rcx], xmm0
and ax, r8w
or ax, bx
mov word [rcx + 0x14], ax
jmp 0x140362970
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.14036958c
mov ecx, 0xf244
mov qword [rbx], rax
and word [rbx + 0x14], cx
mov edx, 4
or word [rbx + 0x14], dx
movsxd rcx, dword [r12 + 8]
add rcx, rax
mov qword [rbx], rcx
xor r10d, r10d
jmp 0x140362018
cmp dword [r12 + 4], r10d
je 0x140362975
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 0x14], r9w
je 0x1403644bc
xor edx, edx
jmp 0x140362c95
mov qword [rcx], r10
mov word [rcx + 0x14], dx
jmp 0x140362970
test byte [r12 + 2], r11b
jne 0x1403644d4
mov rdi, r10
jmp 0x1403644dc
mov rdi, qword [r12 - 8]
add rdi, rdx
movsxd rax, dword [r12 + 0xc]
mov r15d, r10d
mov edx, dword [r12 + 4]
mov rbx, r10
mov r8d, dword [r12 + 8]
mov r13, qword [r12 + 0x10]
mov dword [rbp - 0x78], edx
mov dword [rsp + 0x68], r8d
mov qword [rsp + 0x78], rax
test rax, rax
jle 0x1403681a8
lea r14, [r13 + 0x20]
test rdi, rdi
je 0x14036451a
mov ecx, dword [rdi + rbx*4]
jmp 0x14036451d
mov ecx, r15d
mov rax, qword [r13 + 0x18]
lea r12d, [rcx + r8]
mov r8, qword [r14]
lea esi, [rcx + rdx]
imul rdx, r12, 0x38
imul rcx, rsi, 0x38
movzx eax, byte [rax + rbx]
add rdx, qword [rsp + 0x60]
and eax, r11d
mov dword [rbp - 0x70], eax
add rcx, qword [rsp + 0x60]
call fcn.140351178
xor r10d, r10d
mov dword [rsp + 0x70], eax
mov edx, eax
lea r11d, [r10 + 1]
test eax, eax
jne 0x14036458f
mov edx, dword [rbp - 0x78]
add r15d, r11d
mov r8d, dword [rsp + 0x68]
add rbx, r11
add r14, 8
cmp rbx, qword [rsp + 0x78]
jl 0x140364510
mov r12, qword [rsp + 0x48]
mov r13d, dword [rsp + 0x30]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
jmp 0x140362662
mov rax, qword [r13 + 0x18]
mov ecx, 2
test byte [rbx + rax], cl
je 0x1403645c0
imul rax, rsi, 0x38
mov rsi, qword [rsp + 0x60]
test byte [rax + rsi + 0x14], r11b
jne 0x1403645b8
imul rax, r12, 0x38
test byte [rax + rsi + 0x14], r11b
je 0x1403645c5
neg edx
mov dword [rsp + 0x70], edx
jmp 0x1403645c5
mov rsi, qword [rsp + 0x60]
mov r13d, dword [rsp + 0x30]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
cmp dword [rbp - 0x70], r10d
je 0x140362667
neg edx
mov dword [rsp + 0x70], edx
jmp 0x140362667
mov eax, 0x89
cmp ebx, eax
ja 0x140366cc1
je 0x140366c4a
cmp ebx, 0x72
ja 0x140365e3d
je 0x140365dda
cmp ebx, 0x67
ja 0x14036563b
je 0x1403653f7
cmp ebx, 0x61
ja 0x1403653cc
je 0x140364f67
sub ebx, 0x5b
je 0x140364f15
sub ebx, 1
je 0x140364eca
sub ebx, r8d
je 0x1403648ae
sub ebx, 1
je 0x1403646f2
cmp ebx, 1
jne 0x140362975
movsxd rax, dword [r12 + 4]
mov rdi, qword [r12 + 0x10]
imul rbx, rax, 0x38
mov al, byte [rdi]
add rbx, rsi
mov r8b, byte [rsp + 0x34]
mov dl, al
mov rcx, rbx
call fcn.1402e5fd8
cmp byte [rdi], 0x45
jne 0x1403646d3
movzx ecx, word [rbx + 0x14]
mov eax, 4
test al, cl
je 0x1403646d3
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x1403646bc
and cx, ax
or cx, 0x20
jmp 0x1403646cf
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 0x14], cx
mov r11d, 1
xor r10d, r10d
add rdi, r11
mov al, byte [rdi]
test al, al
je 0x140362667
add rbx, 0x38
jmp 0x14036466e
mov r15, qword [r12 + 0x10]
mov r14d, r10d
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov rdi, qword [r15 + 8]
add rbx, rsi
cmp r10w, word [r15 + 0x36]
jge 0x1403681bc
lea rsi, [rdi + 0xc]
test byte [rsi + 6], 0x60
je 0x140364736
mov eax, 0x20
test byte [rsi + 6], al
jne 0x14036479b
cmp dword [r12 + 0xc], r10d
je 0x140364736
add rbx, 0x38
jmp 0x14036479b
mov r8b, byte [rsp + 0x34]
mov rcx, rbx
mov dl, byte [rsi]
call fcn.1402e5fd8
movzx edx, word [rbx + 0x14]
mov r11d, 1
test r11b, dl
jne 0x14036478f
mov eax, dword [rsi - 4]
lea r8d, [r11 + 1]
shr eax, 4
and eax, 0xf
sub eax, r8d
je 0x140364837
sub eax, r11d
je 0x14036482b
sub eax, r11d
je 0x14036482b
sub eax, r11d
je 0x1403647d4
cmp eax, r11d
jne 0x14036478f
test r8b, dl
je 0x140364844
mov ecx, 0x10
add rbx, 0x38
xor r10d, r10d
movsx eax, word [r15 + 0x36]
add r14d, r11d
add rsi, 0x18
cmp r14d, eax
jl 0x140364719
mov r14, qword [rsp + 0x58]
mov edx, 4
mov r15, qword [rsp + 0x50]
mov r9d, 0x9000
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x38]
jmp 0x140362975
mov eax, 4
test al, dl
je 0x140364823
mov rcx, qword [rbx]
movabs rax, 0x800000000000
add rax, rcx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x140364802
or dx, 0x20
jmp 0x140364812
xorps xmm0, xmm0
or dx, 8
cvtsi2sd xmm0, rcx
movsd qword [rbx], xmm0
mov eax, 0xfffb
and dx, ax
mov word [rbx + 0x14], dx
jmp 0x14036478f
test dl, 0x28
jmp 0x140364789
mov eax, 4
test al, dl
jmp 0x140364789
mov ecx, 0x10
test cl, dl
jne 0x140364794
lea r10, [0x140000000]
movsxd rax, r14d
mov r14, qword [rsp + 0x58]
and edx, 0x3f
lea rcx, [rax + rax*2]
mov r9d, dword [rdi + rcx*8 + 8]
mov rax, qword [rdi + rcx*8]
mov rcx, r14
movzx r8d, byte [rdx + r10 + 0x4da890]
lea rdx, str.cannot_store__s_value_in__s_column__s._s
shr r9d, 4
and r9d, 0xf
mov qword [rsp + 0x28], rax
mov rax, qword [r15]
sub r9d, r11d
mov r8, qword [r10 + r8*8 + 0x4f8330]
mov qword [rsp + 0x20], rax
mov r9, qword [r10 + r9*8 + 0x4f8078]
call fcn.140361c24
mov r13d, 0xc13
jmp 0x140368219
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov r15d, dword [r12 + 8]
mov rbx, qword [rax + rcx*8]
mov dword [rsp + 0x68], r15d
mov r12, qword [rbx + 0x58]
mov eax, dword [r14 + 0x2c]
mov qword [rbp - 0x70], r12
cmp dword [rbx + 0x20], eax
je 0x14036490f
cmp byte [rbx + 2], r10b
jne 0x140364989
mov rdi, qword [rbx + 0x30]
cmp byte [rbx + 3], r10b
je 0x140364908
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x140364938
lea eax, [r15 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x140364938
mov rbx, qword [rbx + 0x28]
lea r15d, [rax - 1]
jmp 0x1403648c0
cmp byte [rdi], r10b
je 0x140364952
jmp 0x14036491c
mov rax, qword [rbx + 0x30]
cmp byte [rax], r10b
je 0x140364a8b
mov rcx, rbx
call fcn.140369418
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
jmp 0x1403648c5
mov rcx, rbx
call fcn.140368df0
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
mov rcx, rdi
call fcn.1403156f4
mov eax, dword [rdi + 0x40]
xor r10d, r10d
mov dword [rbx + 0x68], eax
mov rax, qword [rdi + 0x88]
movzx ecx, word [rdi + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rdi + 0x38]
cmp ecx, edx
jle 0x140364980
test edx, edx
mov ecx, edx
cmovs ecx, r10d
mov dword [rbx + 0x6c], ecx
mov rax, qword [rdi + 0x38]
jmp 0x1403649b3
cmp byte [rbx], 3
jne 0x140364a5a
cmp dword [rbx + 0x24], r10d
jle 0x140364a5a
movsxd rax, dword [rbx + 0x24]
imul rcx, rax, 0x38
mov eax, dword [rcx + rsi + 0x10]
mov dword [rbx + 0x6c], eax
mov dword [rbx + 0x68], eax
mov rax, qword [rcx + rsi + 8]
mov qword [rbx + 0x60], rax
mov eax, dword [r14 + 0x2c]
mov dword [rbx + 0x20], eax
mov rax, qword [rbx + 0x60]
movzx ecx, byte [rax]
mov dword [r12], ecx
cmp ecx, 0x80
jae 0x1403649dc
mov r11d, 1
mov eax, r11d
jmp 0x1403649f2
mov rcx, qword [rbx + 0x60]
mov rdx, r12
call fcn.14034d704
xor r10d, r10d
movzx eax, al
lea r11d, [r10 + 1]
mov dword [rbx + 0x40], eax
mov word [rbx + 0x4a], r10w
mov ecx, dword [r12]
cmp dword [rbx + 0x6c], ecx
jae 0x140364a4d
mov qword [rbx + 0x60], r10
mov dword [rbx + 0x6c], r10d
mov eax, dword [r12]
cmp eax, 0x18003
ja 0x140364a1b
cmp eax, dword [rbx + 0x68]
jbe 0x140364a8b
mov r9d, 0x9000
mov rdi, qword [rsp + 0x38]
mov eax, dword [rdi + 0xc]
test eax, eax
jle 0x1403686a5
mov r13d, dword [rsp + 0x30]
dec eax
mov r15, qword [rsp + 0x50]
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r12, [rdi + rax*8]
jmp 0x14036296b
mov r8, qword [rbx + 0x60]
movzx eax, r10w
jmp 0x140364afc
mov r12, qword [rsp + 0x48]
mov r9d, 0x9000
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 0x14], r9w
je 0x140364ce0
call fcn.140379498
mov r15, qword [rsp + 0x50]
jmp 0x140363904
movzx eax, word [rbx + 0x4a]
cmp eax, r15d
ja 0x140364cfa
mov edx, dword [rbx + 0x40]
mov ecx, dword [r12]
cmp edx, ecx
jae 0x140364c75
mov r8, qword [rbx + 0x60]
mov qword [rsp + 0x78], r8
test r8, r8
jne 0x140364b04
xor edx, edx
lea rcx, [rbp + 0xd0]
lea r8d, [rdx + 0x38]
call fcn.14038afb0
mov edx, dword [r12]
lea r8, [rbp + 0xd0]
mov rcx, qword [rbx + 0x30]
call fcn.14036a0e4
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
mov r8, qword [rbp + 0xd8]
movzx eax, word [rbx + 0x4a]
mov ecx, dword [r12]
mov edx, dword [rbx + 0x40]
mov qword [rsp + 0x78], r8
movzx r15d, ax
mov r11d, 1
mov edi, edx
mov esi, r15d
add rdi, r8
mov r13d, ecx
add r13, r8
mov r12d, dword [r12 + r15*4]
movzx r14d, byte [rdi]
mov dword [rbp - 0x78], r14d
mov dword [rbx + rsi*4 + 0x70], r14d
cmp r14d, 0x80
jae 0x140364b4b
lea rcx, [0x140000000]
add rdi, r11
movzx eax, byte [r14 + rcx + 0x4da410]
jmp 0x140364b8d
lea rdx, [rbp - 0x78]
mov rcx, rdi
call fcn.14034d704
mov r14d, dword [rbp - 0x78]
movzx eax, al
add rdi, rax
mov dword [rbx + rsi*4 + 0x70], r14d
cmp r14d, 0x80
jb 0x140364b77
lea eax, [r14 - 0xc]
shr eax, 1
jmp 0x140364b87
lea rcx, [0x140000000]
movzx eax, byte [r14 + rcx + 0x4da410]
mov r11d, 1
add r12, rax
add r15d, r11d
mov rax, qword [rbp - 0x70]
movsxd rsi, r15d
mov dword [rax + rsi*4], r12d
cmp r15d, dword [rsp + 0x68]
ja 0x140364bae
cmp rdi, r13
jb 0x140364b20
cmp rdi, r13
jb 0x140364c08
ja 0x140364c10
mov eax, dword [rbx + 0x68]
cmp r12, rax
jne 0x140364c10
mov r12, qword [rbp - 0x70]
xor r10d, r10d
sub edi, dword [rsp + 0x78]
mov word [rbx + 0x4a], r15w
mov dword [rbx + 0x40], edi
cmp qword [rbx + 0x60], r10
jne 0x140364c01
mov eax, 0x9000
test word [rbp + 0xe4], ax
jne 0x140364bed
cmp dword [rbp + 0xf0], r10d
je 0x140364c01
lea rcx, [rbp + 0xd0]
call fcn.14037945c
movzx r15d, word [rbx + 0x4a]
xor r10d, r10d
mov rsi, qword [rsp + 0x60]
jmp 0x140364c7c
mov eax, dword [rbx + 0x68]
cmp r12, rax
jbe 0x140364bbd
mov r12, qword [rbp - 0x70]
xor r10d, r10d
cmp dword [r12], r10d
jne 0x140364c25
mov r15d, r10d
mov rdi, r13
jmp 0x140364bc4
mov r9d, 0x9000
cmp qword [rbx + 0x60], r10
jne 0x140364c66
test word [rbp + 0xe4], r9w
jne 0x140364c44
cmp dword [rbp + 0xf0], r10d
je 0x140364c66
lea rcx, [rbp + 0xd0]
call fcn.14037945c
mov r14, qword [rsp + 0x58]
xor r10d, r10d
mov rsi, qword [rsp + 0x60]
lea r11d, [r10 + 1]
jmp 0x140364a1b
mov r14, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x60]
jmp 0x140364a21
mov r14d, r10d
movzx r15d, ax
movzx eax, r15w
mov r15d, dword [rsp + 0x68]
cmp eax, r15d
ja 0x140364cf5
mov r12, qword [rsp + 0x48]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
cmp byte [r12 + 1], 0xf6
jne 0x140364cc2
mov rdx, qword [r12 + 0x10]
mov r8d, 0x2000
call fcn.14036a880
mov r13d, dword [rsp + 0x30]
mov r14, qword [rsp + 0x58]
jmp 0x140364a81
mov r9d, 0x9000
test word [rcx + 0x14], r9w
je 0x140364cd6
call fcn.140379498
jmp 0x140364cb3
mov r13d, dword [rsp + 0x30]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov r11d, 1
mov word [rcx + 0x14], r11w
jmp 0x14036415a
mov rsi, r15
jmp 0x140364d02
mov esi, r15d
mov r14d, dword [rbx + rsi*4 + 0x70]
mov rdx, qword [rsp + 0x48]
movsxd rax, dword [rdx + 0xc]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsp + 0x60]
test word [rdi + 0x14], ax
je 0x140364d2c
mov rcx, rdi
call fcn.140379498
mov rdx, qword [rsp + 0x48]
lea eax, [r15 + 1]
mov eax, dword [r12 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x140364e16
mov esi, dword [r12 + rsi*4]
add rsi, qword [rbx + 0x60]
cmp r14d, 0xc
jae 0x140364d72
mov rcx, rsi
mov edx, r14d
mov r8, rdi
call fcn.14036b890
mov r13d, dword [rsp + 0x30]
mov r12, qword [rsp + 0x48]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
jmp 0x1403638ff
mov al, byte [rsp + 0x34]
lea ebx, [r14 - 0xc]
mov r15, qword [rsp + 0x50]
shr ebx, 1
mov dword [rdi + 0x10], ebx
mov byte [rdi + 0x16], al
lea edx, [rbx + 2]
cmp dword [rdi + 0x20], edx
jge 0x140364dbe
cmp ebx, dword [r15 + 0x88]
jg 0x1403686ee
mov eax, 1
xor r8d, r8d
mov rcx, rdi
mov word [rdi + 0x14], ax
call fcn.14036a144
test eax, eax
jne 0x1403687bc
mov rcx, qword [rdi + 8]
jmp 0x140364dc6
mov rcx, qword [rdi + 0x28]
mov qword [rdi + 8], rcx
mov r8, rbx
mov rdx, rsi
call fcn.14038a820
mov rax, qword [rdi + 8]
lea rcx, [0x140000000]
mov r13d, dword [rsp + 0x30]
xor r10d, r10d
mov r12, qword [rsp + 0x48]
mov byte [rbx + rax], r10b
mov rax, qword [rdi + 8]
lea r11d, [r10 + 1]
mov byte [rbx + rax + 1], r10b
mov eax, r14d
and rax, r11
movzx eax, word [rcx + rax*2 + 0x4da814]
mov word [rdi + 0x14], ax
mov r14, qword [rsp + 0x58]
jmp 0x140362662
mov al, byte [rsp + 0x34]
mov byte [rdi + 0x16], al
test byte [rdx + 2], 0xc0
je 0x140364e39
cmp r14d, 0xc
jb 0x140364e33
mov eax, 1
test al, r14b
je 0x140364e63
test byte [rdx + 2], 0x80
jne 0x140364e63
cmp r14d, 0x80
jb 0x140364e4b
lea r8d, [r14 - 0xc]
shr r8d, 1
jmp 0x140364e5e
mov eax, r14d
lea rcx, [0x140000000]
movzx r8d, byte [rax + rcx + 0x4da410]
test r8d, r8d
jne 0x140364e6f
lea rcx, [0x1404d60e0]
jmp 0x140364d4e
mov r15, qword [rsp + 0x50]
cmp r8d, dword [r15 + 0x88]
jg 0x1403686ee
mov edx, dword [r12 + rsi*4]
mov r9, rdi
mov rcx, qword [rbx + 0x30]
call fcn.14036a004
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x140366988
mov rcx, qword [rdi + 8]
mov r8, rdi
mov edx, r14d
call fcn.14036b890
mov r12, qword [rsp + 0x48]
mov eax, 0xbfff
and word [rdi + 0x14], ax
mov r14, qword [rsp + 0x58]
jmp 0x1403638ff
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
jne 0x140364ef4
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
jne 0x140364ef4
movsxd rax, dword [r12 + 8]
jmp 0x1403644a7
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 0x14], r9w
jne 0x140362cc3
mov word [rcx + 0x14], r11w
jmp 0x140362970
movsxd rax, dword [r12 + 4]
mov edx, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140361448
movsxd rdx, dword [r12 + 0x10]
mov r9d, 0x9000
movsxd rcx, eax
movsxd rax, dword [r12 + 8]
xor rdx, rcx
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 0x14], r9w
jne 0x140362c95
mov qword [rcx], rdx
xor r10d, r10d
mov edx, 4
mov word [rcx + 0x14], dx
jmp 0x140362cae
mov rcx, qword [rsp + 0x48]
mov rdx, r10
mov r15, r10
mov dword [rbp - 0x70], r10d
mov r12d, r10d
mov qword [rbp - 0x78], rdx
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
imul r11, rax, 0x38
mov eax, dword [rcx + 8]
add r11, rsi
dec eax
cdqe
imul rsi, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul r13, rax, 0x38
add rsi, r11
mov qword [rsp + 0x78], r11
add r13, qword [rsp + 0x60]
mov qword [rsp + 0x68], rsi
mov qword [rbp - 8], r13
test rdi, rdi
je 0x140365024
mov al, byte [rdi]
lea rbx, [r11 + 0x14]
mov sil, byte [rsp + 0x34]
mov r13d, 0x20
mov r12d, 0xfffb
lea rcx, [rbx - 0x14]
mov r8b, sil
mov dl, al
call fcn.1402e5fd8
cmp byte [rdi], 0x45
jne 0x140364ff6
movzx eax, word [rbx]
test al, 4
je 0x140364ff6
and ax, r12w
or ax, r13w
mov word [rbx], ax
mov r9d, 1
add rbx, 0x38
add rdi, r9
xor r10d, r10d
mov al, byte [rdi]
test al, al
jne 0x140364fd1
mov r12d, dword [rbp - 0x70]
mov r13, qword [rbp - 8]
mov rdx, qword [rbp - 0x78]
mov r11, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x68]
jmp 0x14036502a
mov r9d, 1
lea r14, [rsi + 0x24]
movzx ecx, word [r14 - 0x10]
test r9b, cl
je 0x140365053
mov eax, 0x400
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
add r12d, r9d
jmp 0x1403651b4
test cl, 0x24
je 0x140365130
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x14036506b
not rdx
add r12d, r9d
cmp rdx, 0x7f
ja 0x1403650a0
mov rax, r8
and rax, r9
cmp rax, r8
jne 0x140365095
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0xc3], 4
jb 0x140365095
lea eax, [rdx + 8]
jmp 0x140365128
add r15, r9
mov eax, r9d
jmp 0x140365128
cmp rdx, 0x7fff
ja 0x1403650b0
mov eax, 2
jmp 0x1403650d2
cmp rdx, 0x7fffff
ja 0x1403650c4
add r15, 3
mov eax, 3
jmp 0x140365128
cmp rdx, 0x7fffffff
ja 0x1403650d7
mov eax, 4
add r15, rax
jmp 0x140365128
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x1403650f1
add r15, 6
mov eax, 5
jmp 0x140365128
mov edx, 8
add r15, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x140365123
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
lea eax, [rdx - 1]
cvtsi2sd xmm0, r8
or cx, dx
mov word [r14 - 0x10], cx
movsd qword [r14 - 0x24], xmm0
jmp 0x140365128
mov eax, 6
mov dword [r14], eax
jmp 0x1403651b4
mov eax, 8
test al, cl
je 0x140365148
add r12d, r9d
mov dword [r14], 7
add r15, rax
jmp 0x1403651b4
mov edi, dword [r14 - 0x14]
mov eax, ecx
shr eax, 1
and eax, r9d
bt cx, 0xa
lea esi, [rdi + 6]
lea esi, [rax + rsi*2]
jae 0x140365191
lea rbx, [r14 - 0x24]
movsxd rax, dword [rbx]
lea esi, [rsi + rax*2]
test r15, r15
je 0x14036518a
mov rcx, rbx
call fcn.140369efc
xor r10d, r10d
test eax, eax
jne 0x14036878e
add edi, dword [rbx]
lea r9d, [r10 + 1]
jmp 0x140365191
add rdx, rax
mov qword [rbp - 0x78], rdx
mov eax, edi
mov ecx, r9d
add r15, rax
mov eax, esi
jmp 0x1403651a0
add ecx, r9d
shr rax, 7
test rax, rax
jne 0x14036519d
mov r11, qword [rsp + 0x78]
add r12d, ecx
mov dword [r14], esi
lea rax, [r14 - 0x24]
cmp rax, r11
je 0x1403651ca
mov rdx, qword [rbp - 0x78]
sub r14, 0x38
jmp 0x14036502e
cmp r12d, 0x7e
jle 0x1403651ff
mov edx, r9d
movsxd rax, r12d
jmp 0x1403651db
add edx, r9d
shr rax, 7
test rax, rax
jne 0x1403651d8
add r12d, edx
mov ecx, r9d
movsxd rax, r12d
jmp 0x1403651f2
add ecx, r9d
shr rax, 7
test rax, rax
jne 0x1403651ef
cmp edx, ecx
jge 0x140365202
add r12d, r9d
mov rdi, qword [rbp - 0x78]
movsxd rax, dword [r13 + 0x20]
movsxd rsi, r12d
lea rbx, [r15 + rsi]
lea rcx, [rdi + rbx]
cmp rcx, rax
jle 0x140365258
mov r15, qword [rsp + 0x50]
movsxd rax, dword [r15 + 0x88]
cmp rcx, rax
jg 0x1403686ee
cmp dword [r13 + 0x20], ebx
jge 0x140365258
xor r8d, r8d
mov edx, ebx
mov rcx, r13
call fcn.14036a144
xor r10d, r10d
test eax, eax
jne 0x1403687bc
mov r11, qword [rsp + 0x78]
lea r9d, [r10 + 1]
jmp 0x140365260
mov rax, qword [r13 + 0x28]
mov qword [r13 + 8], rax
mov dword [r13 + 0x10], ebx
mov eax, 0x10
mov word [r13 + 0x14], ax
test rdi, rdi
je 0x140365281
mov eax, 0x410
mov dword [r13], edi
mov word [r13 + 0x14], ax
mov rdi, qword [r13 + 8]
lea r14, [rsi + rdi]
cmp r12d, 0x80
jge 0x14036529a
mov byte [rdi], r12b
add rdi, r9
jmp 0x1403652b2
mov rdx, rsi
mov rcx, rdi
call fcn.140348f8c
movsxd rcx, eax
add rdi, rcx
xor r10d, r10d
lea r9d, [r10 + 1]
mov r15, qword [rsp + 0x68]
lea rsi, [r11 + 0x10]
mov ebx, dword [rsi + 0x14]
cmp ebx, 7
ja 0x14036533a
mov byte [rdi], bl
add rdi, r9
test ebx, ebx
je 0x14036538a
lea rdx, [rsi - 0x10]
cmp ebx, 7
jne 0x1403652ef
lea r8d, [rbx + 1]
lea rcx, [rbp - 0x48]
call fcn.14038a820
mov rdx, qword [rbp - 0x48]
xor r10d, r10d
jmp 0x1403652f6
mov rdx, qword [rdx]
mov qword [rbp - 0x48], rdx
lea rcx, [0x140000000]
or r11d, 0xffffffff
movzx ecx, byte [rbx + rcx + 0x4da410]
mov r9d, ecx
add ecx, r11d
lea r8, [rcx + r14]
mov byte [r8], dl
je 0x140365335
mov r13d, 1
mov rax, qword [rbp - 0x48]
sub r8, r13
shr rax, 8
mov qword [rbp - 0x48], rax
mov byte [r8], al
add ecx, r11d
jne 0x14036531e
add r14, r9
jmp 0x14036538a
cmp ebx, 0x80
jae 0x140365359
mov r11d, 1
mov byte [rdi], bl
add rdi, r11
cmp ebx, 0xe
jb 0x140365390
cmp dword [rsi], r10d
jle 0x140365390
jmp 0x140365372
mov rdx, rbx
mov rcx, rdi
call fcn.140348f8c
movsxd rcx, eax
xor r10d, r10d
add rdi, rcx
cmp dword [rsi], r10d
je 0x14036538a
movsxd r8, dword [rsi]
mov rcx, r14
mov rdx, qword [rsi - 8]
call fcn.14038a820
movsxd rax, dword [rsi]
add r14, rax
xor r10d, r10d
mov r11d, 1
lea rax, [rsi - 0x10]
cmp rax, r15
je 0x1403653a8
add rsi, 0x38
mov r9d, 1
jmp 0x1403652bb
mov r13d, dword [rsp + 0x30]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
jmp 0x14036265d
mov rsi, qword [rsp + 0x60]
mov r11d, 1
jmp 0x140362667
mov ecx, ebx
sub ecx, 0x62
je 0x1403655da
sub ecx, 1
je 0x1403655a6
sub ecx, 1
je 0x140365496
sub ecx, 1
je 0x14036544f
cmp ecx, 1
jne 0x140362970
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add rbx, rsi
add rcx, rsi
imul rsi, rax, 0x38
mov al, byte [rcx + 0x14]
add rsi, qword [rsp + 0x60]
or al, byte [rbx + 0x14]
test r11b, al
je 0x1403656b0
mov r9d, 0x9000
test word [rsi + 0x14], r9w
je 0x1403656a6
mov rcx, rsi
call fcn.140379498
mov rsi, qword [rsp + 0x60]
jmp 0x140362c9a
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x1403657d5
mov eax, dword [r12 + 8]
cmp dword [rdi + 0x44], eax
jne 0x1403657d5
add rdi, 0x30
mov rbx, qword [rdi]
mov rcx, qword [rbx + 0x18]
call fcn.1402d81d8
xor r10d, r10d
mov qword [rbx + 0x18], r10
lea r11d, [r10 + 1]
mov byte [rbx], r11b
jmp 0x140365919
movsxd rbx, dword [r12 + 4]
mov r8d, dword [r12 + 0xc]
mov edx, dword [r12 + 8]
shl rbx, 5
add rbx, qword [r15 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.140335530
mov r11d, 1
mov dword [rsp + 0x30], eax
xor r10d, r10d
mov r13d, eax
cmp dword [r12 + 8], r11d
jne 0x14036555f
movzx eax, word [r12 + 2]
mov ecx, dword [r12 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
or dword [r15 + 0x2c], r11d
movsxd rcx, dword [r12 + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov rdi, qword [rcx + 0x10]
test rdi, rdi
je 0x14036554d
mov rbx, qword [rdi + 0x10]
cmp byte [rbx + 0x3f], r10b
jne 0x140365541
mov rbx, qword [rbx + 0x48]
jmp 0x14036553c
mov rdx, qword [rbx + 0x30]
mov rcx, r15
call fcn.1402f52fc
mov rdx, qword [rbx + 0x38]
xor ecx, ecx
mov qword [rbx + 0x30], rcx
mov rcx, r15
call fcn.1402f52fc
xor r10d, r10d
mov qword [rbx + 0x38], r10
mov rbx, qword [rbx + 8]
test rbx, rbx
jne 0x140365513
mov rdi, qword [rdi]
test rdi, rdi
jne 0x140365503
lea r11d, [rdi + 1]
mov rdi, qword [rsp + 0x38]
cmp dword [r12 + 4], r11d
jne 0x140365598
mov rax, qword [r15 + 8]
jmp 0x14036558b
mov eax, 2
cmp dword [r12 + 8], eax
jne 0x140365552
mov rcx, qword [rbx + 0x18]
mov al, byte [r12 + 0xc]
mov byte [rcx + 0x70], al
jmp 0x140365552
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r11d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140365579
and dword [r14 + 0xc8], 0xfffffffc
test r13d, r13d
jne 0x1403626af
jmp 0x1403620fa
movsxd rax, dword [r12 + 4]
lea r8, [rbp - 0x38]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r12 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14033304c
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
movsxd rcx, dword [rbp - 0x38]
jmp 0x140363f71
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
cmp dword [r12 + 0xc], r10d
je 0x1403655ff
mov rcx, rdx
call fcn.14033488c
mov rbx, rax
jmp 0x140365628
lea r8, [rsp + 0x78]
mov qword [rsp + 0x78], r10
mov rcx, r15
call fcn.14033298c
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
mov rbx, qword [rsp + 0x78]
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
mov qword [rax], rbx
jmp 0x14036752f
cmp ebx, 0x6d
ja 0x1403657b3
je 0x14036566b
sub ebx, 0x68
je 0x1403653f7
sub ebx, 1
je 0x1403653f7
sub ebx, 1
je 0x14036566b
sub ebx, 1
je 0x14036566b
cmp ebx, 1
jne 0x140362975
movsxd rax, dword [r12 + 4]
mov r14d, 0x2c
imul rdi, rax, 0x38
add rdi, rsi
movzx ebx, word [rdi + 0x14]
test r14b, bl
jne 0x140365ad9
test bl, 0x12
je 0x140365ad6
mov rcx, rdi
call fcn.1402ed48c
movzx ebx, ax
xor r10d, r10d
jmp 0x140365ad9
mov word [rsi + 0x14], r11w
jmp 0x140363a37
call fcn.14036958c
mov rcx, rbx
mov qword [rbp - 0x68], rax
call fcn.14036958c
mov dil, byte [r12]
mov rbx, rax
cmp dil, 0x66
jne 0x1403656d7
and qword [rbp - 0x68], rax
jmp 0x140365792
cmp dil, 0x67
jne 0x1403656e6
or qword [rbp - 0x68], rbx
jmp 0x140365792
xor r10d, r10d
test rbx, rbx
je 0x140365795
jns 0x140365714
mov rcx, rbx
mov eax, 0xd1
sub al, dil
neg rcx
mov dil, al
mov rax, rbx
cmp rax, 0xffffffffffffffc0
lea ebx, [r10 + 0x40]
cmovg rbx, rcx
cmp rbx, 0x40
jl 0x140365735
cmp qword [rbp - 0x68], r10
jge 0x14036572c
cmp dil, 0x68
je 0x14036572c
or rax, 0xffffffffffffffff
jmp 0x14036572f
mov rax, r10
mov qword [rbp - 0x68], rax
jmp 0x140365795
mov r8d, 8
lea rdx, [rbp - 0x68]
lea rcx, [rbp - 0x60]
call fcn.14038a820
mov rcx, rbx
cmp dil, 0x68
jne 0x140365757
shl qword [rbp - 0x60], cl
jmp 0x14036577f
mov r8, qword [rbp - 0x60]
shr r8, cl
xor ecx, ecx
mov qword [rbp - 0x60], r8
cmp qword [rbp - 0x68], rcx
jge 0x14036577f
or rdx, 0xffffffffffffffff
mov ecx, 0x40
sub cl, bl
shl rdx, cl
or rdx, r8
mov qword [rbp - 0x60], rdx
mov r8d, 8
lea rdx, [rbp - 0x60]
lea rcx, [rbp - 0x68]
call fcn.14038a820
xor r10d, r10d
mov rax, qword [rbp - 0x68]
mov edx, 4
mov qword [rsi], rax
mov eax, 0xf244
and word [rsi + 0x14], ax
or word [rsi + 0x14], dx
jmp 0x140362922
mov ecx, ebx
sub ecx, 0x6e
je 0x14036566b
sub ecx, 1
je 0x14036592c
sub ecx, 1
je 0x1403657d5
cmp ecx, 1
jne 0x140362970
mov eax, dword [r14 + 0xc8]
and al, 3
cmp al, r11b
je 0x1403686c6
mov r15d, dword [r12 + 8]
mov edi, r10d
movsxd r12, dword [r12 + 0xc]
mov r14, r10
mov rcx, qword [rsp + 0x50]
mov rax, r12
shl rax, 5
add rax, qword [rcx + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x71
jne 0x14036583a
mov rcx, qword [rsp + 0x48]
mov rax, qword [rax + 0x18]
movzx esi, word [rcx + 2]
mov cl, byte [rax + 0x70]
and esi, 8
mov rax, qword [rsp + 0x58]
or esi, edx
cmp cl, byte [rax + 0xc3]
jae 0x14036583d
mov byte [rax + 0xc3], cl
jmp 0x14036583d
mov esi, r10d
mov rcx, qword [rsp + 0x48]
mov eax, 0x10
test byte [rcx + 2], al
je 0x14036587a
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.14036958c
mov rcx, qword [rsp + 0x48]
mov qword [rbx], rax
mov eax, 0xf244
and word [rbx + 0x14], ax
mov eax, 4
or word [rbx + 0x14], ax
mov r15d, dword [rbx]
mov al, byte [rcx + 1]
cmp al, 0xf8
jne 0x14036588c
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x140365893
cmp al, 0xfd
jne 0x140365893
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
xor r9d, r9d
mov rcx, qword [rsp + 0x58]
mov r8d, edi
call fcn.1402e46b0
mov rbx, rax
test rax, rax
je 0x14036878e
mov byte [rax + 1], r12b
lea rdi, [rbx + 0x30]
mov rcx, qword [rdi]
mov eax, 1
mov byte [rbx + 2], al
mov r9, r14
mov eax, 4
mov qword [rsp + 0x20], rcx
or dword [rbx + 8], eax
mov rcx, r13
mov r8d, esi
mov dword [rbx + 0x44], r15d
mov edx, r15d
call fcn.140332af4
mov r12, qword [rsp + 0x48]
mov r13d, eax
mov r15, qword [rsp + 0x50]
mov rsi, qword [rsp + 0x60]
mov qword [rbx + 0x38], r14
cmp byte [r12 + 1], 0xf8
mov r14, qword [rsp + 0x58]
mov dword [rsp + 0x30], eax
setne al
xor r10d, r10d
mov byte [rbx + 4], al
lea r11d, [r10 + 1]
mov cl, byte [r12 + 2]
mov rax, qword [rdi]
and cl, 3
mov byte [rax + 3], cl
jmp 0x140362821
movsxd rax, dword [r12 + 4]
imul r13, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add r13, rsi
imul rbx, rax, 0x38
movzx r15d, word [r13 + 0x14]
add rdi, rsi
mov al, r15b
add rbx, rsi
or al, byte [rdi + 0x14]
test r11b, al
je 0x140365992
test word [rbx + 0x14], r9w
je 0x140365979
mov rcx, rbx
call fcn.140379498
mov r13d, dword [rsp + 0x30]
jmp 0x140364a81
mov r13d, dword [rsp + 0x30]
mov r15, qword [rsp + 0x50]
mov word [rbx + 0x14], r11w
mov rdi, qword [rsp + 0x38]
jmp 0x140362970
test r15b, 0x12
jne 0x1403659a9
mov dl, byte [rsp + 0x34]
xor r8d, r8d
mov rcx, r13
call fcn.14036a8e0
jmp 0x1403659bc
mov eax, 0x400
test ax, r15w
je 0x1403659d7
mov rcx, r13
call fcn.140369efc
test eax, eax
jne 0x140368793
movzx r15d, word [r13 + 0x14]
mov eax, 0xfffd
and r15w, ax
mov eax, 0x400
movzx esi, word [rdi + 0x14]
test sil, 0x12
jne 0x140365a09
mov dl, byte [rsp + 0x34]
xor r8d, r8d
mov rcx, rdi
call fcn.14036a8e0
xor r8d, r8d
test eax, eax
jne 0x140368793
movzx esi, word [rdi + 0x14]
mov eax, 0xfffd
and si, ax
jmp 0x140365a1b
test ax, si
je 0x140365a18
mov rcx, rdi
call fcn.140369efc
jmp 0x1403659f0
xor r8d, r8d
mov rcx, qword [rsp + 0x50]
mov edx, dword [rdi + 0x10]
add edx, dword [r13 + 0x10]
movsxd r14, edx
movsxd rax, dword [rcx + 0x88]
cmp r14, rax
jg 0x1403686ee
cmp rbx, rdi
mov rcx, rbx
sete r8b
add edx, 2
call fcn.14036a144
test eax, eax
jne 0x14036878e
mov eax, 0xf242
and word [rbx + 0x14], ax
mov eax, 2
or word [rbx + 0x14], ax
cmp rbx, rdi
je 0x140365a80
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbx + 8]
call fcn.14038a820
mov word [rdi + 0x14], si
movsxd rcx, dword [rdi + 0x10]
add rcx, qword [rbx + 8]
movsxd r8, dword [r13 + 0x10]
mov rdx, qword [r13 + 8]
call fcn.14038a820
mov cl, byte [rsp + 0x34]
mov r11d, 1
mov word [r13 + 0x14], r15w
cmp cl, r11b
jbe 0x140365aad
and r14, 0xfffffffffffffffe
mov rax, qword [rbx + 8]
xor r10d, r10d
mov byte [r14 + rax], r10b
mov rax, qword [rbx + 8]
mov byte [rax + r14 + 1], r10b
mov eax, 0x200
or word [rbx + 0x14], ax
mov dword [rbx + 0x10], r14d
mov byte [rbx + 0x16], cl
jmp 0x14036457b
mov ebx, r10d
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
add rsi, rcx
movzx r8d, word [rsi + 0x14]
movzx edx, r8w
and dx, r14w
jne 0x140365b0f
test r8b, 0x12
je 0x140365b0c
mov rcx, rsi
call fcn.1402ed48c
movzx r8d, word [rsi + 0x14]
movzx edx, ax
jmp 0x140365b0f
mov edx, r10d
movsxd rax, dword [r12 + 0xc]
and dl, bl
movzx r10d, word [rdi + 0x14]
mov ecx, 4
imul r14, rax, 0x38
movzx eax, r10w
add r14, qword [rsp + 0x60]
or ax, r8w
test cl, dl
je 0x140365c99
movzx ecx, byte [r12]
mov r9, qword [rsi]
mov r8, qword [rdi]
mov qword [rsp + 0x48], r9
sub ecx, 0x6a
je 0x140365c66
sub ecx, 1
je 0x140365c4a
sub ecx, 1
je 0x140365bbf
cmp ecx, 1
je 0x140365b8d
xor r10d, r10d
test r8, r8
je 0x140365dab
cmp r8, 0xffffffffffffffff
lea eax, [r10 + 1]
cmove r8, rax
mov rax, r9
cqo
idiv r8
mov r9, rdx
jmp 0x140365c7c
test r8, r8
je 0x140365da8
cmp r8, 0xffffffffffffffff
jne 0x140365baf
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x140365ca8
mov rax, r9
cqo
idiv r8
mov r9, rax
jmp 0x140365c7c
test r8, r8
jle 0x140365bf5
movabs rax, 0x7fffffffffffffff
cqo
idiv r8
cmp r9, rax
jg 0x140365ca8
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jge 0x140365c44
jmp 0x140365ca8
jns 0x140365c44
test r9, r9
jle 0x140365c10
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jmp 0x140365bee
jns 0x140365c44
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x140365ca8
cmp r9, rax
je 0x140365ca8
movabs rax, 0x8000000000000001
mov rcx, r9
cqo
neg rcx
idiv r8
cmp rcx, rax
jg 0x140365ca8
imul r9, r8
jmp 0x140365c7c
movabs rax, 0x8000000000000000
cmp r8, rax
jne 0x140365c63
test r9, r9
jns 0x140365ca8
add r9, rax
jmp 0x140365c7c
neg r8
mov rdx, r8
lea rcx, [rsp + 0x48]
call fcn.14032ed28
test eax, eax
jne 0x140365ca8
mov r9, qword [rsp + 0x48]
movzx eax, word [r14 + 0x14]
mov ecx, 0xf244
and ax, cx
mov qword [r14], r9
mov edx, 4
or ax, dx
jmp 0x140365d8a
mov r11d, 1
test r11b, al
jne 0x140365da3
mov ebx, 8
test bl, r10b
je 0x140365cb8
movsd xmm2, qword [rdi]
jmp 0x140365cde
test r10b, 0x24
je 0x140365cc8
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rdi]
jmp 0x140365cde
test r10b, 0x12
je 0x140365cdb
mov rcx, rdi
call fcn.14031c344
movaps xmm2, xmm0
jmp 0x140365cde
movaps xmm2, xmm7
mov rcx, rsi
call fcn.14036b1b4
movzx ecx, byte [r12]
movaps xmm6, xmm0
sub ecx, 0x6a
je 0x140365d59
sub ecx, 1
je 0x140365d53
sub ecx, 1
je 0x140365d4d
cmp ecx, 1
je 0x140365d3f
mov rcx, rdi
call fcn.14036958c
mov rcx, rsi
mov rbx, rax
call fcn.14036958c
xor r10d, r10d
test rbx, rbx
je 0x140365dab
cmp rbx, 0xffffffffffffffff
lea ecx, [r10 + 1]
cqo
xorps xmm6, xmm6
cmove rbx, rcx
idiv rbx
lea ebx, [rcx + 7]
cvtsi2sd xmm6, rdx
jmp 0x140365d5d
ucomisd xmm2, xmm7
jp 0x140365d47
je 0x140365da8
divsd xmm6, xmm2
jmp 0x140365d5d
mulsd xmm6, xmm2
jmp 0x140365d5d
subsd xmm6, xmm2
jmp 0x140365d5d
addsd xmm6, xmm2
movaps xmm0, xmm6
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dclass]
mov ecx, 2
cmp ax, cx
je 0x140365da8
movzx eax, word [r14 + 0x14]
mov ecx, 0xf248
and ax, cx
movsd qword [r14], xmm6
or ax, bx
mov edx, 4
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x38]
mov word [r14 + 0x14], ax
mov r14, qword [rsp + 0x58]
jmp 0x14036448f
xor r10d, r10d
jmp 0x140365db1
xor r10d, r10d
mov r11d, 1
mov r9d, 0x9000
test word [r14 + 0x14], r9w
je 0x140365dcb
mov rcx, r14
call fcn.140379498
jmp 0x140364ec0
mov word [r14 + 0x14], r11w
mov r14, qword [rsp + 0x58]
jmp 0x140364155
movsxd rax, dword [r12 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rdi, rsi
add rbx, rsi
test word [rbx + 0x14], r9w
je 0x140365e17
mov rcx, rbx
call fcn.140379498
xor r10d, r10d
mov r9d, 0x9000
lea edx, [r10 + 4]
lea ecx, [rdx + 0xc]
lea r11d, [r10 + 1]
jmp 0x140365e1c
mov word [rbx + 0x14], r11w
test byte [rdi + 0x14], r11b
jne 0x1403681c6
mov rcx, rdi
mov word [rbx + 0x14], dx
call fcn.14036958c
not rax
mov qword [rbx], rax
jmp 0x140363904
cmp ebx, 0x7e
ja 0x140366512
je 0x1403664d7
cmp ebx, 0x78
ja 0x1403662a8
je 0x140366281
sub ebx, 0x73
je 0x1403661df
sub ebx, 1
je 0x14036600c
sub ebx, 1
je 0x140365ec0
sub ebx, 1
je 0x14036600c
cmp ebx, 1
jne 0x140362975
mov r8d, dword [r12 + 8]
mov r9b, r11b
mov edx, dword [r12 + 4]
mov rcx, r14
call fcn.1402e46b0
test rax, rax
je 0x140368798
mov rcx, qword [r12 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, r15
mov edx, dword [r12 + 0xc]
call fcn.14036bc00
jmp 0x14036269d
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
mov rcx, qword [r12 + 0x10]
xor edx, edx
mov rbx, rax
test rcx, rcx
jne 0x140365ede
mov eax, edx
jmp 0x140365eea
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
and eax, 0x3fffffff
xor edx, edx
mov ecx, 1
mov dword [r12 + 4], eax
cmp byte [rsp + 0x34], cl
je 0x140365f8e
mov qword [rsp + 0x20], rdx
mov r9b, cl
mov rdx, qword [r12 + 0x10]
mov rcx, rbx
or r8, 0xffffffffffffffff
call fcn.14036a580
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403686f3
lea eax, [r13 + 2]
test byte [rbx + 0x14], al
mov al, byte [rsp + 0x34]
jne 0x140365f38
mov byte [rbx + 0x16], al
jmp 0x140365f4f
cmp byte [rbx + 0x16], al
je 0x140365f4f
mov dl, al
mov rcx, rbx
call fcn.14036a9f8
test eax, eax
jne 0x140368798
xor eax, eax
mov ecx, 0x2000
or word [rbx + 0x14], cx
mov dword [rbx + 0x20], eax
cmp byte [r12 + 1], 0xfa
jne 0x140365f77
mov rdx, qword [r12 + 0x10]
test rdx, rdx
je 0x140365f77
mov rcx, r15
call fcn.140338ff0
mov byte [r12 + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [r12 + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [r12 + 4], eax
cmp eax, dword [r15 + 0x88]
jg 0x1403686f3
mov byte [r12], 0x49
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
mov r8, rax
xor r10d, r10d
mov eax, 0x2202
mov word [r8 + 0x14], ax
mov rcx, qword [r12 + 0x10]
mov al, byte [rsp + 0x34]
mov qword [r8 + 8], rcx
mov ecx, dword [r12 + 4]
mov dword [r8 + 0x10], ecx
mov byte [r8 + 0x16], al
cmp dword [r12 + 0xc], r10d
jle 0x1403667e3
movsxd rcx, dword [r12 + 0xc]
lea r11d, [r10 + 1]
movzx eax, word [r12 + 2]
imul rdx, rcx, 0x38
cmp qword [rdx + rsi], rax
jne 0x1403620fa
mov eax, 0x2210
mov word [r8 + 0x14], ax
jmp 0x1403620fa
cmp dword [r12 + 0xc], r10d
jle 0x140366036
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov dword [rcx + rsi + 0x10], r10d
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x1404dcc0a]
mov qword [rcx + rsi + 8], rax
movsxd rdx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x14036608e
mov eax, 8
test byte [rbx + 8], al
jne 0x14036608e
movsx eax, word [rbx + 0x48]
cmp dword [r12 + 8], eax
jg 0x14036608e
mov edx, dword [rbx + 0x44]
xor r8d, r8d
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], r10
mov dword [rbx + 0x20], r10d
call fcn.1403323cc
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
lea edx, [rax + 4]
jmp 0x1403661d0
mov r8d, dword [r12 + 8]
xor r9d, r9d
mov rcx, r14
call fcn.1402e46b0
mov rbx, rax
test rax, rax
je 0x140368798
mov eax, 1
mov dword [rsp + 0x28], 0x41e
or dword [rbx + 8], eax
lea rdi, [rbx + 0x10]
movzx ecx, word [r12 + 2]
mov r9, rdi
or ecx, 5
mov r8, r15
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [r15]
call fcn.140334060
xor r10d, r10d
mov r13d, eax
test eax, eax
jne 0x1403626af
mov rcx, qword [rdi]
lea edx, [rax + 1]
xor r8d, r8d
call fcn.1403320c8
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403661a1
mov r14, qword [r12 + 0x10]
lea rsi, [rbx + 0x44]
mov rcx, qword [rdi]
mov qword [rbx + 0x38], r14
test r14, r14
je 0x140366168
movzx r8d, word [r12 + 2]
mov rdx, rsi
or r8d, 2
call fcn.140332a90
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x140366162
mov rax, qword [rbx + 0x30]
lea r8d, [r13 + 4]
mov edx, dword [rsi]
mov r9, r14
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rax
call fcn.140332af4
mov r13d, eax
mov dword [rsp + 0x30], eax
xor r10d, r10d
mov byte [rbx + 4], r10b
jmp 0x140366197
mov rax, qword [rbx + 0x30]
mov r14d, 1
xor r9d, r9d
mov dword [rsi], r14d
mov edx, r14d
mov qword [rsp + 0x20], rax
lea r8d, [r14 + 3]
call fcn.140332af4
mov r13d, eax
mov dword [rsp + 0x30], eax
xor r10d, r10d
mov byte [rbx + 4], r14b
mov rsi, qword [rsp + 0x60]
mov r14, qword [rsp + 0x58]
movzx eax, word [r12 + 2]
mov edx, 4
sub ax, 8
neg ax
mov eax, dword [rbx + 8]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, edx
or ecx, eax
mov dword [rbx + 8], ecx
test r13d, r13d
jne 0x1403686d1
mov rdi, qword [rsp + 0x38]
mov r11d, 1
mov byte [rbx + 2], r11b
jmp 0x14036201e
movsxd rcx, dword [r12 + 8]
xor r9d, r9d
mov rax, qword [r14 + 0x78]
mov edx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, r14
movsx r8d, word [rbx + 0x48]
call fcn.1402e46b0
mov r10, rax
test rax, rax
je 0x140368798
mov eax, 1
or dword [r10 + 8], eax
mov byte [r10 + 2], al
mov rcx, qword [rbx + 0x38]
mov qword [r10 + 0x38], rcx
lea edx, [rax + 3]
mov cl, byte [rbx + 4]
mov r8d, edx
mov byte [r10 + 4], cl
mov ecx, dword [rbx + 0x44]
mov dword [r10 + 0x44], ecx
mov ecx, dword [r10 + 8]
xor ecx, dword [rbx + 8]
and ecx, edx
xor ecx, dword [r10 + 8]
mov dword [r10 + 8], ecx
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
lea eax, [rdx + 4]
or ecx, eax
mov dword [r10 + 8], ecx
or dword [rbx + 8], eax
mov rax, qword [r10 + 0x30]
mov r9, qword [r10 + 0x38]
mov edx, dword [r10 + 0x44]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.140332af4
mov r13d, eax
mov dword [rsp + 0x30], eax
jmp 0x140362c9a
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
jne 0x14036296b
jmp 0x140368090
sub ebx, 0x79
je 0x140366492
sub ebx, 1
je 0x140366456
sub ebx, r8d
je 0x14036630f
cmp ebx, 1
jne 0x140362975
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rdx, qword [rax + rcx*8]
movzx eax, word [rdx + 0xc]
cmp eax, dword [r12 + 8]
jge 0x1403662ef
movzx eax, word [r12 + 8]
mov word [rdx + 0xc], ax
jmp 0x14036296b
mov ecx, 0x10
cmp eax, dword [r12 + 0xc]
jle 0x140366305
movzx eax, word [r12 + 0xc]
mov word [rdx + 0xc], ax
mov edx, 4
jmp 0x140362975
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 0x1c]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x30]
cmp byte [rax], r10b
jne 0x140365988
mov rax, qword [rdi + 0x38]
mov esi, dword [r12 + 4]
mov qword [rbp + 0x28], rax
movzx eax, word [r12 + 0x28]
mov word [rbp + 0x44], ax
movsxd rax, dword [r12 + 0x24]
imul rcx, rax, 0x38
mov byte [rbp + 0x46], r10b
add rcx, qword [rsp + 0x60]
mov qword [rbp + 0x30], rcx
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.1403156f4
mov ecx, dword [rbx + 0x40]
lea rax, [rcx - 1]
cmp rax, 0x7ffffffe
ja 0x1403663e6
xor eax, eax
mov qword [rbp + 0x158], r15
mov edx, ecx
mov word [rbp + 0x154], ax
mov rcx, rbx
mov dword [rbp + 0x160], eax
lea r8, [rbp + 0x140]
call fcn.14036a0e4
xor r10d, r10d
mov r13d, eax
test eax, eax
jne 0x1403626af
mov rdx, qword [rbp + 0x148]
lea r8, [rbp + 0x28]
mov ecx, dword [rbp + 0x150]
xor r9d, r9d
call fcn.14036b1e8
xor r10d, r10d
mov ebx, eax
cmp dword [rbp + 0x160], r10d
je 0x1403663dc
lea rcx, [rbp + 0x140]
call fcn.14037945c
xor r10d, r10d
mov r13d, r10d
mov dword [rsp + 0x30], r10d
jmp 0x140366405
mov ecx, 0x14eb8
call fcn.140337774
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
mov ebx, r10d
test eax, eax
jne 0x1403626af
test ebx, ebx
jg 0x140366443
je 0x140366cae
test esi, esi
jle 0x1403667d9
mov rcx, qword [rdi + 0x30]
xor edx, edx
dec esi
call fcn.140334018
xor r10d, r10d
mov r13d, eax
test eax, eax
je 0x140366356
cmp eax, 0x65
jne 0x1403626af
mov r13d, r10d
mov dword [rsp + 0x30], r10d
add r12, 0x18
mov qword [rsp + 0x48], r12
mov rdi, qword [rsp + 0x38]
jmp 0x140362d06
movsxd rcx, dword [r12 + 4]
mov r8, qword [r14 + 0x78]
mov rdx, qword [r8 + rcx*8]
test rdx, rdx
je 0x140366486
mov rcx, r14
call fcn.140368ef4
mov ecx, dword [r12 + 4]
xor r10d, r10d
mov r8, qword [r14 + 0x78]
mov r9d, 0x9000
lea r11d, [r10 + 1]
movsxd rax, ecx
mov qword [r8 + rax*8], r10
jmp 0x14036296b
mov r8d, dword [r12 + 0xc]
mov r9b, 3
mov edx, dword [r12 + 4]
mov rcx, r14
call fcn.1402e46b0
xor r10d, r10d
test rax, rax
je 0x140368798
lea r11d, [r10 + 1]
mov byte [rax + 2], r11b
mov ecx, dword [r12 + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x1404fd4f3]
mov qword [rax + 0x30], rcx
mov byte [rax + 4], r11b
jmp 0x1403620fa
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
mov rcx, qword [r14 + 0x78]
mov r11d, 1
movsxd rdx, dword [r12 + 4]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r11
jmp 0x1403620f7
mov eax, 0x84
cmp ebx, eax
ja 0x1403669f7
je 0x1403669a7
sub ebx, 0x7f
je 0x1403667ee
sub ebx, 1
je 0x140366692
sub ebx, 1
je 0x140366651
sub ebx, 1
je 0x140366566
cmp ebx, 1
jne 0x140362975
mov rax, qword [r14 + 0x38]
add qword [r15 + 0x80], rax
mov qword [r15 + 0x78], rax
mov qword [r14 + 0x38], r10
jmp 0x140362975
cmp byte [r12 + 1], 0xfb
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov r15d, dword [r12 + 8]
mov rdi, qword [rax + rcx*8]
jne 0x1403665c7
mov rax, qword [rsp + 0x50]
cmp qword [rax + 0x140], r10
je 0x1403665c7
movsx rcx, byte [rdi + 1]
mov rax, qword [rax + 0x20]
mov rsi, qword [r12 + 0x10]
shl rcx, 5
mov r14, qword [rcx + rax]
test byte [r12 + 2], r8b
je 0x1403665cd
cmp byte [rdi + 4], r10b
je 0x1403665cd
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.1403156f4
mov rax, qword [rbx + 0x30]
mov qword [rdi + 0x50], rax
jmp 0x1403665cd
mov r14, r10
mov rsi, r10
mov dl, byte [r12 + 2]
mov rcx, qword [rdi + 0x30]
call fcn.140332b80
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov qword [rdi + 0x20], r10
mov r13d, eax
test eax, eax
jne 0x140366988
lea r11d, [rax + 1]
test r11b, r15b
mov r15, qword [rsp + 0x50]
je 0x140364e0c
mov rax, qword [rsp + 0x58]
add qword [rax + 0x38], r11
mov r10, qword [r15 + 0x140]
test r10, r10
je 0x1403667cf
test rsi, rsi
je 0x1403667cf
test byte [rsi + 0x30], 0x80
jne 0x1403667cf
mov rax, qword [rdi + 0x50]
lea edx, [r13 + 9]
mov r9, qword [rsi]
mov r8, r14
mov rcx, qword [r15 + 0x138]
mov qword [rsp + 0x20], rax
call r10
jmp 0x140364ec0
mov rcx, qword [r14 + 0x78]
movsxd rax, dword [r12 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r12 + 8]
mov rdx, qword [rcx + rax*8]
cmp dword [r12 + 0xc], r10d
je 0x14036667d
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + rsi]
jmp 0x140366680
mov r8, r10
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.1403350f8
jmp 0x14036269d
movsxd rax, dword [r12 + 8]
movsxd rcx, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
add rdx, rsi
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
cmp byte [r12 + 1], 0xfb
mov r8, qword [rcx + rsi]
mov qword [rbp + 0xa8], r8
jne 0x1403666e8
cmp qword [r15 + 0x140], r10
je 0x1403666e8
movsx rcx, byte [rbx + 1]
mov rax, qword [r15 + 0x20]
mov rdi, qword [r12 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x1403666ee
mov rdi, r10
mov rsi, r10
movzx ecx, word [r12 + 2]
test r11b, cl
je 0x140366703
add qword [r14 + 0x38], r11
movzx ecx, word [r12 + 2]
mov eax, 0x20
test al, cl
je 0x140366716
mov qword [r15 + 0x38], r8
movzx ecx, word [r12 + 2]
mov rax, qword [rdx + 8]
mov qword [rbp + 0xb0], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0xc4], eax
mov eax, 0x10
test al, cl
je 0x140366739
mov r9d, dword [rbx + 0x24]
jmp 0x14036673c
mov r9d, r10d
mov eax, 0x400
test word [rdx + 0x14], ax
je 0x140366751
mov eax, dword [rdx]
mov dword [rbp + 0xc8], eax
jmp 0x140366758
mov dword [rbp + 0xc8], r10d
movzx r8d, cx
lea rdx, [rbp + 0xa0]
mov qword [rbp + 0xa0], r10
and r8d, 0x8a
mov rcx, qword [rbx + 0x30]
call fcn.140333608
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov byte [rbx + 3], r10b
mov r13d, eax
mov dword [rbx + 0x20], r10d
test eax, eax
jne 0x1403626af
test rdi, rdi
je 0x1403667d9
mov al, byte [r12 + 2]
mov r8, rsi
mov r9, qword [rdi]
and al, 4
mov rcx, qword [r15 + 0x138]
neg al
mov rax, qword [rbp + 0xa8]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r15 + 0x140]
jmp 0x1403638ff
mov rsi, qword [rsp + 0x60]
jmp 0x1403620ed
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x38]
mov r11d, 1
jmp 0x1403620fa
mov rbx, r10
mov dword [rsp + 0x68], r10d
mov rdx, r12
mov qword [rbp - 0x70], rbx
mov rcx, r14
call fcn.14031f37c
movsxd rdx, dword [r12 + 4]
mov r14, rax
mov rax, qword [rsp + 0x58]
mov edi, 2
mov rcx, qword [rax + 0x78]
mov rsi, qword [rcx + rdx*8]
test byte [rsi + 8], dil
jne 0x140366890
mov rcx, qword [rsi + 0x30]
lea rdx, [rsp + 0x68]
call fcn.140333ee4
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403687d7
cmp dword [rsp + 0x68], r10d
je 0x14036685c
lea eax, [rdi - 1]
mov ebx, eax
mov qword [rbp - 0x70], rax
mov rax, qword [rsp + 0x58]
jmp 0x140366893
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.1403156f4
mov rbx, qword [rbx + 0x30]
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
mov qword [rbp - 0x70], rbx
mov rax, qword [rsp + 0x58]
jl 0x140366889
or dword [rsi + 8], edi
jmp 0x140366890
inc rbx
mov qword [rbp - 0x70], rbx
xor r10d, r10d
movsxd rdx, dword [r12 + 0xc]
test edx, edx
je 0x140366925
mov rcx, qword [rax + 0x108]
test rcx, rcx
je 0x1403668c8
mov rax, qword [rcx + 8]
jmp 0x1403668b9
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1403668b2
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x1403668d1
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x60]
mov rcx, rdi
call fcn.14036958c
mov ecx, 0xf244
mov qword [rdi], rax
and word [rdi + 0x14], cx
mov ecx, 4
or word [rdi + 0x14], cx
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x1403686de
mov ecx, 2
test byte [rsi + 8], cl
jne 0x1403686de
inc rax
cmp rbx, rax
cmovl rbx, rax
xor r10d, r10d
mov qword [rdi], rbx
mov edi, ecx
mov qword [rbp - 0x70], rbx
test byte [rsi + 8], dil
je 0x140366992
mov edi, r10d
lea rdx, [rbp - 0x70]
mov ecx, 8
call fcn.1402d82a4
mov rbx, qword [rbp - 0x70]
lea r9, [rsp + 0x68]
mov rcx, qword [rsi + 0x30]
movabs rax, 0x3fffffffffffffff
and rbx, rax
xor r8d, r8d
inc rbx
mov rdx, rbx
mov qword [rbp - 0x70], rbx
call fcn.140334f08
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x140366988
cmp dword [rsp + 0x68], r10d
jne 0x140366992
inc edi
cmp edi, 0x64
jl 0x14036692e
lea r13d, [rax + 0xd]
mov r14, qword [rsp + 0x58]
jmp 0x1403626af
mov byte [rsi + 3], r10b
mov dword [rsi + 0x20], r10d
mov qword [r14], rbx
mov r14, qword [rsp + 0x58]
jmp 0x140362009
mov rax, qword [r14 + 0x78]
lea r9, [rbp - 0x78]
movsxd rcx, dword [r12 + 4]
mov r8d, dword [r12 + 0x10]
mov dword [rbp - 0x78], r10d
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rdx, rax, 0x38
add rdx, rsi
call fcn.14036bb08
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
lea r11d, [rax + 1]
cmp dword [rbp - 0x78], r10d
jne 0x140362f28
jmp 0x1403620fa
sub ebx, 0x85
je 0x140366c04
sub ebx, 1
je 0x140366b7e
sub ebx, 1
je 0x140366a9d
cmp ebx, 1
jne 0x140362975
movsxd rdx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x140366a6c
mov r9b, 3
mov r8d, r11d
mov rcx, r14
call fcn.1402e46b0
xor r10d, r10d
test rax, rax
je 0x140368798
lea ecx, [rbx + 7]
mov dword [rax + 0x24], r10d
or dword [rax + 8], ecx
mov r11d, ebx
lea rcx, [0x1404fd4f3]
mov byte [rax + 4], r11b
mov qword [rax + 0x30], rcx
mov r9d, 0x9000
mov byte [rax + 2], r11b
mov dword [rax + 0x20], r10d
cmp byte [rax], r10b
jne 0x14036296b
mov rbx, qword [rax + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.1402d81d8
xor r10d, r10d
mov qword [rbx + 0x18], r10
lea r11d, [r10 + 1]
mov byte [rbx], r11b
jmp 0x1403620fa
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
movsxd rdx, dword [r12 + 4]
xor r10d, r10d
mov rcx, qword [r14 + 0x78]
mov rdi, rax
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], r10b
je 0x140366acf
lea r11d, [r10 + 1]
mov word [rax + 0x14], r11w
jmp 0x140362667
cmp byte [rbx + 3], r10b
je 0x140366ade
mov rax, qword [rbx + 0x50]
jmp 0x140366b72
mov eax, 2
cmp byte [rbx], al
jne 0x140366b1c
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp - 0x28]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r14
mov r13d, eax
mov dword [rsp + 0x30], eax
call fcn.14036d168
xor r10d, r10d
test r13d, r13d
jne 0x1403626af
mov rax, qword [rbp - 0x28]
jmp 0x140366b76
mov rax, qword [rbx + 0x30]
cmp byte [rax], r10b
je 0x140366b41
mov rcx, rbx
call fcn.140369418
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
jmp 0x140366b49
mov r13d, r10d
mov dword [rsp + 0x30], r10d
cmp byte [rbx + 2], r10b
je 0x140366b5f
mov r11d, 1
mov word [rdi + 0x14], r11w
jmp 0x140362667
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.1403156f4
mov rax, qword [rbx + 0x30]
xor r10d, r10d
mov qword [rbp - 0x28], rax
mov qword [rdi], rax
jmp 0x14036200e
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
mov rcx, qword [r14 + 0x78]
mov rdi, rax
movsxd rdx, dword [r12 + 4]
mov rdx, qword [rcx + rdx*8]
mov rbx, qword [rdx + 0x30]
mov rcx, rbx
call fcn.1403156f4
mov edx, dword [rbx + 0x40]
cmp edx, dword [r15 + 0x88]
ja 0x1403686f3
mov r8, rdi
mov rcx, rbx
call fcn.14036a0e4
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
cmp dword [r12 + 0xc], r10d
jne 0x140367a05
mov eax, 0x4000
test word [rdi + 0x14], ax
je 0x140367a05
mov rcx, rdi
call fcn.14036a2a8
xor r10d, r10d
test eax, eax
jne 0x140368798
jmp 0x14036200e
movsxd rax, dword [r12 + 8]
movsxd rcx, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
add rdx, rsi
mov rcx, qword [rax + rcx*8]
call fcn.14036c008
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
movsxd rcx, dword [r12 + 0xc]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], r10d
jmp 0x140362013
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov dword [rbp - 0x78], r10d
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x30]
cmp bl, 0x89
jne 0x140366c71
or dword [rdi + 0x24], 0xffffffff
cmp byte [rcx], r10b
je 0x140365988
lea rdx, [rbp - 0x78]
call fcn.140333ee4
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
mov byte [rdi + 3], r10b
mov eax, dword [rbp - 0x78]
mov byte [rdi + 2], al
mov dword [rdi + 0x20], r10d
test r13d, r13d
jne 0x1403626af
cmp dword [r12 + 8], r10d
jle 0x140367a05
test eax, eax
je 0x14036200e
mov r11d, 1
jmp 0x140362f28
xor r10d, r10d
jmp 0x140362f28
mov eax, 0xa0
cmp ebx, eax
ja 0x140367730
je 0x1403676d0
mov eax, 0x95
cmp ebx, eax
ja 0x140367388
je 0x14036725b
mov eax, 0x8f
cmp ebx, eax
ja 0x140367009
je 0x140366fe8
sub ebx, 0x8a
je 0x140366f31
sub ebx, 1
je 0x140366edb
sub ebx, 1
je 0x140366df1
sub ebx, 1
je 0x140366d26
cmp ebx, 1
jne 0x140362975
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], r10b
je 0x140366d65
mov rcx, rbx
call fcn.140369418
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
lea edx, [rax + 4]
mov r9d, 0x9000
lea r11d, [rax + 1]
jmp 0x140366d6d
mov r13d, r10d
mov dword [rsp + 0x30], r10d
cmp byte [rbx + 2], r10b
jne 0x140364ef4
mov rdx, qword [rbx + 0x30]
lea r8, [rsp + 0x78]
mov rcx, r15
mov qword [rsp + 0x78], r10
call fcn.140369464
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
cmp byte [r12], 0x8d
jne 0x140366ddc
mov rax, qword [r14 + 0x78]
lea r11d, [r13 + 1]
movsxd rcx, dword [r12 + 0xc]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x78]
mov word [rdx + 2], 0x100
mov qword [rdx + 0x50], rax
mov dword [rdx + 0x20], r10d
mov rax, qword [r12 + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x1403620fa
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
mov rcx, qword [rsp + 0x78]
jmp 0x140363f71
movsxd rcx, dword [r12 + 4]
lea r8, [rbp - 0x34]
mov rax, qword [r14 + 0x78]
lea rdx, [rbp + 0x178]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x38]
mov rbx, qword [rdi + 0x30]
mov qword [rbp + 0x178], rax
movzx eax, word [r12 + 0xc]
mov word [rbp + 0x194], ax
movsxd rax, dword [r12 + 8]
imul rcx, rax, 0x38
mov byte [rbp + 0x196], r10b
add rcx, rsi
mov qword [rbp + 0x180], rcx
mov rcx, rbx
call fcn.140333260
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
cmp dword [rbp - 0x34], r10d
jne 0x140366e8c
lea edx, [rax + 4]
mov rcx, rbx
call fcn.140332b80
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
mov r11d, 1
and qword [rdi + 0x20], 0
jmp 0x140362667
cmp word [r12 + 2], r10w
je 0x140366e7c
mov eax, dword [r15 + 0x30]
mov r11d, 1
and eax, 0x10000001
cmp rax, r11
je 0x140366e82
lea rax, [0x1404e6d94]
mov r13d, 0x30b
mov ecx, r13d
mov qword [rsp + 0x20], rax
mov r9d, 0x1715d
lea r8, str.index_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.1402e12cc
jmp 0x140368219
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x400
add rbx, rsi
test word [rbx + 0x14], ax
je 0x140366f15
mov rcx, rbx
call fcn.140369efc
xor r10d, r10d
mov r13d, eax
test eax, eax
jne 0x1403626af
mov rdx, rbx
mov rcx, rdi
call fcn.14036c0bc
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jmp 0x14036325d
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, rsi
test byte [r12 + 2], r11b
je 0x140366f55
add qword [r14 + 0x38], r11
mov eax, 0x400
test word [rbx + 0x14], ax
je 0x140366f76
mov rcx, rbx
call fcn.140369efc
xor r10d, r10d
mov r13d, eax
test eax, eax
jne 0x1403626af
movsxd rax, dword [rbx + 0x10]
movzx r8d, word [r12 + 2]
mov qword [rbp + 0x250], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x248], rax
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r12 + 0x10]
add rcx, rsi
mov word [rbp + 0x268], ax
mov eax, 0x10
mov qword [rbp + 0x260], rcx
test al, r8b
je 0x140366fc2
mov r9d, dword [rdi + 0x24]
jmp 0x140366fc5
mov r9d, r10d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x248]
and r8d, 0x8a
call fcn.140333608
xor r10d, r10d
mov dword [rdi + 0x20], r10d
jmp 0x140366f23
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], r10b
je 0x140362970
call fcn.140368df0
jmp 0x14036269d
sub ebx, 0x90
je 0x14036713d
sub ebx, 1
je 0x1403670e4
sub ebx, 1
je 0x1403670a9
sub ebx, 1
je 0x14036705a
cmp ebx, 1
jne 0x140362975
add byte [r15 + 0x70], r11b
xor r9d, r9d
mov rdx, qword [r12 + 0x10]
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x20], r10
call fcn.1402d726c
dec byte [r15 + 0x70]
jmp 0x14036269d
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
movsxd rcx, dword [r12 + 4]
lea rdx, [rbp - 0x78]
mov r8d, dword [r12 + 0xc]
mov rbx, rax
shl rcx, 5
xor eax, eax
add rcx, qword [r15 + 0x20]
mov dword [rbp - 0x78], eax
mov rcx, qword [rcx + 8]
call fcn.140332a90
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x1403626af
mov eax, dword [rbp - 0x78]
mov qword [rbx], rax
jmp 0x140362013
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r11b
jne 0x1403670cc
mov rdx, qword [rcx + 0x30]
mov rcx, r15
call fcn.14036be90
jmp 0x140362c9a
mov rcx, qword [rcx + 0x30]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.1403323cc
jmp 0x14036269d
movsxd rax, dword [r12 + 8]
lea r8, [rbp - 0x10]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r12 + 4]
shl rax, 5
mov qword [rbp - 0x10], r10
mov rcx, qword [rax + rcx + 8]
call fcn.1403323cc
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
cmp dword [r12 + 0xc], r10d
je 0x140367135
mov rdx, qword [rbp - 0x10]
add qword [r14 + 0x38], rdx
cmp dword [r12 + 0xc], r10d
jle 0x140367135
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add qword [rcx + rsi], rdx
test r13d, r13d
jmp 0x1403626a9
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
mov r11d, 1
mov rsi, rax
mov word [rax + 0x14], r11w
mov ecx, dword [r15 + 0xe8]
add ecx, r11d
cmp dword [r15 + 0xdc], ecx
jg 0x14036870d
mov rcx, qword [rsp + 0x50]
xor edx, edx
movsxd r15, dword [r12 + 0xc]
mov edi, dword [r12 + 4]
mov r14, r15
shl r14, 5
mov rax, qword [rcx + 0x20]
mov dword [rbp - 0x78], edx
mov rbx, qword [r14 + rax + 8]
cmp byte [rbx + 0x11], dl
je 0x1403671a7
add dword [rbx + 0x14], r11d
cmp byte [rbx + 0x12], dl
jne 0x1403671a7
mov rcx, rbx
call fcn.1402e91f0
lea r8, [rbp - 0x78]
mov edx, edi
mov rcx, rbx
call fcn.1402e8c50
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
cmp byte [rbx + 0x11], r10b
je 0x1403671d6
sub dword [rbx + 0x14], 1
jne 0x1403671d6
mov rcx, rbx
call fcn.140376df0
xor r10d, r10d
movsxd r8, dword [rbp - 0x78]
mov edx, 4
mov word [rsi + 0x14], dx
mov qword [rsi], r8
test r13d, r13d
jne 0x140366988
test r8d, r8d
je 0x140362918
mov rax, qword [rsp + 0x50]
mov r9d, dword [r12 + 4]
mov rdx, qword [rax + 0x20]
mov rcx, qword [r14 + rdx + 0x18]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x14036722f
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x28], r8d
jne 0x140367222
mov dword [rcx + 0x28], r9d
mov rax, qword [rax]
test rax, rax
jne 0x140367214
mov rcx, qword [r14 + rdx + 0x18]
mov rax, qword [rcx + 0x28]
jmp 0x140367246
mov rcx, qword [rax + 0x10]
cmp dword [rcx + 0x58], r8d
jne 0x140367243
mov dword [rcx + 0x58], r9d
mov rax, qword [rax]
test rax, rax
jne 0x140367235
lea r11d, [rax + 1]
lea eax, [r11 + r15]
mov byte [rbp - 0x80], al
jmp 0x140364580
movsxd rbx, dword [r12 + 4]
lea rdi, [r14 + 0xa8]
mov rdx, qword [r12 + 0x10]
mov r8, rbx
shl r8, 5
add r8, qword [r15 + 0x20]
test rdx, rdx
jne 0x1403672be
mov rcx, qword [r8 + 0x18]
call fcn.140359f1c
and dword [r15 + 0x2c], 0xffffffef
mov r8, rdi
movzx r9d, word [r12 + 2]
mov edx, ebx
mov rcx, r15
call fcn.14034e28c
mov r11d, 1
mov dword [rsp + 0x30], eax
or dword [r15 + 0x2c], r11d
mov r13d, eax
and dword [r14 + 0xc8], 0xfffffffc
xor r10d, r10d
jmp 0x14036737a
mov qword [rbp], r15
lea r9, str.sqlite_master
mov dword [rbp + 0x10], ebx
mov qword [rbp + 8], rdi
mov dword [rbp + 0x18], r10d
mov rax, qword [r8 + 8]
mov qword [rsp + 0x20], rdx
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rcx, qword [rax + 8]
mov eax, dword [rcx + 0x40]
mov rcx, r15
mov dword [rbp + 0x20], eax
mov r8, qword [r8]
call fcn.140350d20
xor edi, edi
mov rbx, rax
test rax, rax
je 0x14036872a
lea eax, [rdi + 1]
mov dword [rbp + 0x14], edi
lea r9, [rbp]
mov byte [r15 + 0xc5], al
lea r8, [fcn.14034dff0]
mov dword [rbp + 0x1c], edi
mov rdx, rbx
mov qword [rsp + 0x20], rdi
mov rcx, r15
call fcn.1402d726c
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
jne 0x140367361
mov r13d, dword [rbp + 0x14]
mov dword [rsp + 0x30], r13d
test r13d, r13d
jne 0x140367361
cmp dword [rbp + 0x1c], edi
jne 0x140367361
mov ecx, 0x17326
call fcn.140337774
mov r13d, eax
mov dword [rsp + 0x30], eax
mov rdx, rbx
mov rcx, r15
call fcn.140338ff0
xor r10d, r10d
mov byte [r15 + 0xc5], r10b
lea r11d, [r10 + 1]
test r13d, r13d
jne 0x140368730
jmp 0x140362667
mov eax, 0x9b
cmp ebx, eax
ja 0x14036758e
je 0x140367454
sub ebx, 0x96
je 0x140367442
sub ebx, 1
je 0x140367406
sub ebx, 1
je 0x1403673ef
sub ebx, 1
je 0x1403673d6
cmp ebx, 1
jne 0x140362975
mov r8, qword [r12 + 0x10]
mov rcx, r15
mov edx, dword [r12 + 4]
call fcn.14035e97c
jmp 0x140362c9a
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
mov ecx, 8
mov word [rax + 0x14], cx
jmp 0x140363f51
mov r8, qword [r12 + 0x10]
mov rcx, r15
mov edx, dword [r12 + 4]
call fcn.14035e8fc
jmp 0x140362c9a
movsxd rcx, dword [r12 + 4]
xor r8d, r8d
mov rdx, qword [r12 + 0x10]
shl rcx, 5
add rcx, qword [r15 + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.14034d918
mov rdx, rax
mov rcx, r15
call fcn.14033a164
mov r11d, 1
or dword [r15 + 0x2c], r11d
jmp 0x1403620f7
mov edx, dword [r12 + 4]
mov rcx, r15
call fcn.1403304fc
jmp 0x14036269d
movsxd rax, dword [r12 + 0xc]
lea r9, [rbp - 0x30]
mov rdx, qword [r15 + 0x20]
mov r8, qword [r12 + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [r12 + 4]
add r8, 4
imul rbx, rax, 0x38
movzx eax, word [r12 + 2]
add rdi, rsi
mov qword [rsp + 0x28], r9
add rbx, rsi
mov r9d, dword [r12 + 8]
shl rax, 5
mov ecx, dword [rdi]
add ecx, r11d
mov dword [rsp + 0x20], ecx
mov rcx, r15
mov rdx, qword [rax + rdx + 8]
call fcn.140333ad4
mov rsi, rax
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x1403674c4
mov rcx, rbx
call fcn.140379498
mov edx, 1
jmp 0x1403674cd
mov edx, 1
mov word [rbx + 0x14], dx
mov eax, dword [rbp - 0x30]
test eax, eax
je 0x140367503
test rsi, rsi
je 0x140368798
dec eax
mov r9b, dl
movsxd rcx, eax
or r8, 0xffffffffffffffff
sub qword [rdi], rcx
lea rax, [fcn.1402d81d8]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.14036a580
mov eax, 2
test byte [rbx + 0x14], al
mov al, byte [rsp + 0x34]
jne 0x140367516
mov byte [rbx + 0x16], al
jmp 0x140367525
cmp byte [rbx + 0x16], al
je 0x140367525
mov dl, al
mov rcx, rbx
call fcn.14036a9f8
mov rsi, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x38]
xor r10d, r10d
mov eax, dword [r15 + 0x198]
test eax, eax
jne 0x140368787
mov rbx, qword [rsp + 0x40]
cmp qword [rbp - 0x50], rbx
jb 0x140367a05
mov rdx, qword [r15 + 0x208]
test rdx, rdx
je 0x140367a05
mov eax, dword [r15 + 0x218]
mov rcx, qword [r15 + 0x210]
add rbx, rax
mov qword [rsp + 0x40], rbx
call rdx
xor r10d, r10d
test eax, eax
jne 0x140368748
cmp qword [rbp - 0x50], rbx
jae 0x140367550
jmp 0x140362013
sub ebx, 0x9c
je 0x140367694
sub ebx, 1
je 0x140367659
sub ebx, 1
je 0x140367621
cmp ebx, 1
jne 0x140362975
mov rcx, qword [r14 + 0x108]
test rcx, rcx
je 0x1403675de
mov rax, qword [rcx + 8]
jmp 0x1403675ca
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1403675c3
movsxd rax, dword [r12 + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x1403675ea
movsxd rax, dword [r12 + 4]
imul rdi, rax, 0x38
add rdi, rsi
mov rcx, rdi
call fcn.14036a280
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.14036a280
mov rax, qword [rbx]
xor r10d, r10d
lea edx, [r10 + 4]
cmp qword [rdi], rax
jge 0x140362859
mov qword [rdi], rax
jmp 0x140362859
mov eax, dword [r15 + 0x30]
bt rax, 0x13
movsxd rax, dword [r12 + 8]
jae 0x14036763d
add qword [r15 + 0x2f8], rax
jmp 0x140362975
cmp dword [r12 + 4], r10d
je 0x140367650
add qword [r15 + 0x2f0], rax
jmp 0x140362975
add qword [r14 + 0x50], rax
jmp 0x140362975
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
mov r9, qword [r14 + 0x108]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
add r8d, dword [r12 + 4]
movsxd rcx, r8d
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
jmp 0x140364278
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + 8]
add rbx, rsi
imul rdi, rax, 0x38
test byte [rbx + 0x14], cl
jne 0x1403676be
mov rcx, rbx
call fcn.14036a4b8
test eax, eax
jne 0x140368798
mov rdx, qword [rdi + rsi]
mov rcx, qword [rbx + 8]
call fcn.140359398
jmp 0x140363904
movsxd rax, dword [r12 + 4]
mov rdx, r12
imul rbx, rax, 0x38
movsxd rax, dword [r12 + 0xc]
mov rcx, r14
imul rdi, rax, 0x38
call fcn.14031f37c
mov rcx, qword [rbx + rsi]
xor r11d, r11d
mov qword [rsp + 0x78], rcx
mov r10, rax
test rcx, rcx
jle 0x140367727
mov rdx, qword [rdi + rsi]
lea rcx, [rsp + 0x78]
test rdx, rdx
cmovle rdx, r11
call fcn.14032ed28
test eax, eax
jne 0x140367727
mov rax, qword [rsp + 0x78]
mov qword [r10], rax
jmp 0x140363904
or qword [r10], 0xffffffffffffffff
jmp 0x140363904
mov eax, 0xab
cmp ebx, eax
ja 0x140367be6
je 0x140367b34
mov eax, 0xa6
cmp ebx, eax
ja 0x140367a46
je 0x140367a0f
sub ebx, 0xa1
je 0x140367811
sub ebx, 1
je 0x140367811
sub ebx, 1
je 0x1403678ae
sub ebx, 1
je 0x140367782
cmp ebx, 1
jne 0x140362975
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
cmp dword [r12 + 0xc], r10d
je 0x1403677c3
movsxd rax, dword [r12 + 0xc]
mov r8, qword [r12 + 0x10]
imul rdx, rax, 0x38
add rdx, rsi
call fcn.140369cd8
mov r13d, eax
mov dword [rsp + 0x30], eax
movsxd rax, dword [r12 + 0xc]
imul rbx, rax, 0x38
add rbx, rsi
jmp 0x1403677d4
mov rdx, qword [r12 + 0x10]
call fcn.140369f58
mov r13d, eax
mov dword [rsp + 0x30], eax
xor r10d, r10d
test r13d, r13d
jne 0x140368766
lea eax, [r10 + 2]
test byte [rbx + 0x14], al
jne 0x1403677f5
mov al, byte [rsp + 0x34]
mov byte [rbx + 0x16], al
jmp 0x140362013
mov cl, byte [rsp + 0x34]
cmp byte [rbx + 0x16], cl
je 0x140367a05
mov dl, cl
mov rcx, rbx
call fcn.14036a9f8
jmp 0x140362c9a
movzx ebx, word [r12 + 2]
mov rcx, r15
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.1403390a8
xor r10d, r10d
mov r8, rax
test rax, rax
je 0x140368798
mov qword [rax + 0x10], r10
add rdi, 6
lea rcx, [rax + rdi*8]
mov rdi, qword [rsp + 0x38]
mov qword [rax], rcx
lea eax, [r10 + 1]
mov word [rcx + 0x14], ax
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [rcx + 0x18], r15
mov dword [rcx + 0x20], r10d
mov rcx, qword [r12 + 0x10]
mov qword [r8 + 8], rcx
mov rcx, r12
sub rcx, rdi
mov qword [r8 + 0x18], r14
imul rcx
mov byte [r8 + 0x29], r10b
sar rdx, 2
mov rax, rdx
mov dword [r8 + 0x24], r10d
shr rax, 0x3f
add rdx, rax
mov byte [r8 + 0x2a], bl
mov al, byte [rsp + 0x34]
mov byte [r8 + 0x28], al
mov dword [r8 + 0x20], edx
mov word [r12], 0xf1a3
mov qword [r12 + 0x10], r8
movsxd rax, dword [r12 + 0xc]
xor r11d, r11d
mov rbx, qword [r12 + 0x10]
imul r8, rax, 0x38
add r8, rsi
cmp qword [rbx + 0x10], r8
je 0x140367915
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r8
sub rdx, 1
lea r10d, [rax - 1]
js 0x140367915
lea r9, [rdx + 6]
lea r9, [rbx + r9*8]
lea edi, [r11 + 8]
lea r15d, [r11 + 1]
mov eax, dword [r12 + 8]
add eax, r10d
sub r10d, r15d
cdqe
imul rcx, rax, 0x38
add rcx, rsi
mov qword [r9], rcx
sub r9, rdi
sub rdx, r15
jns 0x1403678ec
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x38]
mov eax, 1
mov rcx, rbx
add dword [r8 + 0x10], eax
lea r8, [rbx + 0x30]
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x2a]
cmp dword [r12 + 4], r11d
je 0x140367939
call qword [rax + 0x30]
jmp 0x14036793c
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x140367a05
jle 0x140367976
mov rcx, qword [rbx]
lea edx, [r10 + 1]
call fcn.140360fa4
mov r8, rax
lea rdx, [0x1404deff0]
mov rcx, r14
call fcn.140361c24
mov r13d, dword [rbx + 0x24]
xor r10d, r10d
mov dword [rsp + 0x30], r13d
cmp byte [rbx + 0x29], r10b
je 0x1403679be
cmp dword [r12 - 0x14], r10d
je 0x1403679ba
movsxd rax, dword [r12 - 0x14]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x1403679a9
mov edx, 1
call fcn.14037a540
xor r10d, r10d
jmp 0x1403679ba
mov eax, 1
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 0x14], ax
mov byte [rbx + 0x29], r10b
mov rax, qword [rbx]
mov r9d, 0x9000
test word [rax + 0x14], r9w
jne 0x1403679d4
cmp dword [rax + 0x20], r10d
je 0x1403679e8
mov rcx, rax
call fcn.14037945c
mov rax, qword [rbx]
xor r10d, r10d
mov r9d, 0x9000
mov r11d, 1
mov word [rax + 0x14], r11w
mov dword [rbx + 0x24], r10d
test r13d, r13d
jne 0x1403626af
jmp 0x14036296b
mov edx, 4
jmp 0x140362859
cmp dword [r12 + 4], r10d
jne 0x140367a28
mov edx, dword [r12 + 8]
mov rcx, r15
call fcn.14033b498
jmp 0x14036296b
mov eax, dword [r12 + 8]
add eax, r11d
xor eax, dword [r14 + 0xc8]
and eax, 3
xor dword [r14 + 0xc8], eax
jmp 0x140362975
sub ebx, 0xa7
je 0x140367b1a
sub ebx, 1
je 0x140367b00
sub ebx, 1
je 0x140367aa0
cmp ebx, 1
jne 0x140362975
mov rbx, qword [r12 + 0x10]
mov rcx, r15
mov rdx, rbx
call fcn.14036c7f0
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test rbx, rbx
je 0x140367135
mov rdx, qword [rbx + 0x10]
mov rcx, r14
call fcn.14036d168
xor r10d, r10d
jmp 0x140367135
mov r8b, byte [r12 + 0xc]
test r8b, r8b
jne 0x140367ab9
mov eax, dword [r15 + 0x30]
bt rax, 0xa
jb 0x140362975
movsxd rax, dword [r12 + 4]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r12 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140333f4c
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov r13d, eax
test eax, eax
je 0x140362013
cmp al, 6
jne 0x1403626af
mov r8, qword [r12 + 0x10]
lea rdx, str.database_table_is_locked:__s
jmp 0x140368211
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
jmp 0x140362970
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
jmp 0x140362970
xor edx, edx
lea rcx, [rbp + 0x1d8]
lea r8d, [rdx + 0x38]
call fcn.14038afb0
movsxd rax, dword [r12 + 8]
lea rcx, [rbp + 0x1d8]
imul rdx, rax, 0x38
mov qword [rbp + 0x1f0], r15
add rdx, rsi
call fcn.140369e78
mov edx, 1
mov dword [rsp + 0x30], eax
lea rcx, [rbp + 0x1d8]
mov r13d, eax
call fcn.140360fa4
xor r10d, r10d
test rax, rax
je 0x140367ba6
mov edx, dword [r12 + 4]
lea r9, [r14 + 0xa8]
mov r8, rax
mov rcx, r15
call fcn.14036cacc
mov r13d, eax
mov dword [rsp + 0x30], eax
xor r10d, r10d
mov r9d, 0x9000
test word [rbp + 0x1ec], r9w
jne 0x140367bbf
cmp dword [rbp + 0x1f8], r10d
je 0x140367bd4
lea rcx, [rbp + 0x1d8]
call fcn.14037945c
xor r10d, r10d
mov r9d, 0x9000
test r13d, r13d
jne 0x1403626af
lea edx, [r13 + 4]
jmp 0x140362cae
mov eax, 0xb1
cmp ebx, eax
ja 0x140367f36
je 0x140367f0d
sub ebx, 0xac
je 0x140367ee8
sub ebx, 1
je 0x140367e62
sub ebx, 1
je 0x140367df6
sub ebx, 1
je 0x140367cbf
cmp ebx, 1
jne 0x140362975
mov edi, dword [r15 + 0x30]
mov eax, 0x4000000
or qword [r15 + 0x30], rax
and edi, eax
mov rax, qword [r12 + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x60]
test byte [rbx + 0x14], r8b
jne 0x140367c5b
mov byte [rbx + 0x16], r11b
jmp 0x140367c7a
cmp byte [rbx + 0x16], r11b
je 0x140367c7a
mov dl, r11b
mov rcx, rbx
call fcn.14036a9f8
xor r10d, r10d
mov r13d, eax
test eax, eax
jne 0x1403626af
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x30], eax
mov r13d, eax
test edi, edi
jne 0x140367c9b
btr qword [r15 + 0x30], 0x1a
mov rdx, rsi
mov rcx, r14
call fcn.14036d168
and dword [r14 + 0xc8], 0xfffffffc
xor r10d, r10d
test r13d, r13d
jne 0x1403626af
jmp 0x140362009
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rbx, rax, 0x38
add rbx, rsi
cmp byte [rdi + 2], r10b
je 0x140367cf6
test word [rbx + 0x14], r9w
je 0x140365983
mov rcx, rbx
call fcn.140379498
jmp 0x140363904
mov rax, qword [rdi + 0x30]
lea rcx, [rbp + 0x210]
xor edx, edx
mov rsi, qword [rax]
lea r8d, [rdx + 0x38]
mov r14, qword [rsi]
call fcn.14038afb0
mov al, byte [rsp + 0x34]
mov ecx, 1
mov qword [rbp + 0x210], rbx
mov byte [rbp + 0x238], al
test byte [r12 + 2], cl
je 0x140367d4d
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140367d42
mov rcx, rbx
call fcn.140379498
xor eax, eax
mov dword [rbx], eax
mov eax, 0x401
jmp 0x140367d5c
movzx eax, word [rbx + 0x14]
mov edx, 0xf241
and ax, dx
or ax, cx
mov word [rbx + 0x14], ax
lea rdx, [rbp + 0x210]
mov r8d, dword [r12 + 8]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov r14, qword [rsp + 0x58]
mov rdx, rsi
mov rcx, r14
mov dword [rsp + 0x30], eax
mov r13d, eax
call fcn.14036d168
xor eax, eax
cmp dword [rbp + 0x234], eax
jle 0x140367dbe
lea edx, [rax + 1]
mov rcx, rbx
call fcn.140360fa4
mov r8, rax
lea rdx, [0x1404deff0]
mov rcx, r14
call fcn.140361c24
mov r13d, dword [rbp + 0x234]
mov dword [rsp + 0x30], r13d
mov edi, 2
test byte [rbx + 0x14], dil
jne 0x140367dd2
mov al, byte [rsp + 0x34]
mov byte [rbx + 0x16], al
jmp 0x140367de5
mov cl, byte [rsp + 0x34]
cmp byte [rbx + 0x16], cl
je 0x140367de5
mov dl, cl
mov rcx, rbx
call fcn.14036a9f8
xor r10d, r10d
test r13d, r13d
jne 0x1403684c6
jmp 0x140362009
movsxd rcx, dword [r12 + 4]
mov rax, qword [r14 + 0x78]
mov rdi, qword [rax + rcx*8]
mov ecx, 0x10
call fcn.1402d8140
mov rbx, rax
test rax, rax
je 0x140368798
mov rcx, qword [rdi + 0x30]
mov qword [rax], rcx
movsxd rcx, dword [r12 + 0xc]
imul rdx, rcx, 0x38
mov rcx, r14
add rdx, rsi
mov qword [rax + 8], rdx
mov rdx, r12
call fcn.14031f37c
mov ecx, 1
lea r9, [fcn.1402d81d8]
lea r8, str.ValueList
mov rdx, rbx
mov word [rax + 0x14], cx
mov rcx, rax
call fcn.14036a448
jmp 0x140363904
mov rax, qword [r12 + 0x10]
mov qword [rbp - 0x40], r10
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1403684d0
mov rdi, qword [rbx]
test rdi, rdi
je 0x1403684d0
lea rdx, [rbp - 0x40]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r14
mov r13d, eax
mov dword [rsp + 0x30], eax
call fcn.14036d168
xor r10d, r10d
test r13d, r13d
jne 0x1403626af
mov rax, qword [rbp - 0x40]
lea r9d, [r13 + 2]
xor r8d, r8d
mov rcx, r14
mov qword [rax], rbx
mov edx, dword [r12 + 4]
call fcn.1402e46b0
mov rcx, qword [rbp - 0x40]
xor r10d, r10d
test rax, rax
je 0x140368782
lea r11d, [r13 + 1]
mov qword [rax + 0x30], rcx
add dword [rbx + 8], r11d
jmp 0x140362667
add dword [r15 + 0xe8], r11d
mov rcx, r15
mov r8, qword [r12 + 0x10]
mov edx, dword [r12 + 4]
call fcn.14036cbdc
dec dword [r15 + 0xe8]
jmp 0x14036269d
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
mov rcx, qword [r15 + 0x20]
movsxd rdx, dword [r12 + 4]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x40]
jmp 0x140363f59
sub ebx, 0xb2
je 0x140368114
sub ebx, 1
je 0x1403680fc
sub ebx, 1
je 0x1403680be
cmp ebx, 1
jne 0x140362975
mov al, byte [r15 + 0x6e]
test al, 0x41
je 0x140368034
cmp byte [r14 + 0xc3], 0xfe
je 0x140368034
mov r9, qword [r12 + 0x10]
test r9, r9
jne 0x140367f91
mov r9, qword [r14 + 0xf8]
test r9, r9
je 0x14036802e
test al, 0x40
je 0x140367fbe
mov rdx, r9
mov rcx, r14
call fcn.1403689a0
mov rcx, qword [r15 + 0x100]
mov rdx, rax
mov rbx, rax
call qword [r15 + pe_nt_image_headers64]
mov rcx, rbx
call fcn.1402d81d8
jmp 0x14036801e
cmp dword [r15 + 0xe4], r11d
jle 0x14036800a
mov r8, r9
lea rdx, str.____s
mov rcx, r15
call fcn.140350d20
mov rdx, qword [r15 + 0x100]
mov r9, rax
mov r8, r14
mov ecx, 1
mov rbx, rax
call qword [r15 + pe_nt_image_headers64]
xor r10d, r10d
test rbx, rbx
je 0x140368021
mov rdx, rbx
mov rcx, r15
call fcn.140338ff0
jmp 0x14036801e
mov rdx, qword [r15 + 0x100]
mov r8, r14
mov ecx, r11d
call qword [r15 + pe_nt_image_headers64]
xor r10d, r10d
mov r11d, 1
lea ecx, [r11 + 0xf]
lea edx, [rcx - 0xc]
mov r9d, 0x9000
mov eax, dword [r12 + 4]
cmp eax, dword [0x1404f8048]
jl 0x140368082
cmp byte [r12], 0xb5
je 0x140362975
mov edx, r11d
cmp dword [r14 + 0x90], r11d
jle 0x14036807f
mov eax, 0x18
mov rcx, qword [r14 + 0x88]
cmp byte [rax + rcx], 0xe
jne 0x14036806f
mov dword [rax + rcx + 4], r10d
add edx, r11d
add rax, 0x18
cmp edx, dword [r14 + 0x90]
jl 0x14036805d
mov eax, r10d
inc eax
mov dword [r12 + 4], eax
add dword [r14 + 0xec], r11d
mov edx, 4
mov rax, qword [rsp + 0x48]
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov eax, dword [rax + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r12, [rdi + rcx*8]
mov rsi, qword [rsp + 0x60]
jmp 0x14036201e
movsxd rax, dword [r12 + 4]
mov rdx, r12
mov rcx, rsi
imul rbx, rax, 0x38
call fcn.1402f35e4
movsxd rcx, dword [rbx + rsi + 0x10]
xor edx, edx
div rcx
mov rcx, qword [rbx + rsi + 8]
mov r8, rdx
and edx, 7
shr r8, 3
movsx eax, byte [r8 + rcx]
bts eax, edx
mov byte [r8 + rcx], al
jmp 0x140362c9a
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + rsi + 0x14], ax
jmp 0x140362970
mov rdx, r12
mov rcx, r14
call fcn.14031f37c
movsxd rdx, dword [r12 + 4]
xor r10d, r10d
mov rcx, qword [r15 + 0x20]
mov rsi, rax
shl rdx, 5
mov edi, r10d
mov rbx, qword [rdx + rcx + 8]
mov edx, dword [r12 + 0xc]
test edx, edx
je 0x14036814f
mov rcx, qword [rbx + 8]
mov edi, dword [rcx + 0x40]
cmp edi, edx
cmovb edi, edx
cmp byte [rbx + 0x11], r10b
je 0x14036816e
mov eax, 1
add dword [rbx + 0x14], eax
cmp byte [rbx + 0x12], r10b
jne 0x14036816e
mov rcx, rbx
call fcn.1402e91f0
xor r10d, r10d
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x140368181
mov dword [rcx + 0xbc], edi
jmp 0x140368187
mov edi, dword [rcx + 0xbc]
cmp byte [rbx + 0x11], r10b
je 0x14036819e
sub dword [rbx + 0x14], 1
jne 0x14036819e
mov rcx, rbx
call fcn.140376df0
xor r10d, r10d
mov eax, edi
mov qword [rsi], rax
jmp 0x140362009
mov r13d, dword [rsp + 0x30]
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x38]
jmp 0x140366305
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x38]
jmp 0x140362975
mov r15, qword [rsp + 0x50]
jmp 0x140362970
xor r10d, r10d
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
jmp 0x140362975
mov r14, qword [rsp + 0x58]
lea rax, str.into
cmp ebx, r9d
lea r8, str.out_of
mov r13d, 1
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmove r8, rax
mov rcx, r14
call fcn.140361c24
mov rbx, qword [rsp + 0x48]
xor r10d, r10d
jmp 0x1403626b4
and eax, 0x100000
neg rax
sbb r13d, r13d
and r13d, 0xfffffffd
add r13d, 0xb
jmp 0x1403626af
mov rsi, qword [rsp + 0x38]
mov eax, 5
mov r14, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x48]
lea edi, [rax - 3]
cmp r13b, al
jne 0x1403626be
mov rcx, r12
mov dword [r14 + 0x34], r13d
sub rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x30], edx
jmp 0x1403688fe
mov r14, qword [rsp + 0x58]
mov rdx, qword [r14 + 0xa8]
test rdx, rdx
je 0x1403682a5
mov rcx, rsi
call fcn.140338ff0
lea rdx, str.database_schema_has_changed
mov rcx, rsi
call fcn.1403392a0
mov qword [r14 + 0xa8], rax
movsxd rdx, dword [r12 + 4]
mov rax, qword [rsi + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], edi
je 0x1403682dc
mov rcx, rsi
call fcn.140358c08
mov eax, dword [r14 + 0xc8]
mov r13d, 0x11
and eax, 0xffffffed
or eax, 1
mov dword [r14 + 0xc8], eax
jmp 0x140368219
movzx eax, byte [r15 + 0x65]
mov ebx, dword [r12 + 4]
mov ecx, dword [r12 + 8]
cmp ebx, eax
je 0x1403683e1
test ecx, ecx
je 0x14036832d
mov edx, 0x204
mov rcx, r15
call fcn.1403591d0
mov esi, 1
mov al, sil
jmp 0x140368373
test ebx, ebx
je 0x140368354
cmp dword [r15 + 0xe0], r10d
jle 0x140368354
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r14
call fcn.140361c24
mov r13d, 5
jmp 0x140368219
mov edx, r11d
mov rcx, r14
call fcn.140361564
xor r10d, r10d
mov r13d, eax
test eax, eax
jne 0x1403688ef
mov al, bl
lea esi, [r13 + 1]
mov rcx, r14
mov byte [r15 + 0x65], al
call fcn.140369018
mov r8d, 5
cmp eax, r8d
jne 0x1403683c6
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
mov r13d, r8d
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, esi
sub al, bl
mov dword [r14 + 0x30], edx
mov byte [r15 + 0x65], al
mov dword [r14 + 0x34], r8d
xor r10d, r10d
jmp 0x1403688ef
mov rcx, r15
call fcn.140335a5c
mov eax, dword [r14 + 0x34]
neg eax
sbb r13d, r13d
and r13d, 0xffffff9c
add r13d, 0x65
jmp 0x1403683be
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r14
cmovne rdx, rax
test ebx, ebx
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove rdx, rax
call fcn.140361c24
mov r13d, 1
jmp 0x140368219
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r14
call fcn.140361c24
mov r13d, 5
jmp 0x14036821e
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x140368341
mov rbx, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
mov rsi, qword [rsp + 0x38]
mov rcx, rbx
sub rcx, rsi
mov r13d, r8d
imul rcx
mov rcx, qword [rsp + 0x50]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor r10d, r10d
mov dword [r14 + 0x30], edx
mov byte [rcx + 0x65], r10b
mov dword [r14 + 0x34], r8d
lea edi, [r10 + 2]
jmp 0x140368903
mov r13d, 0x65
jmp 0x1403688ef
mov r8, rsi
lea rdx, str.no_such_savepoint:__s
mov rcx, r14
call fcn.140361c24
jmp 0x14036840a
movzx eax, byte [r12 + 2]
mov ecx, 5
cmp word [r12 + 2], cx
lea edi, [rcx - 3]
cmove eax, edi
mov byte [r14 + 0xc2], al
mov rbx, qword [rsp + 0x48]
jmp 0x1403626b9
mov r13d, 6
jmp 0x1403626af
mov r13d, 0x14
jmp 0x1403626af
mov ecx, 0x1722a
call fcn.140337774
mov r13d, eax
jmp 0x140368219
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r14
mov r13d, r11d
call fcn.140361c24
jmp 0x140368219
mov ecx, dword [r12 + 4]
mov dword [r14 + 0x34], ecx
mov al, byte [r12 + 8]
mov byte [r14 + 0xc2], al
test ecx, ecx
je 0x1403685d7
mov rcx, r14
cmp word [r12 + 2], r10w
je 0x140368581
movzx r8d, word [r12 + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0x4db150]
call fcn.140361c24
mov r9, qword [r12 + 0x10]
test r9, r9
je 0x140368592
mov r8, qword [r14 + 0xa8]
lea rdx, str._z:__s
mov rcx, r15
call fcn.140350d20
mov qword [r14 + 0xa8], rax
jmp 0x140368592
mov r8, qword [r12 + 0x10]
lea rdx, [0x1404deff0]
call fcn.140361c24
mov r9, qword [r14 + 0xf8]
mov rcx, r12
sub rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r14 + 0xa8]
mov ecx, dword [r12 + 4]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.abort_at__d_in___s_:__s
call fcn.1402e12cc
mov rcx, r14
call fcn.140369018
mov rbx, qword [rsp + 0x48]
mov r13d, eax
mov rcx, qword [rsp + 0x50]
mov eax, 5
mov rsi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x40]
lea edi, [rax - 3]
cmp r13d, eax
jne 0x140368609
mov dword [r14 + 0x34], eax
jmp 0x14036861a
mov eax, dword [r14 + 0x34]
neg eax
sbb r13d, r13d
and r13d, 0xffffff9c
add r13d, 0x65
xor r10d, r10d
jmp 0x140368908
mov eax, dword [r14 + 0x2c]
add eax, r8d
or eax, r11d
mov dword [r14 + 0x2c], eax
movsxd rax, dword [r12 + 4]
imul rcx, rax, 0x38
add rcx, rsi
mov qword [r14 + 0xa0], rcx
cmp byte [r15 + 0x67], r10b
jne 0x140368798
test byte [r15 + 0x6e], dl
je 0x140368672
mov rdx, qword [r15 + 0x100]
xor r9d, r9d
mov r8, r14
lea ecx, [r9 + 4]
call qword [r15 + pe_nt_image_headers64]
xor r10d, r10d
lea r11d, [r10 + 1]
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
mov r13d, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r11d
mov dword [r14 + 0x30], edx
jmp 0x1403688ef
mov ecx, 0x164a2
call fcn.140337774
mov rbx, qword [rsp + 0x48]
xor r10d, r10d
mov rsi, rdi
mov r13d, eax
lea edi, [r10 + 2]
jmp 0x1403626be
mov r13d, 0x204
jmp 0x1403626af
mov rcx, qword [rdi]
call fcn.140332488
jmp 0x140368219
mov r14, qword [rsp + 0x58]
mov r13d, 0xd
jmp 0x140368219
mov r14, qword [rsp + 0x58]
lea rdx, str.string_or_blob_too_big
mov rcx, r14
call fcn.140361c24
mov r13d, 0x12
jmp 0x140368219
mov rbx, qword [rsp + 0x48]
mov edi, 2
mov byte [r14 + 0xc2], dil
xor r10d, r10d
lea r13d, [rdi + 4]
jmp 0x1403626b9
mov r13d, 7
mov rcx, r15
call fcn.140358b7c
mov r12, qword [rsp + 0x40]
cmp r13d, 7
je 0x14036879d
xor r10d, r10d
jmp 0x140368752
or r12, 0xffffffffffffffff
mov r13d, 9
mov rbx, qword [rsp + 0x48]
mov edi, 2
mov rsi, qword [rsp + 0x38]
jmp 0x1403626c3
mov edx, 1
mov rcx, rbx
call fcn.140360fa4
mov r8, rax
lea rdx, [0x1404deff0]
jmp 0x140368211
call qword [rdi + 0x38]
jmp 0x140368798
mov r12, qword [rsp + 0x40]
jmp 0x14036874c
mov r14, qword [rsp + 0x58]
mov r15, qword [rsp + 0x50]
mov r12, qword [rsp + 0x40]
mov rcx, r15
call fcn.1403514f0
lea rdx, str.out_of_memory
mov rcx, r14
call fcn.140361c24
mov r13d, 7
jmp 0x140368743
mov r14, qword [rsp + 0x58]
jmp 0x140368798
mov r13d, dword [rsp + 0x30]
jmp 0x140366988
mov r13d, dword [rsp + 0x30]
jmp 0x1403626af
mov rbx, qword [rsp + 0x48]
mov r14, qword [rsp + 0x58]
jmp 0x1403626b9
cmp r13d, 0x210a
jne 0x1403687ff
mov ecx, 0x17abe
call fcn.140337774
mov r13d, eax
xor r10d, r10d
cmp qword [r14 + 0xa8], r10
jne 0x14036882b
cmp r13d, 0xc0a
je 0x14036882b
mov ecx, r13d
call fcn.14033b1dc
mov r8, rax
lea rdx, [0x1404deff0]
mov rcx, r14
call fcn.140361c24
mov edx, r13d
mov dword [r14 + 0x34], r13d
mov rcx, r15
call fcn.14035d88c
mov r9, qword [r14 + 0xf8]
mov rcx, rbx
sub rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r14 + 0xa8]
mov ecx, r13d
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.1402e12cc
cmp byte [r14 + 0xc5], dil
jne 0x14036888e
mov rcx, r14
call fcn.140369018
cmp r13d, 0xc0a
jne 0x1403688c8
mov rcx, r15
call fcn.1403514f0
xor r10d, r10d
mov rcx, r15
movzx eax, byte [rbp - 0x80]
mov r11d, 1
mov r13d, r11d
test al, al
je 0x140368908
mov edx, eax
sub edx, r11d
call fcn.140358c08
mov rcx, r15
jmp 0x14036861a
cmp r13d, 0xb
jne 0x14036889f
xor r10d, r10d
mov rcx, r15
cmp byte [r15 + 0x65], r10b
jne 0x1403688a5
movabs rax, 0x200000000
or qword [r15 + 0x30], rax
jmp 0x1403688a5
mov r13d, dword [rsp + 0x30]
mov rsi, qword [rsp + 0x38]
mov edi, 2
mov rbx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov r12, qword [rsp + 0x40]
mov rax, qword [rbp - 0x50]
cmp rax, r12
jb 0x140368948
mov rdx, qword [rcx + 0x208]
test rdx, rdx
je 0x140368948
mov eax, dword [rcx + 0x218]
mov rcx, qword [rcx + 0x210]
add r12, rax
call rdx
mov rcx, qword [rsp + 0x50]
xor r10d, r10d
test eax, eax
je 0x140368908
or r12, 0xffffffffffffffff
lea r13d, [r10 + 9]
jmp 0x1403626c3
add dword [r14 + 0xe4], eax
cmp dword [r14 + 0xd0], r10d
je 0x140368960
mov rcx, r14
call fcn.140379380
mov eax, r13d
mov rcx, qword [rbp + 0x288]
xor rcx, rsp
call fcn.140389d80
lea r11, [rsp + 0x3b0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
movaps xmm6, xmmword [r11 - 0x10]
movaps xmm7, xmmword [r11 - 0x20]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret