Function at 0x140382d5c
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 - 0x338]
sub rsp, 0x410
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
mov rax, qword [0x14051efc0]
xor rax, rsp
mov qword [rbp + 0x2e0], rax
xor edx, edx
mov qword [rsp + 0x50], rcx
mov rax, rcx
mov dword [rsp + 0x34], edx
mov rcx, qword [rcx + 0x88]
mov r14d, edx
mov qword [rsp + 0x40], rcx
mov r12, rcx
mov rcx, rax
mov byte [rbp - 0x80], dl
mov r15, qword [rax]
mov ebx, edx
mov rsi, qword [rax + 0x68]
mov qword [rsp + 0x60], r15
mov dword [rsp + 0x70], edx
mov dil, byte [r15 + 0x64]
mov byte [rsp + 0x30], dil
mov qword [rbp - 0x10], rdx
mov qword [rsp + 0x58], rsi
call fcn.140382c88
xor r10d, r10d
cmp qword [r15 + 0x208], r10
je 0x140382e13
mov ecx, dword [r15 + 0x218]
xor edx, edx
mov rax, qword [rsp + 0x50]
mov eax, dword [rax + 0xe4]
div ecx
sub ecx, edx
mov r13d, ecx
jmp 0x140382e17
or r13, 0xffffffffffffffff
mov rax, qword [rsp + 0x50]
mov r11d, 1
mov qword [rsp + 0x48], r13
cmp dword [rax + 0x34], 7
lea r8d, [r11 + 1]
je 0x1403898ed
mov dword [rax + 0x34], r10d
mov qword [rax + 0x48], r10
mov qword [rax + 0xa0], r10
mov eax, dword [r15 + 0x198]
mov dword [r15 + 0x290], r10d
test eax, eax
jne 0x14038989f
mov r12, qword [rsp + 0x50]
xorps xmm7, xmm7
mov r9, qword [rsp + 0x40]
mov qword [rbp - 0x48], 0x20
mov qword [rbp - 0x70], 8
movsxd rax, dword [r12 + 0x30]
mov qword [rbp - 0x68], 0x400
mov qword [rbp - 0x58], 0x10
mov dword [rbp - 0x60], 0x4000
lea rcx, [rax + rax*2]
lea eax, [r11 + 4]
lea r13, [r9 + rcx*8]
mov ecx, 0x9000
lea edx, [rax - 1]
add rbx, r11
mov qword [rsp + 0x38], r13
mov qword [rbp - 0x10], rbx
movzx ebx, byte [r13]
cmp ebx, 0x5a
ja 0x1403857bd
je 0x1403856a6
cmp ebx, 0x2c
ja 0x1403846a8
je 0x14038451c
cmp ebx, 0x16
ja 0x140383e28
je 0x140383c6f
cmp ebx, 0xb
ja 0x140383a78
je 0x140383a35
cmp ebx, eax
ja 0x1403837fb
je 0x1403837ba
test ebx, ebx
je 0x1403833ef
sub ebx, 1
je 0x140389390
sub ebx, 1
je 0x14038324b
sub ebx, 1
je 0x140383167
cmp ebx, 1
jne 0x140385462
mov rdx, r13
mov rcx, r12
call fcn.14033df80
movsxd rcx, dword [r13 + 4]
mov r14, rax
mov rax, qword [r15 + 0x20]
shl rcx, 5
cmp dword [r13 + 0xc], 0xffffffff
mov r15, qword [rcx + rax + 8]
mov rax, qword [r15 + 8]
mov rdi, qword [rax]
lea eax, [rbx + 2]
movzx esi, byte [rdi + 9]
mov ecx, esi
cmovne ecx, dword [r13 + 0xc]
xor edx, edx
cmp byte [rdi + 0x15], al
jb 0x140382f72
mov eax, edx
jmp 0x140382f86
mov rax, qword [rdi + 0x50]
cmp qword [rax], rdx
je 0x140382f81
cmp qword [rdi + 0x60], rdx
jg 0x140382f6e
mov eax, 1
test eax, eax
mov ebx, esi
cmovne ebx, ecx
lea rcx, [0x1404fd9cc]
cmp byte [rdi + 0x13], dl
jne 0x140382fa0
mov rcx, qword [rdi + 0xd8]
mov r8d, 5
cmp ebx, r8d
jne 0x14038301a
test rcx, rcx
je 0x140382fe5
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test eax, 0x3fffffff
je 0x140382fe5
mov rax, qword [rdi + 0x48]
xor edx, edx
mov rcx, qword [rax]
cmp byte [rdi + 0x11], dl
jne 0x140382fe5
cmp byte [rdi + 8], dl
jne 0x140382fdc
lea eax, [rdx + 2]
cmp dword [rcx], eax
jl 0x140382fe5
cmp qword [rcx + 0x68], rdx
je 0x140382fe5
mov ecx, 5
mov ebx, ecx
jmp 0x14038301f
mov ebx, esi
mov r12d, dword [rsp + 0x34]
xor r15d, r15d
mov rcx, rdi
test r12d, r12d
cmove esi, ebx
mov edx, esi
call fcn.140373e84
mov ecx, 0x2202
mov word [r14 + 0x14], cx
cmp eax, 6
jne 0x1403830be
mov ecx, r15d
jmp 0x1403830cf
mov ecx, 5
cmp ebx, esi
je 0x140382fe7
cmp esi, ecx
je 0x14038302b
cmp ebx, ecx
jne 0x140382fe7
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x65], dl
je 0x1403892f5
mov r11d, 1
cmp dword [rax + 0xdc], r11d
jg 0x1403892f5
cmp esi, ecx
jne 0x140383074
mov rdx, rax
mov rcx, rdi
call fcn.140373080
mov dword [rsp + 0x34], eax
mov r12d, eax
test eax, eax
jne 0x140382fec
mov edx, ebx
mov rcx, rdi
call fcn.140373e84
xor edx, edx
jmp 0x140383098
mov eax, 4
cmp esi, eax
jne 0x14038308a
lea edx, [rax - 2]
mov rcx, rdi
call fcn.140373e84
xor edx, edx
mov r12d, dword [rsp + 0x34]
test r12d, r12d
jne 0x140382fec
mov r8d, 5
mov rcx, r15
cmp ebx, r8d
sete dl
lea eax, [r8 - 4]
add edx, eax
call fcn.1403535f4
mov r12d, eax
mov dword [rsp + 0x34], eax
jmp 0x140382fec
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x4f8ed8]
mov qword [r14 + 8], rcx
test rcx, rcx
jne 0x1403830dd
mov eax, r15d
jmp 0x1403830e7
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
and eax, 0x3fffffff
mov ecx, 1
mov dword [r14 + 0x10], eax
mov al, byte [rsp + 0x30]
mov byte [r14 + 0x16], cl
lea edi, [rcx + 1]
test byte [r14 + 0x14], dil
jne 0x140383107
mov byte [r14 + 0x16], al
jmp 0x140383115
cmp al, cl
je 0x140383115
mov dl, al
mov rcx, r14
call fcn.14038baa0
mov r14d, dword [rsp + 0x34]
xor r10d, r10d
test r14d, r14d
jne 0x1403895ae
mov r15, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov dil, byte [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov r11d, 1
mov eax, 5
mov ecx, 0x9000
mov edx, 4
mov r12, qword [rsp + 0x50]
add r13, 0x18
mov rbx, qword [rbp - 0x10]
mov r8d, 2
jmp 0x140382ea7
mov r8d, dword [r13 + 8]
lea rax, [rbp + 0x2d8]
mov edx, dword [r13 + 4]
lea r9, [rbp + 0x2d4]
or dword [rbp + 0x2d8], 0xffffffff
mov rcx, r15
or dword [rbp + 0x2d4], 0xffffffff
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x2d0], r10d
call fcn.140353f5c
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
je 0x1403831cf
lea r8d, [r10 + 5]
cmp eax, r8d
jne 0x14038933e
lea r11d, [r10 + 1]
mov dword [rsp + 0x34], r10d
mov dword [rbp + 0x2d0], r11d
mov r14d, r10d
jmp 0x1403831d5
mov r11d, 1
movsxd rax, dword [r13 + 0xc]
mov rdi, r10
imul rbx, rax, 0x38
mov r12d, 0x9000
add rbx, rsi
mov esi, 3
lea r15d, [rsi + 1]
movsxd rax, dword [rbp + rdi*4 + 0x2d0]
test word [rbx + 0x14], r12w
je 0x140383214
mov rdx, rax
mov rcx, rbx
call fcn.14039b5a4
mov r11d, 1
jmp 0x14038321c
mov qword [rbx], rax
mov word [rbx + 0x14], r15w
add rdi, r11
add rbx, 0x38
cmp rdi, rsi
jl 0x1403831f2
mov r15, qword [rsp + 0x60]
xor r10d, r10d
mov rsi, qword [rsp + 0x58]
mov ecx, r12d
mov dil, byte [rsp + 0x30]
mov r9, qword [rsp + 0x40]
lea eax, [r10 + 5]
jmp 0x14038314a
mov edx, dword [r13 + 8]
mov ebx, r10d
mov dword [rsp + 0x6c], ebx
test edx, edx
je 0x140383271
mov rax, qword [r15 + 0x30]
movabs rcx, 0x200100000
test rcx, rax
jne 0x14038932b
movsxd rsi, dword [r13 + 4]
shl rsi, 5
add rsi, qword [r15 + 0x20]
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x14038334e
lea r8, [rsp + 0x6c]
mov rcx, rdi
call fcn.140350880
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x140389348
mov rax, qword [rbp - 0x48]
test byte [r12 + 0xc8], al
je 0x1403833e6
cmp dword [r13 + 8], r10d
je 0x1403833e6
lea eax, [r14 + 1]
cmp byte [r15 + 0x65], r10b
je 0x1403832dc
cmp dword [r15 + 0xdc], eax
jle 0x1403833e6
mov r8d, dword [r12 + 0x40]
test r8d, r8d
jne 0x140383300
add dword [r15 + 0x2ec], eax
mov r8d, dword [r15 + 0x2ec]
add r8d, dword [r15 + 0x2e8]
mov dword [r12 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r15
call fcn.14038e48c
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x140383332
mov edx, dword [r12 + 0x40]
mov rcx, rdi
call fcn.140350810
mov r14d, eax
mov dword [rsp + 0x34], eax
xor r10d, r10d
mov rax, qword [r15 + 0x2f0]
mov ebx, dword [rsp + 0x6c]
mov qword [r12 + 0x58], rax
mov rax, qword [r15 + 0x2f8]
mov qword [r12 + 0x60], rax
test r14d, r14d
jne 0x14038933e
cmp word [r13 + 2], r10w
je 0x14038312b
cmp ebx, dword [r13 + 0xc]
jne 0x140383379
mov rcx, qword [rsi + 0x18]
mov eax, dword [r13 + 0x10]
cmp dword [rcx + 4], eax
je 0x14038312b
mov rdx, qword [r12 + 0xa8]
test rdx, rdx
je 0x14038338e
mov rcx, r15
call fcn.140357710
lea rdx, str.database_schema_has_changed
mov rcx, r15
call fcn.1403579c0
mov qword [r12 + 0xa8], rax
movsxd rdx, dword [r13 + 4]
mov rax, qword [r15 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], ebx
je 0x1403833c5
mov rcx, r15
call fcn.140379f44
mov eax, dword [r12 + 0xc8]
mov r14d, 0x11
and eax, 0xffffffed
or eax, 1
mov dword [r12 + 0xc8], eax
jmp 0x14038931e
mov ebx, dword [rsp + 0x6c]
jmp 0x140383357
mov edi, dword [r13 + 4]
mov rsi, qword [r13 + 0x10]
mov dword [rsp + 0x68], edi
test edi, edi
jne 0x1403834d3
cmp dword [r15 + 0xe0], r10d
jg 0x140389509
test rsi, rsi
jne 0x14038341a
mov edi, r10d
jmp 0x14038342b
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.14038e48c
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
mov edx, edi
mov rcx, r15
add rdx, 0x21
call fcn.1403577c8
xor r10d, r10d
mov rbx, rax
test rax, rax
je 0x140383781
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rdi + 1]
call fcn.1403abad0
xor r10d, r10d
lea eax, [r14 + 1]
cmp byte [r15 + 0x65], r10b
je 0x14038349f
mov byte [r15 + 0x65], r10b
mov byte [r15 + 0x6d], al
jmp 0x1403834a6
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 0x140383781
mov r15, qword [r15 + 0x2d8]
mov ebx, r10d
test r15, r15
je 0x140389578
mov rcx, qword [r15]
mov rdx, rsi
call fcn.14037ead8
xor r10d, r10d
test eax, eax
je 0x140383501
mov r15, qword [r15 + 0x18]
add ebx, r11d
jmp 0x1403834dd
mov r8, qword [rsp + 0x60]
cmp dword [r8 + 0xe0], r10d
jle 0x140383518
cmp edi, r11d
je 0x140389515
lea rsi, [r15 + 0x18]
mov qword [rsp + 0x78], rsi
cmp qword [rsi], r10
jne 0x1403835a4
cmp byte [r8 + 0x6d], r10b
je 0x1403835a4
mov r13d, r11d
cmp edi, r11d
jne 0x1403835a7
mov edx, r11d
mov rcx, r12
call fcn.140382670
mov rcx, qword [rsp + 0x60]
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x140389a57
lea eax, [r14 + 1]
mov byte [rcx + 0x65], al
mov rcx, r12
call fcn.14038a110
lea r8d, [r14 + 5]
cmp eax, r8d
je 0x140389521
mov r14d, dword [r12 + 0x34]
xor r10d, r10d
mov r8, qword [rsp + 0x60]
mov dword [rsp + 0x34], r14d
test r14d, r14d
je 0x14038358b
mov byte [r8 + 0x65], r10b
jmp 0x14038358f
mov byte [r8 + 0x6d], r10b
mov r11d, 1
lea r12, [r8 + 0x2e8]
mov r13d, r11d
jmp 0x1403836bb
mov r13d, r10d
lea r12, [r8 + 0x2e8]
mov eax, dword [r12]
sub eax, ebx
sub eax, r11d
mov dword [rsp + 0x6c], eax
cmp edi, 2
jne 0x14038361a
mov r14d, dword [r8 + 0x2c]
mov esi, r10d
and r14d, r11d
cmp dword [r8 + 0x28], r10d
jle 0x14038361d
mov edi, r14d
mov rbx, r10
xor edi, r11d
mov rcx, qword [r8 + 0x20]
mov edx, 0x204
mov r8d, edi
mov rcx, qword [rcx + rbx + 8]
call fcn.140353c00
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14038990e
mov r8, qword [rsp + 0x60]
lea r11d, [rax + 1]
add rbx, qword [rbp - 0x48]
add esi, r11d
cmp esi, dword [r8 + 0x28]
jl 0x1403835d9
mov eax, dword [rsp + 0x6c]
jmp 0x14038361d
mov r14d, r10d
mov edi, r10d
cmp dword [r8 + 0x28], r10d
jle 0x140383669
mov esi, dword [rsp + 0x68]
mov rbx, r10
mov rcx, qword [r8 + 0x20]
mov edx, esi
mov r8d, eax
mov rcx, qword [rcx + rbx + 8]
call fcn.140353078
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14038990e
mov r8, qword [rsp + 0x60]
lea r11d, [rax + 1]
add rbx, qword [rbp - 0x48]
add edi, r11d
mov eax, dword [rsp + 0x6c]
cmp edi, dword [r8 + 0x28]
jl 0x14038362d
test r14d, r14d
je 0x1403836a9
mov rcx, qword [r8 + 8]
jmp 0x14038368a
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffd
or eax, r11d
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x140383674
mov rcx, r8
call fcn.140379eb8
mov r8, qword [rsp + 0x60]
mov r11d, 1
or dword [r8 + 0x2c], r11d
xor r10d, r10d
mov r14d, dword [rsp + 0x34]
mov rsi, qword [rsp + 0x78]
mov edi, dword [rsp + 0x68]
mov ebx, dword [rsp + 0x6c]
test r14d, r14d
jne 0x14038933e
mov rcx, qword [r8 + 0x2d8]
cmp rcx, r15
je 0x140383702
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r8
mov qword [r8 + 0x2d8], rax
call fcn.140357710
dec dword [r12]
mov r8, qword [rsp + 0x60]
mov rcx, qword [r8 + 0x2d8]
cmp rcx, r15
jne 0x1403836d0
xor r10d, r10d
lea r11d, [r10 + 1]
cmp edi, r11d
jne 0x14038372f
mov rax, qword [rsi]
mov rdx, r15
mov r15, qword [rsp + 0x60]
mov rcx, r15
mov qword [r8 + 0x2d8], rax
call fcn.140357710
xor r10d, r10d
test r13d, r13d
jne 0x140383777
dec dword [r12]
jmp 0x140383758
mov rax, qword [r15 + 8]
mov qword [r8 + 0x2f0], rax
mov rax, qword [r15 + 0x10]
mov r15, qword [rsp + 0x60]
mov qword [r15 + 0x2f8], rax
test r13d, r13d
je 0x140383758
mov eax, 2
cmp edi, eax
jne 0x1403837ae
mov r8d, ebx
mov edx, edi
mov rcx, r15
call fcn.14038e48c
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x38]
mov r11d, 1
mov eax, 3
cmp byte [r12 + 0xc5], al
je 0x14038956d
mov rsi, qword [rsp + 0x58]
mov dil, byte [rsp + 0x30]
mov r9, qword [rsp + 0x40]
jmp 0x140383140
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x50]
jmp 0x140383787
cmp dword [r13 + 8], r10d
je 0x1403837cd
movsxd rax, dword [r13 + 8]
imul r9, rax, 0x38
add r9, rsi
jmp 0x1403837d0
mov r9, r10
mov r8d, dword [r13 + 4]
lea rcx, [r12 + 0xa8]
mov rdx, r15
call fcn.14037ac0c
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
mov r14d, eax
jne 0x14038933e
jmp 0x140383135
sub ebx, 6
je 0x140383978
sub ebx, 1
je 0x140383883
sub ebx, 1
je 0x140384ea7
sub ebx, 1
je 0x140383849
cmp ebx, 1
jne 0x140385462
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, dword [r13 + 0xc]
sub eax, r11d
cdqe
mov qword [rcx + rsi], rax
mov word [rcx + rsi + 0x14], dx
cmp dword [r13 + 8], r10d
je 0x1403850e6
jmp 0x140383dfc
movsxd rax, dword [r13 + 4]
mov rcx, r13
imul r8, rax, 0x38
sub rcx, r9
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 0x140384ea7
mov qword [rbp + 0x10], r10
cmp byte [r15 + 0x67], r10b
jne 0x1403898d0
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1403895b8
mov r10, qword [rbx]
xor r11d, r11d
test r10, r10
je 0x1403895b8
movsxd rdx, dword [r13 + 8]
cmp qword [r10 + 0x68], r11
je 0x1403892ed
movsxd rax, dword [r13 + 0xc]
mov dil, byte [r15 + 0x6c]
mov r8, qword [r12 + 0x70]
imul rcx, rax, 0x38
mov eax, r11d
add rcx, rsi
test edx, edx
jle 0x1403838ee
lea r11d, [rax + 1]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r11
cmp rax, rdx
jl 0x1403838de
mov al, byte [r13 + 2]
lea r9, [rbp + 0x10]
mov rcx, rbx
mov byte [r15 + 0x6c], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r15 + 0x6c], dil
mov rcx, r12
mov dword [rsp + 0x34], eax
mov r14d, eax
call fcn.14038e204
xor r10d, r10d
test r14d, r14d
jne 0x140383946
cmp dword [r13 + 4], r10d
je 0x14038392d
mov rax, qword [rbp + 0x10]
mov qword [r15 + 0x38], rax
mov r11d, 1
add qword [r12 + 0x38], r11
test r14d, r14d
jne 0x14038933e
jmp 0x14038379f
cmp r14b, 0x13
jne 0x14038392d
mov rax, qword [r13 + 0x10]
cmp byte [rax + 0x1c], r10b
je 0x14038392d
mov edx, 4
cmp word [r13 + 2], dx
jne 0x14038958f
mov r14d, r10d
mov dword [rsp + 0x34], r10d
mov dil, byte [rsp + 0x30]
jmp 0x140386dde
movsxd rax, dword [r13 + 0xc]
mov r8, r10
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
mov r13, qword [rax + rcx*8]
lea r11, [rdx + 0x38]
mov edx, dword [rdx + rsi]
add r11, rsi
mov rsi, qword [r12 + 0x70]
mov rbx, qword [r13 + 0x30]
movsxd r9, dword [r11]
mov r15, qword [rbx]
mov r14, qword [r15]
test r9d, r9d
jle 0x1403839d3
mov r12d, 1
mov r10d, r12d
movsxd rax, r10d
add r10d, r12d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rsi + r8*8], rcx
add r8, r12
cmp r8, r9
jl 0x1403839ba
mov r12, qword [rsp + 0x38]
mov rcx, rbx
mov qword [rsp + 0x20], rsi
mov r8, qword [r12 + 0x10]
call qword [r14 + 0x40]
mov rcx, qword [rsp + 0x50]
mov rdx, r15
mov edi, eax
mov dword [rsp + 0x34], eax
call fcn.14038e204
xor r10d, r10d
test edi, edi
jne 0x140389913
mov rcx, rbx
call qword [r14 + 0x50]
xor r10d, r10d
lea edx, [rdi + 4]
mov byte [r13 + 2], r10b
mov r13, r12
mov r14d, edi
test eax, eax
jne 0x140383beb
mov r15, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
jmp 0x14038396e
movsxd rax, dword [r13 + 4]
sub r13, r9
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + rsi]
mov word [r8 + rsi + 0x14], dx
imul r13
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r13, [r9 + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + rsi], rax
jmp 0x140383140
cmp ebx, 0x11
ja 0x140383c4d
je 0x140383c1c
sub ebx, 0xc
je 0x140383bb1
sub ebx, 1
je 0x140383b8b
sub ebx, 1
je 0x140383b01
sub ebx, 1
je 0x140383ad9
cmp ebx, 1
jne 0x140385462
cmp dword [r13 + 0xc], r10d
mov edx, r10d
movsxd rax, dword [r13 + 4]
sete dl
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140382554
xor r10d, r10d
lea edx, [rbx + 3]
test eax, eax
je 0x140383beb
jmp 0x140386dde
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140382554
xor r10d, r10d
lea edx, [r10 + 4]
test eax, eax
jne 0x140383beb
jmp 0x140386dde
mov r8, qword [r12 + 0x108]
test r8, r8
je 0x140383b62
mov r9, qword [r8 + 0x30]
mov rcx, r13
sub rcx, qword [r12 + 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 0x140383df2
bts eax, edx
mov edx, 4
mov byte [rcx + r9], al
mov r9, qword [rsp + 0x40]
jmp 0x140383b77
mov rcx, qword [r12 + 0x88]
mov eax, dword [r13 + 4]
cmp dword [rcx + 4], eax
je 0x140383dfc
mov rax, qword [r12 + 0x88]
mov ecx, dword [rax + 4]
mov dword [r13 + 4], ecx
jmp 0x1403850e6
mov r8d, dword [rsp + 0x70]
test r8d, r8d
jns 0x140383b9b
mov eax, dword [r13 + 4]
jmp 0x140383ba7
jne 0x140383ba3
mov eax, dword [r13 + 8]
jmp 0x140383ba7
mov eax, dword [r13 + 0xc]
sub eax, r11d
cdqe
jmp 0x1403850de
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, rsi
movzx eax, word [rbx + 0x14]
test dl, al
jne 0x140383c06
mov r8b, dil
mov dl, 0x43
mov rcx, rbx
call fcn.1402fd130
movzx eax, word [rbx + 0x14]
mov edx, 4
xor r10d, r10d
test dl, al
jne 0x140383bf6
cmp dword [r13 + 8], r10d
je 0x1403895c3
mov r11d, 1
jmp 0x140383df7
mov r9, qword [rsp + 0x40]
mov ecx, 0x9000
mov r11d, 1
mov r8d, 0xf244
and ax, r8w
or ax, dx
mov word [rbx + 0x14], ax
jmp 0x140385462
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
movzx eax, word [rcx + rsi + 0x14]
test r11b, al
jne 0x140383dfc
and eax, 0x3f
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x4f6fc0]
cmp eax, dword [r13 + 0xc]
jmp 0x140384c4e
mov ecx, ebx
sub ecx, 0x12
je 0x140383db5
sub ecx, 1
je 0x140383d1d
sub ecx, 1
je 0x140383c6f
cmp ecx, 1
jne 0x1403850e6
mov rax, qword [r12 + 0x78]
mov r12d, r10d
movsxd rcx, dword [r13 + 4]
mov rsi, qword [rax + rcx*8]
and word [rsi + 2], 0
mov dword [rsi + 0x20], r10d
cmp byte [rsi + 4], r10b
je 0x140383f58
movsxd rax, dword [r13 + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x58]
movzx r14d, word [rdi + 0x14]
mov al, r14b
and al, 0x2e
cmp al, r8b
jne 0x140383cb8
xor edx, edx
mov rcx, rdi
call fcn.1402fd198
mov rcx, rdi
call fcn.14038a6c0
movzx ecx, word [rdi + 0x14]
mov r15, rax
mov word [rdi + 0x14], r14w
test cl, 0x24
jne 0x140383f27
mov rax, qword [rbp - 0x70]
test al, cl
jne 0x140383efd
mov r11d, 1
test r11b, cl
jne 0x140387cc8
cmp ebx, 0x16
jae 0x140387cc8
mov rcx, qword [rsi + 0x30]
lea rdx, [rbp - 0x7c]
call fcn.140352674
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
jmp 0x140384097
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rcx, rsi
add rbx, rsi
test byte [rcx + 0x14], r11b
jne 0x140383d90
xor edx, edx
call fcn.140382554
xor r10d, r10d
mov r12d, 0x9000
test eax, eax
mov ecx, r10d
sete cl
test word [rbx + 0x14], r12w
je 0x140383d7c
mov rdx, rcx
mov rcx, rbx
call fcn.14039b5a4
xor r10d, r10d
mov ecx, r12d
mov r9, qword [rsp + 0x40]
mov eax, 5
lea r11d, [rax - 4]
jmp 0x14038314a
mov edx, 4
mov qword [rbx], rcx
mov word [rbx + 0x14], dx
mov ecx, r12d
jmp 0x140386de3
mov ecx, 0x9000
test word [rbx + 0x14], cx
je 0x140383dab
mov rcx, rbx
call fcn.14039a504
xor r10d, r10d
jmp 0x140383135
mov word [rbx + 0x14], r11w
jmp 0x140385462
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], r10b
je 0x1403850e6
movsxd rax, dword [r13 + 0xc]
mov r12d, 0x9000
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 0x14], r12w
je 0x140383e21
call fcn.14039a504
xor r10d, r10d
mov r11d, 1
mov edx, 4
mov r9, qword [rsp + 0x40]
mov eax, dword [r13 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
mov r15, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov dil, byte [rsp + 0x30]
jmp 0x1403850e6
mov word [rcx + 0x14], r11w
jmp 0x140383dfc
cmp ebx, 0x21
ja 0x14038436b
je 0x14038443a
cmp ebx, 0x1c
ja 0x1403841e0
je 0x140383e69
mov ecx, ebx
sub ecx, 0x17
je 0x140383c6f
sub ecx, 1
je 0x140383ee5
sub ecx, 1
je 0x140383ec9
sub ecx, 1
je 0x140383e69
cmp ecx, 1
jne 0x1403850e6
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, rsi
mov word [rbp + 0x8c], ax
mov qword [rbp + 0x78], rcx
test ax, ax
je 0x1403840c3
mov rax, qword [rbx + 0x38]
lea rsi, [rbx + 0x24]
mov qword [rbp + 0x70], rax
lea rdx, [rbp + 0x70]
mov byte [rbp + 0x8e], r10b
mov r8, rsi
mov rcx, qword [rbx + 0x30]
call fcn.140351a1c
mov r14d, eax
mov dword [rsp + 0x34], eax
jmp 0x14038413a
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [r13 + 0x10]
jl 0x140383e69
jmp 0x1403850e6
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
cmp qword [rax + rcx*8], r10
je 0x140384ea7
jmp 0x1403850e6
movsd xmm1, qword [rdi]
mov rcx, r15
call fcn.140370b9c
test eax, eax
jle 0x140383f1a
mov eax, 1
test al, bl
je 0x140383f27
sub ebx, eax
jmp 0x140383f27
jns 0x140383f27
mov eax, 1
test al, bl
jne 0x140383f27
add ebx, eax
lea rdi, [rsi + 0x30]
xor r8d, r8d
mov rcx, qword [rdi]
lea r9, [rbp - 0x7c]
mov rdx, r15
call fcn.1403536a4
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov qword [rsi + 0x50], r15
mov r14d, eax
test eax, eax
jne 0x14038933e
jmp 0x140383fea
lea rdi, [rsi + 0x30]
mov rax, qword [rdi]
lea rdx, [rbp + 0x98]
mov r14b, byte [rax + 3]
mov rax, qword [rsi + 0x38]
and r14b, r8b
mov qword [rbp + 0x98], rax
lea r8, [rbp - 0x7c]
movzx eax, word [r13 + 0x10]
setne r12b
mov word [rbp + 0xb4], ax
mov eax, ebx
and al, r11b
mov byte [rbp + 0xba], r10b
neg al
movsxd rax, dword [r13 + 0xc]
sbb cl, cl
and cl, 0xfe
add cl, r11b
mov byte [rbp + 0xb6], cl
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x58]
mov qword [rbp + 0xa0], rcx
mov rcx, qword [rdi]
call fcn.140351a1c
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14038990e
test r14b, r14b
je 0x140383fe5
cmp byte [rbp + 0xba], r10b
je 0x140384092
mov r14d, dword [rsp + 0x34]
mov eax, dword [rbp - 0x7c]
cmp ebx, 0x16
jl 0x140384040
test eax, eax
js 0x140384006
jne 0x140383ffd
cmp ebx, 0x17
je 0x140384006
mov dword [rbp - 0x7c], r10d
jmp 0x1403840a1
mov rcx, qword [rdi]
xor edx, edx
mov dword [rbp - 0x7c], r10d
call fcn.1403527a8
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
je 0x1403840a1
cmp eax, 0x65
jne 0x14038933e
lea r11d, [rax - 0x64]
mov dword [rsp + 0x34], r10d
mov dword [rbp - 0x7c], r11d
mov r14d, r10d
jmp 0x140383df2
test eax, eax
jg 0x14038405c
jne 0x14038404b
cmp ebx, 0x14
je 0x14038405c
mov rax, qword [rdi]
mov ecx, r10d
cmp byte [rax], r10b
setne cl
mov dword [rbp - 0x7c], ecx
jmp 0x140384097
mov rcx, qword [rdi]
xor edx, edx
mov dword [rbp - 0x7c], r10d
call fcn.140352e64
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
je 0x1403840a1
cmp eax, 0x65
jne 0x14038933e
lea eax, [r10 + 1]
mov dword [rsp + 0x34], r10d
mov dword [rbp - 0x7c], eax
mov r14d, r10d
jmp 0x140384097
mov r14d, dword [rsp + 0x34]
cmp dword [rbp - 0x7c], r10d
jne 0x1403842e1
mov r15, qword [rsp + 0x60]
mov r11d, 1
mov rsi, qword [rsp + 0x58]
test r12d, r12d
je 0x14038379f
add r13, 0x18
jmp 0x14038379f
mov rax, qword [rbp - 0x68]
test word [rcx + 0x14], ax
je 0x1403840de
call fcn.14038afcc
xor esi, esi
test eax, eax
jne 0x1403898d0
jmp 0x1403840e0
xor esi, esi
mov rcx, qword [rbx + 0x38]
call fcn.1403824c4
mov rdi, rax
test rax, rax
je 0x1403898d0
mov rcx, qword [rbp + 0x78]
mov r9, rax
mov r8, qword [rcx + 8]
mov edx, dword [rcx + 0x10]
mov rcx, qword [rbx + 0x38]
call fcn.14038c738
mov byte [rdi + 0x1e], sil
mov rdx, rdi
mov rcx, qword [rbx + 0x30]
lea rsi, [rbx + 0x24]
mov r8, rsi
call fcn.140351a1c
mov rdx, rdi
mov dword [rsp + 0x34], eax
mov rcx, r15
mov r14d, eax
call fcn.140357710
mov dil, byte [rsp + 0x30]
xor r10d, r10d
test r14d, r14d
jne 0x14038933e
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 [r13], 0x1c
jne 0x140384175
lea edx, [r10 + 4]
test ecx, ecx
je 0x140383beb
mov rsi, qword [rsp + 0x58]
jmp 0x140386dde
test ecx, ecx
jne 0x1403842e1
cmp byte [r13], 0x1a
lea r11d, [rcx + 1]
jne 0x1403841c2
movzx edx, word [rbp + 0x8c]
mov rcx, r10
test rdx, rdx
je 0x14038379a
mov rax, qword [rbp + 0x78]
add rax, 0x14
test byte [rax], r11b
jne 0x140383df2
add rcx, r11
add rax, 0x38
cmp rcx, rdx
jl 0x1403841a3
mov rsi, qword [rsp + 0x58]
jmp 0x1403837a4
cmp byte [r13], 0x19
mov rsi, qword [rsp + 0x58]
jne 0x14038379f
movzx eax, word [r13 + 0x10]
mov word [rbx + 0xc], ax
jmp 0x1403837a4
mov ecx, ebx
sub ecx, 0x1d
je 0x140384275
sub ecx, 1
je 0x1403842eb
sub ecx, 1
je 0x140387c5d
cmp ecx, 1
jne 0x1403850e6
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 0x30]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.14035176c
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
cmp dword [rbp - 0x30], r10d
jne 0x140383dec
mov rcx, rbx
call fcn.14035302c
xor r10d, r10d
test rax, rax
js 0x14038647b
mov rcx, rax
call fcn.140371cbc
movsx ecx, ax
lea r11d, [r14 + 1]
cmp ecx, dword [r13 + 0xc]
jge 0x14038379f
mov dword [rbp - 0x30], r11d
jmp 0x140383df2
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
test byte [rcx + 0x14], 0x24
jne 0x1403842eb
movups xmm0, xmmword [rcx]
mov r8b, dil
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x1c0], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0x1d0], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0x1c0]
movups xmmword [rbp + 0x1e0], xmm0
movsd qword [rbp + 0x1f0], xmm1
call fcn.1402fd130
mov edx, 4
xor r10d, r10d
test byte [rbp + 0x1d4], dl
je 0x140383beb
mov rdi, qword [rbp + 0x1c0]
jmp 0x1403842f7
mov edx, 4
jmp 0x140383beb
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + rsi]
movsxd rcx, dword [r13 + 4]
lea r9, [rsp + 0x68]
mov rax, qword [r12 + 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.1403536a4
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, 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 0x14038435d
cmp dword [r13 + 8], r10d
jne 0x140383dec
mov ecx, 0x16d38
call fcn.140355e94
mov r14d, eax
mov dword [rsp + 0x34], eax
xor r10d, r10d
test r14d, r14d
jne 0x14038933e
jmp 0x140383130
cmp ebx, 0x27
ja 0x140384502
je 0x140384575
sub ebx, 0x22
je 0x14038443a
sub ebx, 1
je 0x140384442
sub ebx, 1
je 0x1403843d7
sub ebx, 1
je 0x1403843bb
cmp ebx, 1
jne 0x140385462
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.1403527a8
jmp 0x1403843ef
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call fcn.140352e64
jmp 0x1403843ef
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r15
mov rdx, rbx
call fcn.14038ce90
mov r14d, eax
mov dword [rsp + 0x34], eax
xor r10d, r10d
mov dword [rbx + 0x20], r10d
test eax, eax
jne 0x14038441b
mov byte [rbx + 2], r10b
lea r11d, [r14 + 1]
movzx eax, word [r13 + 2]
add dword [r12 + rax*4 + 0xd4], r11d
jmp 0x140384ea7
cmp r14d, 0x65
jne 0x14038933e
mov eax, 1
mov dword [rsp + 0x34], r10d
mov byte [rbx + 2], al
mov r14d, r10d
jmp 0x140388615
add dword [r12 + 0xdc], r11d
movsxd rcx, dword [r13 + 4]
mov edi, r11d
mov rax, qword [r12 + 0x78]
mov dword [rsp + 0x68], r11d
mov rsi, qword [rax + rcx*8]
mov rbx, qword [rsi + 0x30]
cmp byte [rsi], r11b
jne 0x1403844b8
mov r14d, r10d
mov dword [rsp + 0x34], r10d
cmp byte [rbx + 0x58], r10b
jne 0x140384488
lea rdx, [rbx + 0x38]
cmp qword [rdx], r10
je 0x1403844db
lea rcx, [rbx + 0x60]
mov edi, r10d
call fcn.14039c490
xor r10d, r10d
jmp 0x1403844d4
mov rcx, rbx
call fcn.14039bad8
mov edx, eax
mov rcx, rbx
call fcn.14039bc30
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x1403844db
mov rcx, rbx
call fcn.14039c218
xor r10d, r10d
mov edi, r10d
jmp 0x1403844d4
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.14035176c
mov edi, dword [rsp + 0x68]
xor r10d, r10d
mov byte [rsi + 3], r10b
mov dword [rsi + 0x20], r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test r14d, r14d
jne 0x14038933e
mov r9, qword [rsp + 0x40]
lea edx, [r14 + 4]
mov byte [rsi + 2], dil
lea r11d, [r14 + 1]
test edi, edi
je 0x140383e12
jmp 0x140383dfc
mov ecx, ebx
sub ecx, 0x28
je 0x140384575
sub ecx, 1
je 0x140384575
sub ecx, 1
je 0x140384575
cmp ecx, 1
jne 0x1403850e6
movsxd rax, dword [r13 + 4]
mov edx, r8d
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140382554
movsxd rcx, dword [r13 + 8]
mov r12d, 2
imul rcx, rcx, 0x38
mov edx, r12d
mov ebx, eax
add rcx, rsi
call fcn.140382554
lea eax, [rax + rbx*2]
add eax, ebx
movsxd rcx, eax
lea eax, [r12 + 0x2a]
cmp byte [r13], al
lea rax, [0x140000000]
jne 0x140384654
mov r8b, byte [rcx + rax + 0x4f78a8]
jmp 0x14038465c
movsxd rcx, dword [r13 + 4]
cmp bl, 0x29
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov rbx, qword [rdx + 0x30]
mov qword [rbp + 0x48], rax
movzx eax, word [r13 + 0x10]
mov word [rbp + 0x64], ax
sbb al, al
mov byte [rbp + 0x66], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
mov qword [rbp + 0x50], rcx
mov rcx, rbx
call fcn.140334210
mov edx, dword [rbx + 0x40]
lea eax, [rdx - 1]
cmp eax, 0x7ffffffe
ja 0x1403895ce
xor eax, eax
mov qword [rbp + 0x140], r15
lea r8, [rbp + 0x128]
mov word [rbp + 0x13c], ax
mov rcx, rbx
mov dword [rbp + 0x148], eax
call fcn.14038b1b8
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
mov rdx, qword [rbp + 0x130]
lea r8, [rbp + 0x48]
mov ecx, dword [rbp + 0x138]
xor r9d, r9d
call fcn.14038c298
xor r10d, r10d
mov ebx, eax
cmp dword [rbp + 0x148], r10d
je 0x140384634
lea rcx, [rbp + 0x128]
call fcn.14039a4c8
xor r10d, r10d
mov r11d, 1
test byte [r13], r11b
je 0x140384644
neg ebx
jmp 0x140384647
add ebx, r11d
test ebx, ebx
jg 0x140383df2
jmp 0x1403837a4
mov r8b, byte [rcx + rax + 0x4f78b8]
movsxd rax, dword [r13 + 0xc]
mov r11d, 1
imul rdx, rax, 0x38
movzx ecx, word [rdx + rsi + 0x14]
cmp r8b, r12b
jne 0x140384682
mov eax, 0xf241
and cx, ax
or cx, r11w
jmp 0x140384696
movzx eax, r8b
mov qword [rdx + rsi], rax
mov eax, 0xf244
and cx, ax
or cx, 4
mov word [rdx + rsi + 0x14], cx
mov r9, qword [rsp + 0x40]
xor r10d, r10d
jmp 0x140383140
cmp ebx, 0x43
ja 0x1403850f5
je 0x1403850c8
cmp ebx, 0x38
ja 0x140384b8b
je 0x140384b2a
cmp ebx, 0x32
ja 0x140384b0b
je 0x140384af3
sub ebx, 0x2d
je 0x140384a2c
sub ebx, 1
je 0x1403849b4
sub ebx, 1
je 0x140384750
sub ebx, 1
je 0x140384724
cmp ebx, 1
jne 0x140385462
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + rsi]
test rdx, rdx
jle 0x140383140
movsxd rax, dword [r13 + 0xc]
sub rdx, rax
mov qword [rcx + rsi], rdx
mov edx, 4
jmp 0x140383dfc
cmp dword [r13 + 4], r10d
je 0x140384733
cmp qword [r15 + 0x2f0], r10
jmp 0x140384738
cmp qword [r12 + 0x50], r10
jne 0x140385462
cmp qword [r15 + 0x2f8], r10
je 0x140383dfc
jmp 0x140385462
movsxd rax, dword [r13 + 0xc]
mov r15, qword [r13 + 0x10]
imul rbx, rax, 0x38
add rbx, rsi
cmp word [r13 + 2], r10w
je 0x140384787
mov rcx, qword [r15 + 0x20]
mov rax, qword [r12 + 0x108]
jmp 0x140384782
cmp qword [rax + 0x38], rcx
je 0x1403892e3
mov rax, qword [rax + 8]
test rax, rax
jne 0x140384774
mov r8, qword [rsp + 0x60]
mov eax, dword [r8 + 0xb0]
cmp dword [r12 + 0x118], eax
jge 0x1403895e0
mov rax, qword [rbp - 0x58]
test byte [rbx + 0x14], al
jne 0x1403848d8
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 0x1403847d5
add eax, 7
add ecx, edx
sar eax, 3
lea esi, [rax + rcx*8]
mov rcx, r8
movsxd rdx, esi
call fcn.1403578a4
xor r10d, r10d
mov rdi, rax
test rax, rax
je 0x1403898de
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x140384808
cmp dword [rbx + 0x20], r10d
je 0x140384813
mov rcx, rbx
call fcn.14039a4c8
xor r10d, r10d
sub r13, qword [rsp + 0x40]
mov eax, 0x1010
mov r8, qword [rsp + 0x60]
mov word [rbx + 0x14], ax
lea rax, [0x140389f30]
mov qword [rbx + 0x30], rax
mov qword [rbx + 8], rdi
mov dword [rbx + 0x10], esi
mov qword [rdi], r12
mov dword [rdi + 0x60], r14d
mov eax, dword [r15 + 0x10]
mov dword [rdi + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul r13
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rdi + 0x54], edx
mov rax, qword [r12 + 0x68]
mov qword [rdi + 0x20], rax
mov eax, dword [r12 + 0x24]
mov dword [rdi + 0x5c], eax
mov rax, qword [r12 + 0x78]
mov qword [rdi + 0x28], rax
mov eax, dword [r12 + 0x28]
mov dword [rdi + 0x50], eax
mov rax, qword [r12 + 0x88]
mov qword [rdi + 0x10], rax
mov eax, dword [r12 + 0x90]
mov dword [rdi + 0x58], eax
mov rax, qword [r15 + 0x20]
mov qword [rdi + 0x38], rax
movsxd rax, r14d
imul rdx, rax, 0x38
lea rax, [rdi + 0x78]
add rdx, 0x78
add rdx, rdi
cmp rax, rdx
je 0x1403848cb
mov word [rax + 0x14], r10w
mov qword [rax + 0x18], r8
add rax, 0x38
jmp 0x1403848b7
mov r14d, dword [rsp + 0x34]
mov r11d, 1
jmp 0x1403848dc
mov rdi, qword [rbx + 8]
add dword [r12 + 0x118], r11d
lea rsi, [rdi + 0x78]
mov rax, qword [r12 + 0x108]
mov qword [rdi + 8], rax
mov rax, qword [r8 + 0x38]
mov qword [rdi + 0x40], rax
mov rax, qword [r12 + 0x38]
mov qword [rdi + 0x68], rax
mov rax, qword [r12]
mov qword [rsp + 0x58], rsi
mov rcx, qword [rax + 0x78]
mov qword [rdi + 0x70], rcx
mov rax, qword [r12 + 0x128]
mov qword [rdi + 0x48], rax
mov qword [r12 + 0x128], r10
mov qword [r12 + 0x38], r10
mov qword [r12 + 0x108], rdi
mov qword [r12 + 0x68], rsi
movsxd rcx, dword [rdi + 0x60]
mov dword [r12 + 0x24], ecx
movzx eax, word [rdi + 0x64]
mov dword [r12 + 0x28], eax
imul rcx, rcx, 0x38
add rcx, rsi
mov qword [r12 + 0x78], rcx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rcx + 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.1403ac180
mov rbx, qword [r15]
mov qword [r12 + 0x88], rbx
mov eax, dword [r15 + 8]
mov r15, qword [rsp + 0x60]
lea r13, [rbx - 0x18]
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x38], r13
mov dword [r12 + 0x90], eax
mov dil, byte [rsp + 0x30]
jmp 0x140388612
movsxd rax, dword [r13 + 4]
mov edi, dword [r13 + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add rbx, rsi
imul rsi, rax, 0x38
mov rax, qword [rbp - 0x58]
add rsi, qword [rsp + 0x58]
test byte [rbx + 0x14], al
jne 0x1403849ec
mov rcx, rbx
call fcn.14038b51c
xor r10d, r10d
test eax, eax
jne 0x1403898d0
test edi, edi
je 0x140384a0b
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.14037a72c
xor r10d, r10d
test eax, eax
jne 0x140383dec
test edi, edi
js 0x14038312b
mov rdx, qword [rsi]
mov rcx, qword [rbx + 8]
call fcn.14037a6d8
mov rsi, qword [rsp + 0x58]
mov dil, byte [rsp + 0x30]
jmp 0x140383da3
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
mov rax, qword [rbp - 0x58]
add rdi, rsi
test byte [rdi + 0x14], al
je 0x140384ad3
mov rbx, qword [rdi + 8]
test byte [rbx + 0x32], r8b
jne 0x140384a76
test byte [rbx + 0x32], r11b
jne 0x140384a6d
mov rcx, qword [rbx + 0x10]
call fcn.1403473bc
xor r10d, r10d
mov qword [rbx + 0x10], rax
mov ecx, 0x9000
lea r11d, [r10 + 1]
mov eax, 3
or word [rbx + 0x32], ax
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140384ad3
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x140384a9a
mov rcx, rbx
call fcn.14037a658
xor r10d, r10d
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x140384abd
mov rdx, rdi
call fcn.14039b5a4
jmp 0x1403849aa
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 0x14], ax
mov dil, byte [rsp + 0x30]
jmp 0x140388615
test word [rdi + 0x14], cx
je 0x140384ae9
mov rcx, rdi
call fcn.14039a504
xor r10d, r10d
jmp 0x140384e9c
mov word [rdi + 0x14], r11w
jmp 0x140384ea2
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
jne 0x140383dfc
jmp 0x1403850e6
mov ecx, ebx
sub ecx, 0x33
je 0x140384b79
sub ecx, 1
je 0x140384b2a
sub ecx, 1
je 0x140384b2a
sub ecx, 1
je 0x140384b2a
cmp ecx, 1
jne 0x1403850e6
movsxd rax, dword [r13 + 4]
imul r15, rax, 0x38
movsxd rax, dword [r13 + 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 0x140384c91
mov rax, qword [r15]
cmp qword [r14], rax
mov r14d, dword [rsp + 0x34]
jle 0x140384c59
mov rax, qword [0x14051a0e8]
cmp byte [rbx + rax], r10b
jmp 0x140384d2c
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
jmp 0x140384c4e
cmp ebx, 0x3e
ja 0x140384ec7
je 0x140384e43
mov ecx, ebx
sub ecx, 0x39
je 0x140384b2a
sub ecx, 1
je 0x140384c49
sub ecx, 1
je 0x140384c22
sub ecx, 1
je 0x140384bfb
cmp ecx, 1
jne 0x1403850e6
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.1403518f8
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
je 0x14038647b
cmp eax, 0x65
jne 0x14038933e
mov r14d, r10d
mov dword [rsp + 0x34], r10d
jmp 0x140383dec
movsxd rax, dword [r13 + 4]
movabs r8, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + rsi]
cmp rax, r8
jle 0x140384c1d
dec rax
mov qword [rcx + rsi], rax
test rax, rax
jmp 0x140384c4e
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + rsi]
test rax, rax
je 0x1403850e6
jle 0x140383dfc
dec rax
mov qword [rcx + rsi], rax
jmp 0x140383dfc
cmp dword [rsp + 0x70], r10d
je 0x140383dfc
jmp 0x1403850e6
jge 0x140384c76
mov rax, qword [0x14051a0d8]
cmp byte [rbx + rax], r10b
jne 0x140383dfc
or dword [rsp + 0x70], 0xffffffff
jmp 0x140383e0d
mov rax, qword [0x14051a0e0]
cmp byte [rbx + rax], r10b
jne 0x140383dfc
mov dword [rsp + 0x70], r10d
jmp 0x140383e0d
movzx ecx, di
or cx, si
test r11b, cl
je 0x140384d3c
test byte [r13 + 2], 0x80
je 0x140384d1f
test r11b, al
je 0x140384d04
mov eax, pe_nt_image_headers64
test ax, di
jne 0x140384d04
mov r8d, r10d
mov dword [rsp + 0x70], r10d
movzx ecx, byte [r13]
mov rax, qword [0x14051a0e0]
test r8d, r8d
je 0x140384cd6
mov rax, qword [0x14051a0e8]
mov dl, byte [rcx + rax]
mov word [r14 + 0x14], di
mov r14d, dword [rsp + 0x34]
mov word [r15 + 0x14], si
test dl, dl
jne 0x14038471a
mov r15, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov dil, byte [rsp + 0x30]
jmp 0x140383140
movzx eax, di
not ax
and eax, r11d
lea r8d, [rax*2 - 1]
mov dword [rsp + 0x70], r8d
jmp 0x140384e29
mov rax, qword [rbp - 0x58]
test byte [r13 + 2], al
mov r14d, dword [rsp + 0x34]
jne 0x140383dfc
mov dword [rsp + 0x70], r11d
jmp 0x140383e0d
mov al, byte [r13 + 2]
and al, 0x47
cmp al, 0x43
jb 0x140384d88
test r8b, cl
je 0x140384e07
mov al, sil
and al, 0x2e
cmp al, r8b
jne 0x140384d6e
xor edx, edx
mov rcx, r15
call fcn.1402fd198
movzx edi, word [r14 + 0x14]
mov r8d, 2
mov al, dil
and al, 0x2e
cmp al, r8b
jne 0x140384e07
xor edx, edx
mov rcx, r14
call fcn.1402fd198
jmp 0x140384e07
cmp al, 0x42
jne 0x140384e07
mov bl, byte [rsp + 0x30]
mov eax, 0x2c
test r8b, sil
jne 0x140384ddc
test al, sil
je 0x140384ddc
mov r8b, r11b
mov dl, bl
mov rcx, r15
call fcn.14038b978
xor si, word [r15 + 0x14]
mov r8d, 2
mov r12d, 0xdbf
and si, r12w
xor si, word [r15 + 0x14]
lea eax, [r8 + 0x2a]
lea r11d, [r8 - 1]
cmp r15, r14
jne 0x140384de2
movzx edi, si
or di, r8w
jmp 0x140384de2
mov r12d, 0xdbf
test r8b, dil
jne 0x140384e07
test al, dil
je 0x140384e07
mov r8b, r11b
mov dl, bl
mov rcx, r14
call fcn.14038b978
xor di, word [r14 + 0x14]
and di, r12w
xor di, word [r14 + 0x14]
mov r8, qword [r13 + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.1403723a0
mov r9, qword [rsp + 0x40]
xor r10d, r10d
mov r8d, eax
mov dword [rsp + 0x70], eax
lea r11d, [r10 + 1]
test r8d, r8d
jns 0x140384cbe
movzx ecx, byte [r13]
mov rax, qword [0x14051a0d8]
jmp 0x140384cd6
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], r10b
jne 0x140383e17
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + 0x48]
mov rdx, rbx
mov rcx, r12
mov r14d, eax
mov dword [rsp + 0x34], eax
call fcn.14038e204
xor r10d, r10d
test r14d, r14d
jne 0x14038933e
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
mov rsi, qword [rsp + 0x58]
xor r10d, r10d
test eax, eax
jne 0x140384ac9
mov r11d, 1
mov dil, byte [rsp + 0x30]
mov eax, dword [r13 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x40]
lea r13, [rax + rcx*8]
mov qword [rsp + 0x38], r13
jmp 0x140388615
sub ebx, 0x3f
je 0x140385061
sub ebx, 1
je 0x1403890a9
sub ebx, 1
je 0x140384ee7
cmp ebx, 1
jne 0x140385462
mov rdi, qword [r13 + 0x10]
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
mov qword [rsp + 0x78], rdi
add rbx, rsi
cmp qword [rdi], rbx
je 0x140384f4d
mov al, byte [rsp + 0x30]
mov byte [rdi + 0x28], al
movzx eax, byte [rdi + 0x2a]
mov edx, eax
mov qword [rdi + 0x18], r12
sub rdx, 1
mov qword [rdi], rbx
lea r9d, [rax - 1]
js 0x140384f4d
mov r15, qword [rbp - 0x70]
lea r8, [rdx + 6]
lea r8, [rdi + r8*8]
mov eax, dword [r13 + 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 0x140384f2a
mov r15, qword [rsp + 0x60]
movzx eax, word [rbx + 0x14]
lea r8, [rdi + 0x30]
mov ecx, 0xf241
and ax, cx
mov rcx, rdi
or ax, r11w
mov word [rbx + 0x14], ax
mov rax, qword [rdi + 8]
movzx edx, byte [rdi + 0x2a]
call qword [rax + 0x18]
mov eax, dword [rdi + 0x24]
xor r10d, r10d
test eax, eax
je 0x14038647b
jle 0x140384fda
movzx eax, word [rbx + 0x14]
mov ecx, 0x202
and ax, cx
cmp ax, cx
lea eax, [r10 + 1]
jne 0x140384fa3
cmp byte [rbx + 0x16], al
jne 0x140384fa3
mov rax, qword [rbx + 8]
jmp 0x140384fb7
test byte [rbx + 0x14], al
je 0x140384fad
mov rax, r10
jmp 0x140384fb7
mov dl, al
mov rcx, rbx
call fcn.140399710
mov r8, rax
lea rdx, [0x140500a50]
mov rcx, r12
call fcn.140382d0c
mov r12d, dword [rdi + 0x24]
xor r10d, r10d
mov dword [rsp + 0x34], r12d
mov r12, qword [rsp + 0x50]
mov r15d, dword [r13 + 4]
lea rsi, [r12 + 0x128]
mov rbx, qword [rsi]
mov r14d, dword [rdi + 0x20]
test rbx, rbx
je 0x14038504a
mov rdi, qword [rsp + 0x60]
test r14d, r14d
js 0x140385019
cmp dword [rbx], r14d
jne 0x140385013
mov eax, dword [rbx + 4]
test eax, eax
js 0x140385013
cmp eax, 0x1f
jg 0x140385019
bt r15d, eax
jae 0x140385019
lea rsi, [rbx + 0x18]
jmp 0x14038503d
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140385028
mov rcx, qword [rbx + 8]
call rax
mov rax, qword [rbx + 0x18]
mov rdx, rbx
mov rcx, rdi
mov qword [rsi], rax
call fcn.140357710
xor r10d, r10d
mov rbx, qword [rsi]
test rbx, rbx
jne 0x140384ff7
mov rdi, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x34]
mov dword [rdi + 0x24], r10d
test r14d, r14d
jne 0x14038933e
jmp 0x140383126
movsxd rax, dword [r13 + 4]
mov rdx, r13
mov rcx, rsi
imul rbx, rax, 0x38
call fcn.14030aa64
movsxd rcx, dword [rbx + rsi + 0x10]
xor edx, edx
mov r9, qword [rsp + 0x40]
mov r11d, 1
div rcx
mov rax, qword [rbx + rsi + 8]
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 0x1403850bb
add dword [r12 + 0xf4], r11d
xor r10d, r10d
jmp 0x140383dfc
add dword [r12 + 0xf0], r11d
jmp 0x140385201
movsxd rax, dword [r13 + 4]
imul rax, rax, 0x38
test byte [rax + rsi + 0x14], dl
je 0x140385462
mov rax, qword [rax + rsi]
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
mov eax, 5
mov ecx, 0x9000
jmp 0x14038314f
cmp ebx, 0x4e
ja 0x1403853e8
je 0x140385360
cmp ebx, 0x49
ja 0x140385236
je 0x140387006
sub ebx, 0x44
je 0x140385209
sub ebx, 1
je 0x140385165
sub ebx, 1
je 0x140385178
sub ebx, 1
je 0x14038514e
cmp ebx, 1
jne 0x140385462
mov rdx, r13
mov rcx, r12
call fcn.14033df80
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x140383da3
mov rdx, r13
mov rcx, r12
call fcn.14033df80
movsxd rcx, dword [r13 + 4]
mov qword [rax], rcx
jmp 0x140383da3
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
je 0x1403850e6
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x1403895f7
cmp dword [r13 + 4], r10d
jne 0x1403895f7
mov rax, qword [rcx + 8]
dec dword [r12 + 0x118]
mov qword [r12 + 0x108], rax
mov rax, qword [r12 + 0x38]
add qword [r15 + 0x80], rax
mov qword [r15 + 0x78], rax
call fcn.140389f48
mov edx, 4
lea r11d, [rdx - 3]
cmp dword [r13 + 8], edx
jne 0x1403851e0
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
sub eax, r11d
mov r9, qword [r12 + 0x88]
mov rsi, qword [r12 + 0x68]
cdqe
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x58], rsi
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
xor r10d, r10d
jmp 0x1403850e6
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + rsi]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
sub eax, r11d
mov word [rdx + rsi + 0x14], r10w
cdqe
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
jmp 0x140383140
sub ebx, 0x4a
je 0x1403852d0
sub ebx, 1
je 0x1403852d0
sub ebx, 1
je 0x1403852ad
cmp ebx, 1
jne 0x140385462
mov rdx, r13
mov rcx, r12
call fcn.14033df80
mov rdx, qword [r13 + 0x10]
mov rbx, rax
xor eax, eax
mov rcx, rbx
test rdx, rdx
jne 0x140385290
mov edx, dword [r13 + 4]
call fcn.14038b8c8
mov rcx, rbx
call fcn.14038afcc
xor r10d, r10d
test eax, eax
jne 0x1403898d0
jmp 0x1403852a4
movsxd r8, dword [r13 + 4]
xor r9d, r9d
mov qword [rsp + 0x20], rax
call fcn.14038b5e4
xor r10d, r10d
mov byte [rbx + 0x16], dil
jmp 0x140383135
movsxd rax, dword [r13 + 4]
mov edx, 0xffc1
imul rcx, rax, 0x38
movzx eax, word [rcx + rsi + 0x14]
and ax, dx
or ax, r11w
mov word [rcx + rsi + 0x14], ax
jmp 0x140383140
mov rdx, r13
mov rcx, r12
call fcn.14033df80
mov ecx, dword [r13 + 4]
mov r11d, 1
mov edi, dword [r13 + 0xc]
neg ecx
mov edx, dword [r13 + 8]
mov ecx, pe_nt_image_headers64
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 0x14038379a
mov ecx, 0x9000
lea rbx, [rbx + 0x38]
test word [rbx], cx
je 0x140385339
lea rcx, [rbx - 0x14]
call fcn.14039a504
xor r10d, r10d
mov ecx, 0x9000
lea r11d, [r10 + 1]
sub edi, r11d
mov word [rbx], si
mov dword [rbx - 4], r10d
test edi, edi
jg 0x14038531b
mov rsi, qword [rsp + 0x58]
mov dil, byte [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov eax, 5
jmp 0x14038314a
movsxd rax, dword [r13 + 4]
mov rdi, qword [r12 + 0x80]
imul rcx, rax, 0x38
add rdi, 0xffffffffffffffc8
add rdi, rcx
test byte [rdi + 0x14], 0x12
je 0x14038539c
mov rax, qword [rbp - 0x68]
mov ecx, dword [rdi + 0x10]
test word [rdi + 0x14], ax
je 0x14038538c
add ecx, dword [rdi]
mov rax, qword [rdi + 0x18]
cmp ecx, dword [rax + 0x88]
jg 0x14038982a
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, rsi
test word [rbx + 0x14], ax
je 0x1403853ba
mov rcx, rbx
call fcn.14039a504
mov r8d, 0x18
mov rdx, rdi
mov rcx, rbx
call fcn.1403abad0
movzx eax, word [rbx + 0x14]
mov ecx, 0xafff
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
jmp 0x140384a22
cmp ebx, 0x54
ja 0x1403855ac
je 0x14038970d
sub ebx, 0x4f
je 0x14038551e
sub ebx, 1
je 0x140385490
sub ebx, 1
je 0x14038546c
sub ebx, 1
je 0x140385427
cmp ebx, 1
jne 0x140385462
xor edx, edx
mov rcx, r12
call fcn.140382670
jmp 0x1403837e4
movsxd rax, dword [r13 + 8]
imul r8, rax, 0x38
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add r8, rsi
mov rax, qword [rcx + rsi]
mov ecx, 0x9000
test word [r8 + 0x14], cx
je 0x14038545a
mov rdx, rax
mov rcx, r8
call fcn.14039b5a4
jmp 0x140383da3
mov qword [r8], rax
mov word [r8 + 0x14], dx
mov eax, 5
jmp 0x14038314f
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rdx, rsi
add rcx, rsi
mov r8d, dword [rbp - 0x60]
call fcn.14038b918
jmp 0x140383da3
movsxd rax, dword [r13 + 4]
mov esi, dword [r13 + 0xc]
mov r12d, dword [rbp - 0x60]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
add rdi, qword [rsp + 0x58]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
mov r8d, r12d
mov rdx, rdi
mov rcx, rbx
call fcn.14038b918
test word [rbx + 0x14], r12w
je 0x1403854dc
mov rcx, rbx
call fcn.14038b37c
xor r10d, r10d
test eax, eax
jne 0x1403898d0
jmp 0x1403854df
xor r10d, r10d
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x140385501
mov ecx, 2
test byte [r13 + 2], cl
je 0x140385501
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
mov r11d, 1
sub esi, r11d
test eax, eax
je 0x14038379a
add rbx, 0x38
add rdi, 0x38
jmp 0x1403854b2
movsxd rax, dword [r13 + 4]
mov esi, dword [r13 + 0xc]
mov r12d, dword [rbp - 0x60]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
add rdi, qword [rsp + 0x58]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x140385551
cmp dword [rbx + 0x20], r10d
je 0x140385559
mov rcx, rbx
call fcn.14039a4c8
mov r8d, 0x38
mov rdx, rdi
mov rcx, rbx
call fcn.1403abad0
xor r10d, r10d
mov r11d, 1
mov word [rdi + 0x14], r11w
mov dword [rdi + 0x20], r10d
test word [rbx + 0x14], r12w
je 0x14038559a
mov rcx, rbx
call fcn.14038b37c
xor r10d, r10d
test eax, eax
jne 0x1403898d0
lea r11d, [r10 + 1]
add rdi, 0x38
add rbx, 0x38
sub esi, r11d
jne 0x140385540
jmp 0x14038379a
sub ebx, 0x55
je 0x140385673
sub ebx, 1
je 0x140385654
sub ebx, 1
je 0x14038560b
cmp ebx, 1
jne 0x140385462
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov rax, qword [rbp - 0x68]
add rbx, rsi
test word [rbx + 0x14], ax
je 0x1403855f7
mov rcx, rbx
call fcn.14038afcc
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x14038933e
mov dl, byte [r13 + 8]
mov r8b, dil
mov rcx, rbx
call fcn.14038ae10
jmp 0x1403837e4
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, rsi
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x1403850e6
mov r12, qword [rbp - 0x70]
test r12b, al
je 0x140385631
movsd xmm0, qword [rcx]
jmp 0x140385639
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rcx]
mov r8d, 0xf248
movsd qword [rcx], xmm0
and ax, r8w
or ax, r12w
mov word [rcx + 0x14], ax
jmp 0x1403850e6
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.14038b34c
movsxd rax, dword [r13 + 8]
add qword [rbx], rax
jmp 0x140383da3
cmp dword [r13 + 4], r10d
je 0x140385462
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x14038569a
xor edx, edx
jmp 0x140385450
mov qword [rcx], r10
mov word [rcx + 0x14], dx
jmp 0x1403850e6
test byte [r13 + 2], r11b
jne 0x1403856b1
mov rdi, r10
jmp 0x1403856b8
mov rdi, qword [r13 - 8]
add rdi, rdx
mov rdx, qword [rsp + 0x38]
mov r14d, r10d
mov r13, qword [r13 + 0x10]
mov rbx, r10
movsxd rax, dword [rdx + 0xc]
mov r8d, dword [rdx + 4]
mov ecx, dword [rdx + 8]
mov dword [rsp + 0x68], r8d
mov dword [rsp + 0x6c], ecx
mov qword [rsp + 0x78], rax
test rax, rax
jle 0x1403892c7
lea r15, [r13 + 0x20]
test rdi, rdi
je 0x1403856f7
mov edx, dword [rdi + rbx*4]
jmp 0x1403856fa
mov edx, r14d
mov rax, qword [r13 + 0x18]
add ecx, edx
imul r12, rcx, 0x38
movzx eax, byte [rbx + rax]
lea ecx, [rdx + r8]
mov r8, qword [r15]
and eax, r11d
mov dword [rbp - 0x78], eax
add r12, rsi
imul rax, rcx, 0x38
mov rdx, r12
add rsi, rax
mov rcx, rsi
call fcn.1403723a0
xor r10d, r10d
mov dword [rsp + 0x70], eax
mov r8d, eax
lea r11d, [r10 + 1]
test eax, eax
jne 0x14038576f
add r15, qword [rbp - 0x70]
add r14d, r11d
mov r8d, dword [rsp + 0x68]
add rbx, r11
mov ecx, dword [rsp + 0x6c]
mov rsi, qword [rsp + 0x58]
cmp rbx, qword [rsp + 0x78]
jl 0x1403856ed
mov r13, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x34]
mov r15, qword [rsp + 0x60]
jmp 0x14038379f
mov rax, qword [r13 + 0x18]
mov ecx, 2
test byte [rbx + rax], cl
je 0x140385792
test byte [rsi + 0x14], r11b
jne 0x14038578a
test byte [r12 + 0x14], r11b
je 0x140385792
neg r8d
mov dword [rsp + 0x70], r8d
mov r13, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x34]
mov r15, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
cmp dword [rbp - 0x78], r10d
je 0x14038379f
neg r8d
mov dword [rsp + 0x70], r8d
jmp 0x14038379f
cmp ebx, 0x89
ja 0x140387cd5
je 0x140387c5d
cmp ebx, 0x72
ja 0x140386eaf
je 0x140386e4e
cmp ebx, 0x67
ja 0x140386672
je 0x1403864b1
cmp ebx, 0x61
ja 0x140386486
je 0x14038604c
sub ebx, 0x5b
je 0x140386003
sub ebx, 1
je 0x140385fca
sub ebx, r8d
je 0x1403859e4
sub ebx, 1
je 0x1403858be
cmp ebx, 1
jne 0x140385462
movsxd rax, dword [r13 + 4]
mov rdi, qword [r13 + 0x10]
imul rbx, rax, 0x38
mov al, byte [rdi]
add rbx, rsi
mov r8b, byte [rsp + 0x30]
mov dl, al
mov rcx, rbx
call fcn.1402fd130
cmp byte [rdi], 0x45
jne 0x14038589f
movzx ecx, word [rbx + 0x14]
mov eax, 4
test al, cl
je 0x14038589f
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x140385888
and cx, ax
or cx, word [rbp - 0x48]
jmp 0x14038589b
xorps xmm0, xmm0
and cx, ax
or cx, word [rbp - 0x70]
cvtsi2sd xmm0, rdx
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 0x14038379f
add rbx, 0x38
jmp 0x14038583a
mov r15, qword [r13 + 0x10]
mov r14d, r10d
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov rdi, qword [r15 + 8]
add rbx, rsi
cmp r10w, word [r15 + 0x36]
jge 0x1403892d4
lea rsi, [rdi + 0xc]
test byte [rsi + 6], 0x60
je 0x140385905
mov rax, qword [rbp - 0x48]
test byte [rsi + 6], al
jne 0x1403859c0
cmp dword [r13 + 0xc], r10d
je 0x140385905
add rbx, 0x38
jmp 0x1403859c0
mov r8b, byte [rsp + 0x30]
mov rcx, rbx
mov dl, byte [rsi]
call fcn.1402fd130
movzx ecx, word [rbx + 0x14]
mov r11d, 1
movzx edx, cx
test r11b, cl
jne 0x1403859b9
mov eax, dword [rsi - 4]
lea r8d, [r11 + 1]
shr eax, 4
and eax, 0xf
sub eax, r8d
je 0x1403859ad
sub eax, r11d
je 0x1403859a6
sub eax, r11d
je 0x1403859a6
sub eax, r11d
je 0x140385955
cmp eax, r11d
jne 0x1403859b9
test r8b, cl
jmp 0x1403859b3
mov eax, 4
test al, cl
je 0x1403859a1
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x140385983
or cx, word [rbp - 0x48]
jmp 0x140385993
or cx, word [rbp - 0x70]
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
mov eax, 0xfffb
and cx, ax
mov word [rbx + 0x14], cx
jmp 0x1403859b9
test cl, 0x28
jmp 0x1403859b3
mov eax, 4
jmp 0x1403859b1
mov rax, qword [rbp - 0x58]
test al, cl
je 0x140389798
add rbx, 0x38
xor r10d, r10d
movsx eax, word [r15 + 0x36]
add r14d, r11d
add rsi, 0x18
cmp r14d, eax
jl 0x1403858e3
mov r14d, dword [rsp + 0x34]
mov r15, qword [rsp + 0x60]
jmp 0x14038379a
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov r15d, dword [r13 + 8]
mov rbx, qword [rax + rcx*8]
mov dword [rsp + 0x68], r15d
mov r13, qword [rbx + 0x58]
mov eax, dword [r12 + 0x2c]
mov qword [rsp + 0x78], r13
cmp dword [rbx + 0x20], eax
je 0x140385a46
cmp byte [rbx + 2], r10b
jne 0x140385ac0
mov rdi, qword [rbx + 0x30]
cmp byte [rbx + 3], r10b
je 0x140385a3f
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x140385a6f
lea eax, [r15 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x140385a6f
mov rbx, qword [rbx + 0x28]
lea r15d, [rax - 1]
jmp 0x1403859f5
cmp byte [rdi], r10b
je 0x140385a89
jmp 0x140385a53
mov rax, qword [rbx + 0x30]
cmp byte [rax], r10b
je 0x140385bb1
mov rcx, rbx
call fcn.14038a548
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
jmp 0x1403859fa
mov rcx, rbx
call fcn.140389ee8
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
mov rcx, rdi
call fcn.140334210
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 0x140385ab7
test edx, edx
mov ecx, edx
cmovs ecx, r10d
mov dword [rbx + 0x6c], ecx
mov rcx, qword [rdi + 0x38]
jmp 0x140385aee
mov eax, 3
cmp byte [rbx], al
jne 0x140385b77
cmp dword [rbx + 0x24], r10d
jle 0x140385b77
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 rcx, qword [rcx + rsi + 8]
mov qword [rbx + 0x60], rcx
lea rsi, [rbx + 0x40]
mov eax, dword [r12 + 0x2c]
mov dword [rbx + 0x20], eax
movzx eax, byte [rcx]
mov dword [r13], eax
mov qword [rbp - 0x40], rsi
cmp eax, 0x80
jae 0x140385b1b
mov r11d, 1
mov eax, r11d
jmp 0x140385b31
mov rcx, qword [rbx + 0x60]
mov rdx, r13
call fcn.14036e994
xor r10d, r10d
movzx eax, al
lea r11d, [r10 + 1]
mov dword [rsi], eax
lea rdi, [rbx + 0x4a]
mov word [rdi], r10w
mov eax, dword [r13]
mov qword [rbp - 0x78], rdi
cmp dword [rbx + 0x6c], eax
jae 0x140385b6a
mov qword [rbx + 0x60], r10
mov dword [rbx + 0x6c], r10d
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x140385d84
cmp eax, dword [rbx + 0x68]
ja 0x140385d84
jmp 0x140385bb5
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x28], rax
jmp 0x140385c30
mov r13, qword [rsp + 0x38]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x140385ba1
call fcn.14039a504
mov r15, qword [rsp + 0x60]
jmp 0x140384a22
mov r11d, 1
mov word [rcx + 0x14], r11w
jmp 0x140385765
lea rdi, [rbx + 0x4a]
movzx r14d, word [rdi]
cmp r14d, r15d
ja 0x140385e14
mov eax, dword [r13]
lea rsi, [rbx + 0x40]
mov qword [rbp - 0x40], rsi
cmp dword [rsi], eax
jae 0x140385dac
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x140385c28
xor edx, edx
lea r8d, [rax + 0x38]
lea rcx, [rbp + 0xf0]
call fcn.1403ac180
mov edx, dword [r13]
lea r8, [rbp + 0xf0]
mov rcx, qword [rbx + 0x30]
call fcn.14038b1b8
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
mov rax, qword [rbp + 0xf8]
mov qword [rbp - 0x28], rax
jmp 0x140385c2c
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x78], rdi
movzx r14d, word [rdi]
mov r11d, 1
mov edi, dword [rsi]
mov r15d, r14d
mov rcx, qword [rsp + 0x78]
add rdi, rax
mov r12d, dword [r13 + r14*4]
mov r13d, dword [r13]
add r13, rax
movzx esi, byte [rdi]
mov dword [rsp + 0x6c], esi
mov dword [rbx + r15*4 + 0x70], esi
cmp esi, 0x80
jae 0x140385c7b
lea rdx, [0x140000000]
add rdi, r11
movzx eax, byte [rsi + rdx + 0x4f6b30]
jmp 0x140385cc0
lea rdx, [rsp + 0x6c]
mov rcx, rdi
call fcn.14036e994
mov esi, dword [rsp + 0x6c]
movzx eax, al
add rdi, rax
mov dword [rbx + r15*4 + 0x70], esi
cmp esi, 0x80
jb 0x140385ca6
lea eax, [rsi - 0xc]
shr eax, 1
jmp 0x140385cb5
lea rcx, [0x140000000]
movzx eax, byte [rsi + rcx + 0x4f6b30]
mov rcx, qword [rsp + 0x78]
mov r11d, 1
add r14d, r11d
add r12, rax
movsxd r15, r14d
mov dword [rcx + r15*4], r12d
cmp r14d, dword [rsp + 0x68]
ja 0x140385cdd
cmp rdi, r13
jb 0x140385c53
cmp rdi, r13
jb 0x140385d3c
ja 0x140385d44
mov eax, dword [rbx + 0x68]
cmp r12, rax
jne 0x140385d44
xor r10d, r10d
sub edi, dword [rbp - 0x28]
mov r15, qword [rbp - 0x78]
mov rax, qword [rbp - 0x40]
mov word [r15], r14w
mov dword [rax], edi
cmp qword [rbx + 0x60], r10
jne 0x140385d30
mov eax, 0x9000
test word [rbp + 0x104], ax
jne 0x140385d1d
cmp dword [rbp + 0x110], r10d
je 0x140385d30
lea rcx, [rbp + 0xf0]
call fcn.14039a4c8
movzx r14d, word [r15]
xor r10d, r10d
mov r13, qword [rsp + 0x78]
mov r15d, dword [rsp + 0x68]
jmp 0x140385daf
mov eax, dword [rbx + 0x68]
cmp r12, rax
jbe 0x140385cec
xor r10d, r10d
cmp dword [rcx], r10d
jne 0x140385d54
mov r14d, r10d
mov rdi, r13
jmp 0x140385cef
cmp qword [rbx + 0x60], r10
jne 0x140385d84
mov eax, 0x9000
test word [rbp + 0x104], ax
jne 0x140385d71
cmp dword [rbp + 0x110], r10d
je 0x140385d84
lea rcx, [rbp + 0xf0]
call fcn.14039a4c8
xor r10d, r10d
lea r11d, [r10 + 1]
mov r9, qword [rsp + 0x40]
mov eax, dword [r9 + 0xc]
test eax, eax
jle 0x1403897fd
mov r14d, dword [rsp + 0x34]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r13, [r9 + rax*8]
jmp 0x140384cf0
mov esi, r10d
movzx eax, r14w
cmp eax, r15d
ja 0x140385e0f
mov r13, qword [rsp + 0x38]
mov rsi, qword [rsp + 0x58]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
cmp byte [r13 + 1], 0xf6
jne 0x140385ded
mov rdx, qword [r13 + 0x10]
mov r8d, 0x2000
call fcn.14038b918
mov r14d, dword [rsp + 0x34]
jmp 0x140385b97
mov eax, 0x9000
test word [rcx + 0x14], ax
je 0x140385dff
call fcn.14039a504
jmp 0x140385de3
mov r11d, 1
mov word [rcx + 0x14], r11w
jmp 0x140385760
mov r14d, r15d
jmp 0x140385e1c
mov r14d, r15d
mov esi, dword [rbx + r14*4 + 0x70]
mov r12, qword [rsp + 0x38]
movsxd rax, dword [r12 + 0xc]
imul rdi, rax, 0x38
mov eax, 0x9000
add rdi, qword [rsp + 0x58]
test word [rdi + 0x14], ax
je 0x140385e42
mov rcx, rdi
call fcn.14039a504
lea eax, [r15 + 1]
mov eax, dword [r13 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x140385f1c
mov r14d, dword [r13 + r14*4]
add r14, qword [rbx + 0x60]
cmp esi, 0xc
jae 0x140385e81
mov rcx, r14
mov edx, esi
mov r8, rdi
call fcn.14038c940
mov r14d, dword [rsp + 0x34]
mov r13, r12
mov r15, qword [rsp + 0x60]
jmp 0x140384a1d
mov al, byte [rsp + 0x30]
lea ebx, [rsi - 0xc]
mov r15, qword [rsp + 0x60]
shr ebx, 1
mov dword [rdi + 0x10], ebx
mov byte [rdi + 0x16], al
lea edx, [rbx + 2]
cmp dword [rdi + 0x20], edx
jge 0x140385ec8
cmp ebx, dword [r15 + 0x88]
jg 0x14038982f
mov eax, 1
xor r8d, r8d
mov rcx, rdi
mov word [rdi + 0x14], ax
call fcn.14038b218
test eax, eax
jne 0x1403898e8
jmp 0x140385ed0
mov rax, qword [rdi + 0x28]
mov qword [rdi + 8], rax
mov rcx, qword [rdi + 8]
mov r8, rbx
mov rdx, r14
call fcn.1403abad0
mov rax, qword [rdi + 8]
lea rcx, [0x140000000]
mov r14d, dword [rsp + 0x34]
xor r10d, r10d
mov r13, r12
mov byte [rbx + rax], r10b
mov rax, qword [rdi + 8]
lea r11d, [r10 + 1]
mov byte [rbx + rax + 1], r10b
mov eax, esi
and rax, r11
movzx eax, word [rcx + rax*2 + 0x4f6f2c]
mov word [rdi + 0x14], ax
jmp 0x14038379a
mov al, byte [rsp + 0x30]
mov byte [rdi + 0x16], al
test byte [r12 + 2], 0xc0
je 0x140385f42
cmp esi, 0xc
jb 0x140385f3a
mov eax, 1
test al, sil
je 0x140385f6a
test byte [r12 + 2], 0x80
jne 0x140385f6a
cmp esi, 0x80
jb 0x140385f53
lea r8d, [rsi - 0xc]
shr r8d, 1
jmp 0x140385f65
mov eax, esi
lea rcx, [0x140000000]
movzx r8d, byte [rax + rcx + 0x4f6b30]
test r8d, r8d
jne 0x140385f76
lea rcx, [0x1404fa6f0]
jmp 0x140385e65
mov r15, qword [rsp + 0x60]
cmp r8d, dword [r15 + 0x88]
jg 0x14038982f
mov edx, dword [r13 + r14*4]
mov r9, rdi
mov rcx, qword [rbx + 0x30]
call fcn.14038b0dc
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x140389918
mov rcx, qword [rdi + 8]
mov r8, rdi
mov edx, esi
call fcn.14038c940
mov eax, 0xbfff
mov r13, r12
and word [rdi + 0x14], ax
jmp 0x140384a1d
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
jne 0x140387dfe
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
jne 0x140387dfe
movsxd rax, dword [r13 + 8]
jmp 0x140385681
mov word [rcx + 0x14], r11w
jmp 0x1403850e6
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140382554
movsxd rdx, dword [r13 + 0x10]
movsxd rcx, eax
movsxd rax, dword [r13 + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
jne 0x140385450
mov qword [rcx], rdx
mov edx, 4
mov word [rcx + 0x14], dx
jmp 0x140386ddb
movsxd rax, dword [r13 + 4]
mov r9d, 1
mov rdi, qword [r13 + 0x10]
mov rdx, r10
imul r11, rax, 0x38
mov eax, dword [r13 + 8]
mov r15, r10
add r11, rsi
mov qword [rbp - 0x78], rdx
sub eax, r9d
mov qword [rsp + 0x78], r11
cdqe
mov r12d, r10d
imul rsi, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul r13, rax, 0x38
add rsi, r11
add r13, qword [rsp + 0x58]
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x28], r13
test rdi, rdi
je 0x1403860fd
mov al, byte [rdi]
lea rbx, [r11 + 0x14]
mov r14b, byte [rsp + 0x30]
mov r13d, 0xfffb
mov rsi, qword [rbp - 0x48]
lea rcx, [rbx - 0x14]
mov r8b, r14b
mov dl, al
call fcn.1402fd130
cmp byte [rdi], 0x45
jne 0x1403860d6
movzx eax, word [rbx]
test al, 4
je 0x1403860d6
and ax, r13w
or ax, si
mov word [rbx], ax
mov r9d, 1
add rbx, 0x38
add rdi, r9
xor r10d, r10d
mov al, byte [rdi]
test al, al
jne 0x1403860b2
mov r13, qword [rbp - 0x28]
mov rdx, qword [rbp - 0x78]
mov r11, qword [rsp + 0x78]
mov rsi, qword [rbp - 0x40]
lea r14, [rsi + 0x24]
movzx ecx, word [r14 - 0x10]
test r9b, cl
je 0x140386122
and cx, word [rbp - 0x68]
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
add r12d, r9d
jmp 0x140386282
test cl, 0x24
je 0x1403861fd
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x14038613a
not rdx
add r12d, r9d
cmp rdx, 0x7f
ja 0x14038616f
mov rax, r8
and rax, r9
cmp rax, r8
jne 0x140386164
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0xc3], 4
jb 0x140386164
lea eax, [rdx + 8]
jmp 0x1403861f5
add r15, r9
mov eax, r9d
jmp 0x1403861f5
cmp rdx, 0x7fff
ja 0x14038617f
mov eax, 2
jmp 0x14038619d
cmp rdx, 0x7fffff
ja 0x14038618f
mov eax, 3
jmp 0x14038619d
cmp rdx, 0x7fffffff
ja 0x1403861a2
mov eax, 4
add r15, rax
jmp 0x1403861f5
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x1403861bc
add r15, 6
mov eax, 5
jmp 0x1403861f5
mov rdx, qword [rbp - 0x70]
mov rax, qword [rbp - 0x48]
add r15, rdx
test al, cl
je 0x1403861f0
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
mov eax, 7
cvtsi2sd xmm0, r8
or cx, dx
mov word [r14 - 0x10], cx
movsd qword [r14 - 0x24], xmm0
jmp 0x1403861f5
mov eax, 6
mov dword [r14], eax
jmp 0x140386282
mov rax, qword [rbp - 0x70]
test al, cl
je 0x140386214
add r12d, r9d
mov dword [r14], 7
add r15, rax
jmp 0x140386282
mov edi, dword [r14 - 0x14]
mov esi, ecx
mov rax, qword [rbp - 0x68]
shr esi, 1
and esi, r9d
add esi, 0xc
lea esi, [rsi + rdi*2]
test ax, cx
je 0x14038625f
lea rbx, [r14 - 0x24]
movsxd rax, dword [rbx]
lea esi, [rsi + rax*2]
test r15, r15
je 0x140386258
mov rcx, rbx
call fcn.14038afcc
xor r10d, r10d
test eax, eax
jne 0x1403898de
add edi, dword [rbx]
lea r9d, [r10 + 1]
jmp 0x14038625f
add rdx, rax
mov qword [rbp - 0x78], rdx
mov eax, edi
mov ecx, r9d
add r15, rax
mov eax, esi
jmp 0x14038626e
add ecx, r9d
shr rax, 7
test rax, rax
jne 0x14038626b
mov r11, qword [rsp + 0x78]
add r12d, ecx
mov dword [r14], esi
lea rax, [r14 - 0x24]
cmp rax, r11
je 0x140386298
mov rdx, qword [rbp - 0x78]
sub r14, 0x38
jmp 0x140386101
cmp r12d, 0x7e
jle 0x1403862cd
mov edx, r9d
movsxd rax, r12d
jmp 0x1403862a9
add edx, r9d
shr rax, 7
test rax, rax
jne 0x1403862a6
add r12d, edx
mov ecx, r9d
movsxd rax, r12d
jmp 0x1403862c0
add ecx, r9d
shr rax, 7
test rax, rax
jne 0x1403862bd
cmp edx, ecx
jge 0x1403862d0
add r12d, r9d
mov rdi, qword [rbp - 0x78]
movsxd rax, dword [r13 + 0x20]
movsxd rsi, r12d
lea rbx, [rsi + r15]
lea rcx, [rdi + rbx]
cmp rcx, rax
jle 0x140386326
mov r15, qword [rsp + 0x60]
movsxd rax, dword [r15 + 0x88]
cmp rcx, rax
jg 0x14038982a
cmp dword [r13 + 0x20], ebx
jge 0x140386326
xor r8d, r8d
mov edx, ebx
mov rcx, r13
call fcn.14038b218
xor r10d, r10d
test eax, eax
jne 0x1403898d0
mov r11, qword [rsp + 0x78]
lea r9d, [r10 + 1]
jmp 0x14038632e
mov rax, qword [r13 + 0x28]
mov qword [r13 + 8], rax
mov rax, qword [rbp - 0x58]
mov word [r13 + 0x14], ax
mov dword [r13 + 0x10], ebx
test rdi, rdi
je 0x14038634e
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 0x140386367
mov byte [rdi], r12b
add rdi, r9
jmp 0x14038637f
mov rdx, rsi
mov rcx, rdi
call fcn.140368ae8
movsxd rcx, eax
add rdi, rcx
xor r10d, r10d
lea r9d, [r10 + 1]
mov r15, qword [rbp - 0x40]
lea rsi, [r11 + 0x10]
mov ebx, dword [rsi + 0x14]
cmp ebx, 7
ja 0x140386403
mov byte [rdi], bl
add rdi, r9
test ebx, ebx
je 0x140386453
lea rdx, [rsi - 0x10]
cmp ebx, 7
jne 0x1403863bb
mov r8, qword [rbp - 0x70]
lea rcx, [rbp - 0x20]
call fcn.1403abad0
mov rdx, qword [rbp - 0x20]
xor r10d, r10d
jmp 0x1403863c2
mov rdx, qword [rdx]
mov qword [rbp - 0x20], rdx
lea rcx, [0x140000000]
movzx ecx, byte [rbx + rcx + 0x4f6b30]
or ebx, 0xffffffff
mov r9d, ecx
add ecx, ebx
lea r8, [rcx + r14]
mov byte [r8], dl
je 0x1403863fe
mov r11d, 1
mov rax, qword [rbp - 0x20]
sub r8, r11
shr rax, 8
mov qword [rbp - 0x20], rax
mov byte [r8], al
add ecx, ebx
jne 0x1403863e8
add r14, r9
jmp 0x140386453
cmp ebx, 0x80
jae 0x140386422
mov r11d, 1
mov byte [rdi], bl
add rdi, r11
cmp ebx, 0xe
jb 0x140386459
cmp dword [rsi], r10d
jle 0x140386459
jmp 0x14038643b
mov rdx, rbx
mov rcx, rdi
call fcn.140368ae8
movsxd rcx, eax
xor r10d, r10d
add rdi, rcx
cmp dword [rsi], r10d
je 0x140386453
movsxd r8, dword [rsi]
mov rcx, r14
mov rdx, qword [rsi - 8]
call fcn.1403abad0
movsxd rax, dword [rsi]
add r14, rax
xor r10d, r10d
mov r11d, 1
lea rax, [rsi - 0x10]
cmp rax, r15
je 0x140386471
add rsi, 0x38
mov r9d, 1
jmp 0x140386387
mov r13, qword [rsp + 0x38]
jmp 0x1403859d5
mov r11d, 1
jmp 0x14038379f
mov ecx, ebx
sub ecx, 0x62
je 0x140386612
sub ecx, 1
je 0x1403865e0
sub ecx, 1
je 0x140386547
sub ecx, 1
je 0x140386504
cmp ecx, 1
jne 0x1403850e6
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add rbx, rsi
add rcx, rsi
imul rsi, rax, 0x38
mov al, byte [rcx + 0x14]
add rsi, qword [rsp + 0x58]
or al, byte [rbx + 0x14]
test r11b, al
je 0x1403866ef
mov ecx, 0x9000
test word [rsi + 0x14], cx
je 0x1403866e0
mov rcx, rsi
call fcn.14039a504
mov rsi, qword [rsp + 0x58]
jmp 0x140383da3
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x140386818
mov eax, dword [r13 + 8]
cmp dword [rdi + 0x44], eax
jne 0x140386818
mov rbx, qword [rdi + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.1402f27a0
xor r10d, r10d
mov qword [rbx + 0x18], r10
lea r11d, [r10 + 1]
mov byte [rbx], r11b
jmp 0x14038693f
movsxd rbx, dword [r13 + 4]
mov r8d, dword [r13 + 0xc]
mov edx, dword [r13 + 8]
shl rbx, 5
add rbx, qword [r15 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.140353cfc
mov r11d, 1
mov dword [rsp + 0x34], eax
mov r14d, eax
cmp dword [r13 + 8], r11d
jne 0x1403865a0
movzx eax, word [r13 + 2]
mov ecx, dword [r13 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
mov rcx, r15
or dword [r15 + 0x2c], r11d
mov edx, dword [r13 + 4]
call fcn.14035f7d8
mov r11d, 1
jmp 0x1403865b6
mov eax, 2
cmp dword [r13 + 8], eax
jne 0x1403865b6
mov rcx, qword [rbx + 0x18]
mov al, byte [r13 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r13 + 4], r11d
jne 0x1403865cf
xor edx, edx
mov rcx, r15
call fcn.140359ba0
and dword [r12 + 0xc8], 0xfffffffc
xor r10d, r10d
test r14d, r14d
jne 0x14038933e
jmp 0x1403837a4
movsxd rax, dword [r13 + 4]
lea r8, [rbp - 8]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r13 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14035180c
mov rdx, r13
mov rcx, r12
call fcn.14033df80
movsxd rcx, dword [rbp - 8]
jmp 0x14038515d
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
cmp dword [r13 + 0xc], r10d
je 0x140386636
mov rcx, rdx
call fcn.14035302c
mov rbx, rax
jmp 0x14038665f
lea r8, [rsp + 0x78]
mov qword [rsp + 0x78], r10
mov rcx, r15
call fcn.140351140
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
mov rbx, qword [rsp + 0x78]
mov rdx, r13
mov rcx, r12
call fcn.14033df80
mov qword [rax], rbx
jmp 0x140388612
cmp ebx, 0x6d
ja 0x1403867f6
je 0x1403866a2
sub ebx, 0x68
je 0x1403864b1
sub ebx, 1
je 0x1403864b1
sub ebx, 1
je 0x1403866a2
sub ebx, 1
je 0x1403866a2
cmp ebx, 1
jne 0x140385462
movsxd rax, dword [r13 + 4]
mov r14d, 0x2c
imul rdi, rax, 0x38
add rdi, rsi
movzx ebx, word [rdi + 0x14]
test r14b, bl
jne 0x140386b17
test bl, 0x12
je 0x140386b14
mov rcx, rdi
call fcn.14030475c
movzx ebx, ax
lea edx, [r14 - 0x28]
xor r10d, r10d
jmp 0x140386b17
mov word [rsi + 0x14], r11w
mov rsi, qword [rsp + 0x58]
jmp 0x140385462
call fcn.14038a6c0
mov rcx, rbx
mov qword [rbp - 0x50], rax
call fcn.14038a6c0
mov dil, byte [r13]
mov rbx, rax
cmp dil, 0x66
jne 0x140386716
and qword [rbp - 0x50], rax
jmp 0x1403867cf
cmp dil, 0x67
jne 0x140386725
or qword [rbp - 0x50], rbx
jmp 0x1403867cf
xor r10d, r10d
test rbx, rbx
je 0x1403867d2
jns 0x140386753
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 0x140386774
cmp qword [rbp - 0x50], r10
jge 0x14038676b
cmp dil, 0x68
je 0x14038676b
or rax, 0xffffffffffffffff
jmp 0x14038676e
mov rax, r10
mov qword [rbp - 0x50], rax
jmp 0x1403867d2
mov r12, qword [rbp - 0x70]
lea rdx, [rbp - 0x50]
mov r8, r12
lea rcx, [rbp - 0x38]
call fcn.1403abad0
mov rcx, rbx
cmp dil, 0x68
jne 0x140386797
shl qword [rbp - 0x38], cl
jmp 0x1403867bf
mov r8, qword [rbp - 0x38]
shr r8, cl
xor ecx, ecx
mov qword [rbp - 0x38], r8
cmp qword [rbp - 0x50], rcx
jge 0x1403867bf
or rdx, 0xffffffffffffffff
mov ecx, 0x40
sub cl, bl
shl rdx, cl
or rdx, r8
mov qword [rbp - 0x38], rdx
mov r8, r12
lea rdx, [rbp - 0x38]
lea rcx, [rbp - 0x50]
call fcn.1403abad0
xor r10d, r10d
mov rax, qword [rbp - 0x50]
mov ecx, 0xf244
mov qword [rsi], rax
mov edx, 4
movzx eax, word [rsi + 0x14]
and ax, cx
or ax, dx
mov word [rsi + 0x14], ax
jmp 0x140383a2b
mov ecx, ebx
sub ecx, 0x6e
je 0x1403866a2
sub ecx, 1
je 0x140386952
sub ecx, 1
je 0x140386818
cmp ecx, 1
jne 0x1403850e6
mov eax, dword [r12 + 0xc8]
and al, 3
cmp al, r11b
je 0x140389807
movsxd r12, dword [r13 + 0xc]
mov edi, r10d
mov rcx, qword [rsp + 0x60]
mov rax, r12
mov r15d, dword [r13 + 8]
mov r14, r10
shl rax, 5
add rax, qword [rcx + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x71
jne 0x14038687d
mov rax, qword [rax + 0x18]
mov rdx, qword [rsp + 0x38]
mov cl, byte [rax + 0x70]
movzx esi, word [rdx + 2]
and esi, dword [rbp - 0x70]
mov rax, qword [rsp + 0x50]
or esi, 4
cmp cl, byte [rax + 0xc3]
jae 0x140386880
mov byte [rax + 0xc3], cl
jmp 0x140386880
mov esi, r10d
mov rcx, qword [rsp + 0x38]
mov rax, qword [rbp - 0x58]
test byte [rcx + 2], al
je 0x1403868a7
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.14038b34c
mov rcx, qword [rsp + 0x38]
mov r15d, dword [rbx]
mov al, byte [rcx + 1]
cmp al, 0xf8
jne 0x1403868b9
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x1403868c0
cmp al, 0xfd
jne 0x1403868c0
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
xor r9d, r9d
mov rcx, qword [rsp + 0x50]
mov r8d, edi
call fcn.1402fb834
mov rdi, rax
test rax, rax
je 0x1403898de
mov rcx, qword [rdi + 0x30]
mov r9, r14
mov byte [rax + 1], r12b
mov r8d, esi
mov eax, 1
mov qword [rsp + 0x20], rcx
mov byte [rdi + 2], al
mov edx, r15d
mov eax, 4
mov dword [rdi + 0x44], r15d
or dword [rdi + 8], eax
mov rcx, r13
call fcn.1403512ac
mov r13, qword [rsp + 0x38]
mov r15, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov qword [rdi + 0x38], r14
cmp byte [r13 + 1], 0xf8
mov dword [rsp + 0x34], eax
mov r14d, dword [rsp + 0x34]
setne al
xor r10d, r10d
mov byte [rdi + 4], al
lea r11d, [r10 + 1]
mov cl, byte [r13 + 2]
mov rax, qword [rdi + 0x30]
and cl, 3
mov byte [rax + 3], cl
jmp 0x140383938
movsxd rax, dword [r13 + 4]
mov r12, qword [rsp + 0x38]
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 r14d, word [r13 + 0x14]
add rdi, rsi
mov al, r14b
add rbx, rsi
or al, byte [rdi + 0x14]
test r11b, al
je 0x1403869c1
mov ecx, 0x9000
test word [rbx + 0x14], cx
je 0x1403869aa
mov rcx, rbx
call fcn.14039a504
mov r14d, dword [rsp + 0x34]
mov r13, r12
jmp 0x140384a22
mov r14d, dword [rsp + 0x34]
mov r13, r12
mov word [rbx + 0x14], r11w
mov dil, byte [rsp + 0x30]
jmp 0x140385462
test r14b, 0x12
jne 0x1403869d8
mov dl, byte [rsp + 0x30]
xor r8d, r8d
mov rcx, r13
call fcn.14038b978
jmp 0x1403869ea
mov rax, qword [rbp - 0x68]
test ax, r14w
je 0x140386a04
mov rcx, r13
call fcn.14038afcc
test eax, eax
jne 0x1403898e8
movzx r14d, word [r13 + 0x14]
mov eax, 0xfffd
and r14w, ax
mov rax, qword [rbp - 0x68]
movzx esi, word [rdi + 0x14]
test sil, 0x12
jne 0x140386a36
mov dl, byte [rsp + 0x30]
xor r8d, r8d
mov rcx, rdi
call fcn.14038b978
xor r8d, r8d
test eax, eax
jne 0x1403898e8
movzx esi, word [rdi + 0x14]
mov eax, 0xfffd
and si, ax
jmp 0x140386a48
test ax, si
je 0x140386a45
mov rcx, rdi
call fcn.14038afcc
jmp 0x140386a1d
xor r8d, r8d
mov rax, qword [rsp + 0x60]
mov edx, dword [r13 + 0x10]
add edx, dword [rdi + 0x10]
movsxd r15, edx
movsxd rax, dword [rax + 0x88]
cmp r15, rax
jg 0x14038982f
cmp rbx, rdi
mov rcx, rbx
sete r8b
add edx, 2
call fcn.14038b218
test eax, eax
jne 0x1403898e3
movzx eax, word [rbx + 0x14]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [rbx + 0x14], ax
cmp rbx, rdi
je 0x140386aaf
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbx + 8]
call fcn.1403abad0
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.1403abad0
mov dil, byte [rsp + 0x30]
mov r11d, 1
mov word [r13 + 0x14], r14w
cmp dil, r11b
jbe 0x140386add
and r15, 0xfffffffffffffffe
mov rax, qword [rbx + 8]
xor r10d, r10d
mov r14d, dword [rsp + 0x34]
mov r13, r12
mov byte [r15 + rax], r10b
mov rax, qword [rbx + 8]
mov byte [rax + r15 + 1], r10b
mov eax, 0x200
or word [rbx + 0x14], ax
mov dword [rbx + 0x10], r15d
mov r15, qword [rsp + 0x60]
mov byte [rbx + 0x16], dil
jmp 0x1403841b8
mov ebx, r10d
movsxd rax, dword [r13 + 8]
mov r12, qword [rsp + 0x58]
imul rsi, rax, 0x38
add rsi, r12
movzx ecx, word [rsi + 0x14]
and cx, r14w
jne 0x140386b4c
test byte [rsi + 0x14], 0x12
je 0x140386b49
mov rcx, rsi
call fcn.14030475c
movzx ecx, ax
mov edx, 4
jmp 0x140386b4c
mov ecx, r10d
movsxd rax, dword [r13 + 0xc]
and cl, bl
movzx r10d, word [rdi + 0x14]
imul r14, rax, 0x38
movzx eax, r10w
or ax, word [rsi + 0x14]
add r14, r12
test dl, cl
je 0x140386cd7
movzx ecx, byte [r13]
mov r9, qword [rsi]
mov r8, qword [rdi]
mov qword [rsp + 0x38], r9
sub ecx, 0x6a
je 0x140386ca4
sub ecx, 1
je 0x140386c88
sub ecx, 1
je 0x140386bf4
cmp ecx, 1
je 0x140386bc2
xor r10d, r10d
test r8, r8
je 0x140386dfe
cmp r8, 0xffffffffffffffff
lea eax, [r10 + 1]
cmove r8, rax
mov rax, r9
cqo
idiv r8
mov r9, rdx
jmp 0x140386cba
test r8, r8
je 0x140386dfb
cmp r8, 0xffffffffffffffff
jne 0x140386be4
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x140386ce6
mov rax, r9
cqo
idiv r8
mov r9, rax
jmp 0x140386cba
test r8, r8
jle 0x140386c2a
movabs rax, 0x7fffffffffffffff
cqo
idiv r8
cmp r9, rax
jg 0x140386ce6
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jge 0x140386c7d
jmp 0x140386ce6
jns 0x140386c82
test r9, r9
jle 0x140386c45
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jmp 0x140386c23
jns 0x140386c82
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x140386ce6
cmp r9, rax
je 0x140386ce6
movabs rax, 0x8000000000000001
mov rcx, r9
cqo
neg rcx
idiv r8
cmp rcx, rax
jg 0x140386ce6
mov edx, 4
imul r9, r8
jmp 0x140386cbf
movabs rax, 0x8000000000000000
cmp r8, rax
jne 0x140386ca1
test r9, r9
jns 0x140386ce6
sub r9, r8
jmp 0x140386cbf
neg r8
mov rdx, r8
lea rcx, [rsp + 0x38]
call fcn.14034d394
test eax, eax
jne 0x140386ce6
mov r9, qword [rsp + 0x38]
mov edx, 4
movzx eax, word [r14 + 0x14]
mov ecx, 0xf244
and ax, cx
mov qword [r14], r9
or ax, dx
jmp 0x140386dc7
mov r11d, 1
test r11b, al
jne 0x140386df6
mov r12, qword [rbp - 0x70]
test r12b, r10b
je 0x140386cf5
movsd xmm2, qword [rdi]
jmp 0x140386d1b
test r10b, 0x24
je 0x140386d05
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rdi]
jmp 0x140386d1b
test r10b, 0x12
je 0x140386d18
mov rcx, rdi
call fcn.14033af40
movaps xmm2, xmm0
jmp 0x140386d1b
movaps xmm2, xmm7
mov rcx, rsi
call fcn.14038c264
movzx ecx, byte [r13]
movaps xmm6, xmm0
sub ecx, 0x6a
je 0x140386d97
sub ecx, 1
je 0x140386d91
sub ecx, 1
je 0x140386d8b
cmp ecx, 1
je 0x140386d79
mov rcx, rdi
call fcn.14038a6c0
mov rcx, rsi
mov rbx, rax
call fcn.14038a6c0
xor r10d, r10d
lea r11d, [r10 + 1]
test rbx, rbx
je 0x140386e0d
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm6, xmm6
cmove rbx, r11
idiv rbx
cvtsi2sd xmm6, rdx
jmp 0x140386d9b
ucomisd xmm2, xmm7
jp 0x140386d85
je 0x140386e06
divsd xmm6, xmm2
jmp 0x140386d9b
mulsd xmm6, xmm2
jmp 0x140386d9b
subsd xmm6, xmm2
jmp 0x140386d9b
addsd xmm6, xmm2
movaps xmm0, xmm6
call qword [sym.imp.api_ms_win_crt_math_l1_1_0.dll__dclass]
mov ecx, 2
lea edx, [rcx + 2]
cmp ax, cx
je 0x140386dfb
movzx eax, word [r14 + 0x14]
mov ecx, 0xf248
and ax, cx
movsd qword [r14], xmm6
or ax, r12w
mov rsi, qword [rsp + 0x58]
mov dil, byte [rsp + 0x30]
mov word [r14 + 0x14], ax
mov r14d, dword [rsp + 0x34]
xor r10d, r10d
mov ecx, 0x9000
mov r9, qword [rsp + 0x40]
mov eax, 5
lea r11d, [rax - 4]
jmp 0x14038314f
xor r10d, r10d
jmp 0x140386e12
xor r10d, r10d
mov r11d, 1
jmp 0x140386e12
xor r10d, r10d
lea r11d, [r10 + 1]
mov edx, 4
mov ecx, 0x9000
test word [r14 + 0x14], cx
je 0x140386e30
mov rcx, r14
call fcn.14039a504
mov r14d, dword [rsp + 0x34]
jmp 0x140384a1d
mov rsi, qword [rsp + 0x58]
mov dil, byte [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov word [r14 + 0x14], r11w
mov r14d, dword [rsp + 0x34]
jmp 0x140385462
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, rsi
add rbx, rsi
test word [rbx + 0x14], cx
je 0x140386e89
mov rcx, rbx
call fcn.14039a504
mov r9, qword [rsp + 0x40]
xor r10d, r10d
mov ecx, 0x9000
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
jmp 0x140386e8e
mov word [rbx + 0x14], r11w
test byte [rdi + 0x14], r11b
jne 0x1403869b7
mov rcx, rdi
mov word [rbx + 0x14], dx
call fcn.14038a6c0
not rax
mov qword [rbx], rax
jmp 0x140384a22
cmp ebx, 0x7e
ja 0x14038755c
je 0x140387521
cmp ebx, 0x78
ja 0x140387301
je 0x1403872da
sub ebx, 0x73
je 0x140387233
sub ebx, 1
je 0x140387069
sub ebx, 1
je 0x140386f2e
sub ebx, 1
je 0x140387069
cmp ebx, 1
jne 0x140385462
mov r8d, dword [r13 + 8]
mov r9b, r11b
mov edx, dword [r13 + 4]
mov rcx, r12
call fcn.1402fb834
test rax, rax
je 0x1403898d0
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, r15
mov edx, dword [r13 + 0xc]
call fcn.14038ccb0
jmp 0x1403837e4
mov rdx, r13
mov rcx, r12
call fcn.14033df80
mov rcx, qword [r13 + 0x10]
xor edx, edx
mov rbx, rax
test rcx, rcx
jne 0x140386f4b
mov eax, edx
jmp 0x140386f57
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
and eax, 0x3fffffff
xor edx, edx
mov ecx, 1
mov dword [r13 + 4], eax
cmp dil, cl
je 0x140386ff4
mov qword [rsp + 0x20], rdx
mov r9b, cl
mov rdx, qword [r13 + 0x10]
mov rcx, rbx
or r8, 0xffffffffffffffff
call fcn.14038b5e4
mov r14d, eax
mov dword [rsp + 0x34], eax
xor eax, eax
test r14d, r14d
jne 0x14038982a
lea ecx, [rax + 2]
test byte [rbx + 0x14], cl
jne 0x140386fa1
mov byte [rbx + 0x16], dil
jmp 0x140386fbc
cmp byte [rbx + 0x16], dil
je 0x140386fbc
mov dl, dil
mov rcx, rbx
call fcn.14038baa0
test eax, eax
jne 0x1403898d0
xor eax, eax
mov ecx, 0x2000
mov dword [rbx + 0x20], eax
or word [rbx + 0x14], cx
cmp byte [r13 + 1], 0xfa
jne 0x140386fe0
mov rdx, qword [r13 + 0x10]
test rdx, rdx
je 0x140386fe0
mov rcx, r15
call fcn.140357710
mov byte [r13 + 1], 0xfa
mov rax, qword [rbx + 8]
mov qword [r13 + 0x10], rax
mov eax, dword [rbx + 0x10]
mov dword [r13 + 4], eax
cmp eax, dword [r15 + 0x88]
jg 0x14038982a
mov byte [r13], 0x49
mov rdx, r13
mov rcx, r12
call fcn.14033df80
mov r8, rax
xor r10d, r10d
mov eax, 0x2202
mov word [r8 + 0x14], ax
mov rcx, qword [r13 + 0x10]
mov qword [r8 + 8], rcx
mov ecx, dword [r13 + 4]
mov dword [r8 + 0x10], ecx
mov byte [r8 + 0x16], dil
cmp dword [r13 + 0xc], r10d
jle 0x140387817
movsxd rcx, dword [r13 + 0xc]
lea r11d, [r10 + 1]
movzx eax, word [r13 + 2]
imul rdx, rcx, 0x38
cmp qword [rdx + rsi], rax
jne 0x1403837a4
mov eax, 0x2210
mov word [r8 + 0x14], ax
jmp 0x1403837a4
cmp dword [r13 + 0xc], r10d
jle 0x140387090
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov dword [rcx + rsi + 0x10], r10d
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x140500192]
mov qword [rcx + rsi + 8], rax
movsxd rdx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x1403870e6
mov rax, qword [rbp - 0x70]
test byte [rbx + 8], al
jne 0x1403870e6
movsx eax, word [rbx + 0x48]
cmp dword [r13 + 8], eax
jg 0x1403870e6
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.140350b84
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
lea edx, [rax + 4]
jmp 0x14038721f
mov r8d, dword [r13 + 8]
xor r9d, r9d
mov rcx, r12
call fcn.1402fb834
mov rbx, rax
test rax, rax
je 0x1403898d0
lea rdi, [rax + 0x10]
mov dword [rsp + 0x28], 0x41e
mov r12d, 1
mov r9, rdi
or dword [rax + 8], r12d
mov r8, r15
movzx ecx, word [r13 + 2]
xor edx, edx
or ecx, 5
mov dword [rsp + 0x20], ecx
mov rcx, qword [r15]
call fcn.1403527f0
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x14038933e
mov rcx, qword [rdi]
xor r8d, r8d
mov edx, r12d
call fcn.140350880
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x1403871f1
mov r14, qword [r13 + 0x10]
lea rsi, [rbx + 0x44]
mov rcx, qword [rdi]
mov qword [rbx + 0x38], r14
test r14, r14
je 0x1403871c3
movzx r8d, word [r13 + 2]
mov rdx, rsi
or r8d, 2
call fcn.140351248
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1403871b8
mov rax, qword [rbx + 0x30]
lea r8d, [r12 + 3]
mov edx, dword [rsi]
mov r9, r14
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rax
call fcn.1403512ac
mov r14d, eax
mov dword [rsp + 0x34], eax
xor r10d, r10d
jmp 0x1403871bd
mov r14d, dword [rsp + 0x34]
mov byte [rbx + 4], r10b
jmp 0x1403871ec
mov rax, qword [rbx + 0x30]
xor r9d, r9d
mov edx, r12d
mov dword [rsi], r12d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.1403512ac
mov r14d, eax
mov dword [rsp + 0x34], eax
xor r10d, r10d
mov byte [rbx + 4], r12b
mov rsi, qword [rsp + 0x58]
movzx eax, word [r13 + 2]
mov edx, 4
sub ax, word [rbp - 0x70]
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 r14d, r14d
jne 0x140389812
mov dil, byte [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov r11d, 1
mov byte [rbx + 2], r11b
jmp 0x1403850e6
movsxd rcx, dword [r13 + 8]
xor r9d, r9d
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, r12
movsx r8d, word [rbx + 0x48]
call fcn.1402fb834
mov r10, rax
test rax, rax
je 0x1403898d0
mov edx, dword [r10 + 8]
mov eax, 1
mov r12, qword [rbp - 0x70]
or edx, eax
mov dword [r10 + 8], edx
mov r8d, 4
mov byte [r10 + 2], al
mov rcx, qword [rbx + 0x38]
mov qword [r10 + 0x38], rcx
mov cl, byte [rbx + 4]
mov byte [r10 + 4], cl
mov ecx, edx
mov eax, dword [rbx + 0x44]
mov dword [r10 + 0x44], eax
xor ecx, dword [rbx + 8]
and ecx, r8d
xor ecx, edx
mov dword [r10 + 8], ecx
or ecx, r12d
mov rax, qword [rbx + 0x10]
mov qword [r10 + 0x10], rax
mov dword [r10 + 8], ecx
or dword [rbx + 8], r12d
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.1403512ac
mov r14d, eax
mov dword [rsp + 0x34], eax
jmp 0x140383da3
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 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 0x140383140
jmp 0x14038471a
sub ebx, 0x79
je 0x1403874dc
sub ebx, 1
je 0x1403874a4
sub ebx, r8d
je 0x140387363
cmp ebx, 1
jne 0x140385462
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdx, qword [rax + rcx*8]
movzx eax, word [rdx + 0xc]
cmp eax, dword [r13 + 8]
jge 0x140387346
movzx eax, word [r13 + 8]
mov word [rdx + 0xc], ax
jmp 0x140383140
mov ecx, 0x9000
cmp eax, dword [r13 + 0xc]
jle 0x140385356
movzx eax, word [r13 + 0xc]
mov word [rdx + 0xc], ax
jmp 0x140385356
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 0x1c]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x30]
cmp byte [rax], r10b
jne 0x140383e17
mov rax, qword [rdi + 0x38]
mov r12d, 1
mov esi, dword [r13 + 4]
mov qword [rbp + 0x48], rax
movzx eax, word [r13 + 0x28]
mov word [rbp + 0x64], ax
movsxd rax, dword [r13 + 0x24]
imul rcx, rax, 0x38
mov byte [rbp + 0x66], r10b
add rcx, qword [rsp + 0x58]
mov qword [rbp + 0x50], rcx
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.140334210
mov ecx, dword [rbx + 0x40]
mov eax, ecx
sub rax, r12
cmp rax, 0x7ffffffe
ja 0x14038743e
xor eax, eax
mov qword [rbp + 0x178], r15
mov edx, ecx
mov word [rbp + 0x174], ax
mov rcx, rbx
mov dword [rbp + 0x180], eax
lea r8, [rbp + 0x160]
call fcn.14038b1b8
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x14038933e
mov rdx, qword [rbp + 0x168]
lea r8, [rbp + 0x48]
mov ecx, dword [rbp + 0x170]
xor r9d, r9d
call fcn.14038c298
xor r10d, r10d
mov ebx, eax
cmp dword [rbp + 0x180], r10d
je 0x140387434
lea rcx, [rbp + 0x160]
call fcn.14039a4c8
xor r10d, r10d
mov r14d, r10d
mov dword [rsp + 0x34], r10d
jmp 0x14038745d
mov ecx, 0x14eb8
call fcn.140355e94
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
mov ebx, r10d
test eax, eax
jne 0x14038933e
test ebx, ebx
jg 0x140387498
je 0x14038749c
test esi, esi
jle 0x140387822
mov rcx, qword [rdi + 0x30]
xor edx, edx
sub esi, r12d
call fcn.1403527a8
xor r10d, r10d
mov r14d, eax
test eax, eax
je 0x1403873ad
cmp eax, 0x65
jne 0x14038933e
mov r14d, r10d
mov dword [rsp + 0x34], r10d
add r13, 0x18
mov r11, r12
jmp 0x140383df2
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x1403874ca
mov rcx, r12
call fcn.140389fec
mov r9, qword [rsp + 0x40]
xor r10d, r10d
lea r11d, [r10 + 1]
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov qword [rax + rcx*8], r10
jmp 0x140383140
mov r8d, dword [r13 + 0xc]
mov r9d, 3
mov edx, dword [r13 + 4]
mov rcx, r12
call fcn.1402fb834
xor r10d, r10d
test rax, rax
je 0x1403898d0
lea r11d, [r10 + 1]
mov byte [rax + 2], r11b
mov ecx, dword [r13 + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x14051f573]
mov qword [rax + 0x30], rcx
mov byte [rax + 4], r11b
jmp 0x1403837a4
mov rdx, r13
mov rcx, r12
call fcn.14033df80
mov rcx, qword [r12 + 0x78]
mov r11d, 1
movsxd rdx, dword [r13 + 4]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r11
jmp 0x14038469b
mov eax, 0x84
cmp ebx, eax
ja 0x140387a0d
je 0x1403879bc
sub ebx, 0x7f
je 0x14038782a
sub ebx, 1
je 0x1403876d2
sub ebx, 1
je 0x140387694
sub ebx, 1
je 0x1403875b2
cmp ebx, 1
jne 0x140385462
mov rax, qword [r12 + 0x38]
add qword [r15 + 0x80], rax
mov qword [r15 + 0x78], rax
mov qword [r12 + 0x38], r10
jmp 0x140385462
cmp byte [r13 + 1], 0xfb
lea rsi, [r15 + 0x140]
mov rbx, qword [rsp + 0x50]
movsxd rcx, dword [r13 + 4]
mov r12d, dword [r13 + 8]
mov rax, qword [rbx + 0x78]
mov rdi, qword [rax + rcx*8]
jne 0x140387616
cmp qword [rsi], r10
je 0x140387616
movsx rcx, byte [rdi + 1]
mov rax, qword [r15 + 0x20]
mov r14, qword [r13 + 0x10]
shl rcx, 5
mov r15, qword [rcx + rax]
test byte [r13 + 2], r8b
je 0x14038761c
cmp byte [rdi + 4], r10b
je 0x14038761c
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.140334210
mov rax, qword [rbx + 0x30]
mov rbx, qword [rsp + 0x50]
mov qword [rdi + 0x50], rax
jmp 0x14038761c
mov r15, r10
mov r14, r10
mov dl, byte [r13 + 2]
mov rcx, qword [rdi + 0x30]
call fcn.140351338
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov qword [rdi + 0x20], r10
test eax, eax
jne 0x14038990e
lea r11d, [rax + 1]
test r11b, r12b
je 0x1403859d5
add qword [rbx + 0x38], r11
mov r10, qword [rsi]
test r10, r10
je 0x1403877fb
test r14, r14
je 0x1403877fb
test byte [r14 + 0x30], 0x80
jne 0x1403877fb
mov rax, qword [rdi + 0x50]
lea edx, [r11 + 8]
mov r9, qword [r14]
mov r8, r15
mov r15, qword [rsp + 0x60]
mov qword [rsp + 0x20], rax
mov rcx, qword [r15 + 0x138]
call r10
jmp 0x140386e26
mov rcx, qword [r12 + 0x78]
movsxd rax, dword [r13 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r13 + 8]
mov rdx, qword [rcx + rax*8]
cmp dword [r13 + 0xc], r10d
je 0x1403876bd
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + rsi]
jmp 0x1403876c0
mov r8, r10
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.140353894
jmp 0x1403837e4
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, rsi
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
cmp byte [r13 + 1], 0xfb
mov r8, qword [rcx + rsi]
mov qword [rbp + 0xc8], r8
jne 0x140387724
cmp qword [r15 + 0x140], r10
je 0x140387724
movsx rcx, byte [rbx + 1]
mov rax, qword [r15 + 0x20]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x14038772a
mov rdi, r10
mov rsi, r10
test byte [r13 + 2], r11b
je 0x140387735
add qword [r12 + 0x38], r11
mov rax, qword [rbp - 0x48]
test byte [r13 + 2], al
je 0x140387743
mov qword [r15 + 0x38], r8
mov rax, qword [rdx + 8]
movzx r8d, word [r13 + 2]
mov qword [rbp + 0xd0], rax
mov eax, dword [rdx + 0x10]
mov dword [rbp + 0xe4], eax
mov rax, qword [rbp - 0x58]
test al, r8b
je 0x14038776b
mov r9d, dword [rbx + 0x24]
jmp 0x14038776e
mov r9d, r10d
mov rax, qword [rbp - 0x68]
test word [rdx + 0x14], ax
je 0x140387782
mov eax, dword [rdx]
mov dword [rbp + 0xe8], eax
jmp 0x140387789
mov dword [rbp + 0xe8], r10d
mov qword [rbp + 0xc0], r10
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbx + 0x30]
and r8d, 0x8a
call fcn.140351dc8
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov byte [rbx + 3], r10b
mov r14d, eax
mov dword [rbx + 0x20], r10d
test eax, eax
jne 0x14038933e
test rdi, rdi
je 0x14038780d
mov al, byte [r13 + 2]
mov r8, rsi
mov r9, qword [rdi]
and al, 4
mov rcx, qword [r15 + 0x138]
neg al
mov rax, qword [rbp + 0xc8]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r15 + 0x140]
jmp 0x140384a1d
mov r14d, dword [rsp + 0x34]
xor r10d, r10d
mov r15, qword [rsp + 0x60]
jmp 0x14038379a
mov rsi, qword [rsp + 0x58]
mov dil, byte [rsp + 0x30]
mov r11d, 1
jmp 0x1403837a4
mov r11, r12
jmp 0x14038379a
mov rbx, r10
mov dword [rsp + 0x6c], r10d
mov rdx, r13
mov qword [rbp - 0x78], rbx
mov rcx, r12
call fcn.14033df80
movsxd rdx, dword [r13 + 4]
mov edi, 2
mov rcx, qword [r12 + 0x78]
mov r14, rax
mov rsi, qword [rcx + rdx*8]
test byte [rsi + 8], dil
jne 0x1403878ba
mov rcx, qword [rsi + 0x30]
lea rdx, [rsp + 0x6c]
call fcn.140352674
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14038993a
cmp dword [rsp + 0x6c], r10d
je 0x14038788b
lea eax, [rdi - 1]
mov ebx, eax
mov qword [rbp - 0x78], rax
jmp 0x1403878bd
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.140334210
mov rbx, qword [rbx + 0x30]
movabs rax, 0x7fffffffffffffff
mov qword [rbp - 0x78], rbx
cmp rbx, rax
jl 0x1403878b3
or dword [rsi + 8], edi
jmp 0x1403878ba
inc rbx
mov qword [rbp - 0x78], rbx
xor r10d, r10d
movsxd rdx, dword [r13 + 0xc]
test edx, edx
je 0x140387939
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x1403878ee
mov rax, qword [rcx + 8]
jmp 0x1403878df
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1403878d8
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x1403878f7
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x58]
mov rcx, rdi
call fcn.14038b34c
mov rax, qword [rdi]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14038981f
mov ecx, 2
test byte [rsi + 8], cl
jne 0x14038981f
inc rax
cmp rbx, rax
cmovl rbx, rax
xor r10d, r10d
mov qword [rdi], rbx
mov edi, ecx
mov qword [rbp - 0x78], rbx
test byte [rsi + 8], dil
je 0x1403879a7
mov edi, r10d
mov r12d, 1
mov ecx, dword [rbp - 0x70]
lea rdx, [rbp - 0x78]
call fcn.1402f286c
mov rbx, qword [rbp - 0x78]
lea r9, [rsp + 0x6c]
mov rcx, qword [rsi + 0x30]
movabs rax, 0x3fffffffffffffff
and rbx, rax
xor r8d, r8d
add rbx, r12
mov rdx, rbx
mov qword [rbp - 0x78], rbx
call fcn.1403536a4
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14038990e
cmp dword [rsp + 0x6c], r10d
jne 0x1403879a7
add edi, r12d
cmp edi, 0x64
jl 0x140387948
lea r14d, [rax + 0xd]
jmp 0x14038933e
mov byte [rsi + 3], r10b
mov dword [rsi + 0x20], r10d
mov qword [r14], rbx
mov r14d, dword [rsp + 0x34]
jmp 0x14038312b
mov rax, qword [r12 + 0x78]
lea r9, [rsp + 0x68]
movsxd rcx, dword [r13 + 4]
mov r8d, dword [r13 + 0x10]
mov dword [rsp + 0x68], r10d
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rdx, rax, 0x38
add rdx, rsi
call fcn.14038cbb8
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
lea r11d, [rax + 1]
cmp dword [rsp + 0x68], r10d
jne 0x140383df2
jmp 0x1403837a4
sub ebx, 0x85
je 0x140387c18
sub ebx, 1
je 0x140387b95
sub ebx, 1
je 0x140387ab4
cmp ebx, 1
jne 0x140385462
movsxd rdx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x140387a83
lea r9d, [rbx + 2]
mov r8d, r11d
mov rcx, r12
call fcn.1402fb834
xor r10d, r10d
test rax, rax
je 0x1403898d0
mov rcx, qword [rbp - 0x70]
mov r11d, ebx
or dword [rax + 8], ecx
lea rcx, [0x14051f573]
mov r9, qword [rsp + 0x40]
mov qword [rax + 0x30], rcx
mov dword [rax + 0x24], r10d
mov byte [rax + 4], r11b
mov byte [rax + 2], r11b
mov dword [rax + 0x20], r10d
cmp byte [rax], r10b
jne 0x140383140
mov rbx, qword [rax + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.1402f27a0
xor r10d, r10d
mov qword [rbx + 0x18], r10
lea r11d, [r10 + 1]
mov byte [rbx], r11b
jmp 0x1403837a4
mov rdx, r13
mov rcx, r12
call fcn.14033df80
movsxd rdx, dword [r13 + 4]
xor r10d, r10d
mov rcx, qword [r12 + 0x78]
mov rdi, rax
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], r10b
je 0x140387ae6
lea r11d, [r10 + 1]
mov word [rax + 0x14], r11w
jmp 0x14038379f
cmp byte [rbx + 3], r10b
je 0x140387af5
mov rax, qword [rbx + 0x50]
jmp 0x140387b89
mov eax, 2
cmp byte [rbx], al
jne 0x140387b33
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp + 8]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r12
mov r14d, eax
mov dword [rsp + 0x34], eax
call fcn.14038e204
xor r10d, r10d
test r14d, r14d
jne 0x14038933e
mov rax, qword [rbp + 8]
jmp 0x140387b8d
mov rax, qword [rbx + 0x30]
cmp byte [rax], r10b
je 0x140387b58
mov rcx, rbx
call fcn.14038a548
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
jmp 0x140387b60
mov r14d, r10d
mov dword [rsp + 0x34], r10d
cmp byte [rbx + 2], r10b
je 0x140387b76
mov r11d, 1
mov word [rdi + 0x14], r11w
jmp 0x14038379f
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.140334210
mov rax, qword [rbx + 0x30]
xor r10d, r10d
mov qword [rbp + 8], rax
mov qword [rdi], rax
jmp 0x140383130
mov rdx, r13
mov rcx, r12
call fcn.14033df80
mov rcx, qword [r12 + 0x78]
mov rdi, rax
movsxd rdx, dword [r13 + 4]
mov rdx, qword [rcx + rdx*8]
mov rbx, qword [rdx + 0x30]
mov rcx, rbx
call fcn.140334210
mov edx, dword [rbx + 0x40]
cmp edx, dword [r15 + 0x88]
ja 0x14038982a
mov r8, rdi
mov rcx, rbx
call fcn.14038b1b8
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
cmp dword [r13 + 0xc], r10d
jne 0x140383130
mov eax, dword [rbp - 0x60]
test word [rdi + 0x14], ax
je 0x140383130
mov rcx, rdi
call fcn.14038b37c
xor r10d, r10d
test eax, eax
jne 0x1403898d0
jmp 0x140383130
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, rsi
mov rcx, qword [rax + rcx*8]
call fcn.14038d0b8
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
movsxd rcx, dword [r13 + 0xc]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], r10d
jmp 0x140383135
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov dword [rsp + 0x68], r10d
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x30]
cmp bl, 0x89
jne 0x140387c85
or dword [rdi + 0x24], 0xffffffff
cmp byte [rcx], r10b
je 0x140383e17
lea rdx, [rsp + 0x68]
call fcn.140352674
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
mov byte [rdi + 3], r10b
mov eax, dword [rsp + 0x68]
mov byte [rdi + 2], al
mov dword [rdi + 0x20], r10d
test r14d, r14d
jne 0x14038933e
cmp dword [r13 + 8], r10d
jle 0x140383130
test eax, eax
je 0x140383130
jmp 0x140383dec
mov r14d, dword [rsp + 0x34]
xor r10d, r10d
jmp 0x140383df2
cmp ebx, 0xa0
ja 0x14038880f
je 0x1403887af
mov eax, 0x95
cmp ebx, eax
ja 0x140388386
je 0x14038825a
mov eax, 0x8f
cmp ebx, eax
ja 0x140388012
je 0x140387ff1
sub ebx, 0x8a
je 0x140387f40
sub ebx, 1
je 0x140387eec
sub ebx, 1
je 0x140387e1d
sub ebx, 1
je 0x140387d39
cmp ebx, 1
jne 0x140385462
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], r10b
je 0x140387d77
mov rcx, rbx
call fcn.14038a548
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
mov r9, qword [rsp + 0x40]
lea edx, [rax + 4]
lea r11d, [rax + 1]
jmp 0x140387d7f
mov r14d, r10d
mov dword [rsp + 0x34], r10d
cmp byte [rbx + 2], r10b
jne 0x140387dfe
mov rdx, qword [rbx + 0x30]
lea r8, [rsp + 0x78]
mov rcx, r15
mov qword [rsp + 0x78], r10
call fcn.14038a598
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
cmp byte [r13], 0x8d
jne 0x140387de9
mov rax, qword [r12 + 0x78]
lea r11d, [r14 + 1]
movsxd rcx, dword [r13 + 0xc]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x78]
mov word [rdx + 2], pe_nt_image_headers64
mov qword [rdx + 0x50], rax
mov dword [rdx + 0x20], r10d
mov rax, qword [r13 + 0x10]
mov qword [rdx + 0x10], rax
mov qword [rdx + 0x28], rbx
jmp 0x1403837a4
mov rdx, r13
mov rcx, r12
call fcn.14033df80
mov rcx, qword [rsp + 0x78]
jmp 0x14038515d
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x140385ff9
jmp 0x140383d9e
movsxd rcx, dword [r13 + 4]
lea r8, [rbp - 4]
mov rax, qword [r12 + 0x78]
lea rdx, [rbp + 0x198]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
mov rdi, qword [rbx + 0x30]
mov qword [rbp + 0x198], rax
movzx eax, word [r13 + 0xc]
mov word [rbp + 0x1b4], ax
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov byte [rbp + 0x1b6], r10b
add rcx, rsi
mov qword [rbp + 0x1a0], rcx
mov rcx, rdi
call fcn.140351a1c
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
cmp dword [rbp - 4], r10d
jne 0x140387eb6
lea edx, [rax + 4]
mov rcx, rdi
call fcn.140351338
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
mov r11d, 1
and qword [rbx + 0x20], 0
jmp 0x14038379f
cmp word [r13 + 2], r10w
je 0x140387ea6
mov eax, dword [r15 + 0x30]
mov r11d, 1
and eax, 0x10000001
cmp rax, r11
je 0x140387eac
lea r8, str.index_corruption
mov edx, 0x1715d
mov ecx, 0x30b
call fcn.140379e8c
jmp 0x1403895d8
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov rax, qword [rbp - 0x68]
add rbx, rsi
test word [rbx + 0x14], ax
je 0x140387f24
mov rcx, rbx
call fcn.14038afcc
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x14038933e
mov rdx, rbx
mov rcx, rdi
call fcn.14038d178
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jmp 0x140384360
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, rsi
test byte [r13 + 2], r11b
je 0x140387f63
add qword [r12 + 0x38], r11
mov rax, qword [rbp - 0x68]
test word [rbx + 0x14], ax
je 0x140387f83
mov rcx, rbx
call fcn.14038afcc
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x14038933e
movsxd rax, dword [rbx + 0x10]
movzx r8d, word [r13 + 2]
mov qword [rbp + 0x2a8], rax
mov rax, qword [rbx + 8]
mov qword [rbp + 0x2a0], rax
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, rsi
mov word [rbp + 0x2c0], ax
mov rax, qword [rbp - 0x58]
mov qword [rbp + 0x2b8], rcx
test al, r8b
je 0x140387fcb
mov r9d, dword [rdi + 0x24]
jmp 0x140387fce
mov r9d, r10d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x2a0]
and r8d, 0x8a
call fcn.140351dc8
xor r10d, r10d
mov dword [rdi + 0x20], r10d
jmp 0x140387f32
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], r10b
je 0x1403850e6
call fcn.140389ee8
jmp 0x1403837e4
sub ebx, 0x90
je 0x140388142
sub ebx, 1
je 0x1403880ed
sub ebx, 1
je 0x1403880b2
sub ebx, 1
je 0x140388062
cmp ebx, 1
jne 0x140385462
add byte [r15 + 0x70], r11b
xor r9d, r9d
mov rdx, qword [r13 + 0x10]
xor r8d, r8d
mov rcx, r15
mov qword [rsp + 0x20], r10
call fcn.1402f086c
dec byte [r15 + 0x70]
jmp 0x1403837e4
mov rdx, r13
mov rcx, r12
call fcn.14033df80
mov r8d, dword [r13 + 0xc]
lea rdx, [rsp + 0x68]
xor ecx, ecx
mov rbx, rax
mov dword [rsp + 0x68], ecx
movsxd rcx, dword [r13 + 4]
shl rcx, 5
add rcx, qword [r15 + 0x20]
mov rcx, qword [rcx + 8]
call fcn.140351248
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038933e
mov eax, dword [rsp + 0x68]
mov qword [rbx], rax
jmp 0x140383135
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r11b
jne 0x1403880d5
mov rdx, qword [rcx + 0x30]
mov rcx, r15
call fcn.14038cf40
jmp 0x140383da3
mov rcx, qword [rcx + 0x30]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.140350b84
jmp 0x1403837e4
movsxd rax, dword [r13 + 8]
lea r8, [rbp + 0x18]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r13 + 4]
shl rax, 5
mov qword [rbp + 0x18], r10
mov rcx, qword [rax + rcx + 8]
call fcn.140350b84
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
cmp dword [r13 + 0xc], r10d
je 0x14038813a
mov rdx, qword [rbp + 0x18]
add qword [r12 + 0x38], rdx
cmp dword [r13 + 0xc], r10d
jle 0x14038813a
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add qword [rcx + rsi], rdx
test r14d, r14d
jmp 0x1403837f0
mov rdx, r13
mov rcx, r12
call fcn.14033df80
mov r11d, 1
mov rdi, rax
mov word [rax + 0x14], r11w
mov ecx, dword [r15 + 0xe8]
add ecx, r11d
cmp dword [r15 + 0xdc], ecx
jg 0x140389855
mov rax, qword [rsp + 0x60]
xor ecx, ecx
movsxd r15, dword [r13 + 0xc]
mov esi, dword [r13 + 4]
mov r14, r15
shl r14, 5
mov rax, qword [rax + 0x20]
mov dword [rsp + 0x68], ecx
mov rbx, qword [rax + r14 + 8]
cmp byte [rbx + 0x11], cl
je 0x1403881ab
add dword [rbx + 0x14], r11d
cmp byte [rbx + 0x12], cl
jne 0x1403881ab
mov rcx, rbx
call fcn.140300378
lea r8, [rsp + 0x68]
mov edx, esi
mov rcx, rbx
call fcn.1402ffdc0
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r12d, eax
cmp byte [rbx + 0x11], r10b
je 0x1403881db
sub dword [rbx + 0x14], 1
jne 0x1403881db
mov rcx, rbx
call fcn.140397eec
xor r10d, r10d
movsxd rdx, dword [rsp + 0x68]
mov eax, 4
mov word [rdi + 0x14], ax
mov qword [rdi], rdx
test r12d, r12d
jne 0x14038990e
test edx, edx
je 0x140388b26
mov rax, qword [rsp + 0x60]
mov r9d, dword [r13 + 4]
mov r8, qword [rax + 0x20]
mov rax, qword [r14 + r8 + 0x18]
mov rcx, qword [rax + 0x10]
jmp 0x140388225
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x28], edx
jne 0x140388222
mov dword [rax + 0x28], r9d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140388215
mov rax, qword [r14 + r8 + 0x18]
mov rcx, qword [rax + 0x28]
jmp 0x140388245
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x140388242
mov dword [rax + 0x58], r9d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x140388235
lea r11d, [rcx + 1]
lea eax, [r11 + r15]
mov byte [rbp - 0x80], al
jmp 0x1403859d5
movsxd rbx, dword [r13 + 4]
lea rdi, [r12 + 0xa8]
mov rdx, qword [r13 + 0x10]
mov r8, rbx
shl r8, 5
add r8, qword [r15 + 0x20]
test rdx, rdx
jne 0x1403882bc
mov rcx, qword [r8 + 0x18]
call fcn.14037b1f0
and dword [r15 + 0x2c], 0xffffffef
mov r8, rdi
movzx r9d, word [r13 + 2]
mov edx, ebx
mov rcx, r15
call fcn.14036f51c
mov r11d, 1
mov dword [rsp + 0x34], eax
or dword [r15 + 0x2c], r11d
mov r14d, eax
and dword [r12 + 0xc8], 0xfffffffc
xor r10d, r10d
jmp 0x140388378
mov qword [rbp + 0x20], r15
lea r9, str.sqlite_master
mov dword [rbp + 0x30], ebx
mov qword [rbp + 0x28], rdi
mov dword [rbp + 0x38], 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 + 0x40], eax
mov r8, qword [r8]
call fcn.140371f40
xor edi, edi
mov rbx, rax
test rax, rax
je 0x140389873
lea eax, [rdi + 1]
mov dword [rbp + 0x34], edi
lea r9, [rbp + 0x20]
mov byte [r15 + 0xc5], al
lea r8, [fcn.14036f280]
mov dword [rbp + 0x3c], edi
mov rdx, rbx
mov qword [rsp + 0x20], rdi
mov rcx, r15
call fcn.1402f086c
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14038835f
mov r14d, dword [rbp + 0x34]
mov dword [rsp + 0x34], r14d
test r14d, r14d
jne 0x14038835f
cmp dword [rbp + 0x3c], edi
jne 0x14038835f
mov ecx, 0x17326
call fcn.140355e94
mov r14d, eax
mov dword [rsp + 0x34], eax
mov rdx, rbx
mov rcx, r15
call fcn.140357710
xor r10d, r10d
mov byte [r15 + 0xc5], r10b
lea r11d, [r10 + 1]
test r14d, r14d
jne 0x140389879
jmp 0x14038379f
mov eax, 0x9b
cmp ebx, eax
ja 0x140388673
je 0x14038853d
sub ebx, 0x96
je 0x14038852c
sub ebx, 1
je 0x1403884e8
sub ebx, 1
je 0x140388470
sub ebx, 1
je 0x140388458
cmp ebx, 1
jne 0x140385462
movsxd rcx, dword [r13 + 4]
xor r8d, r8d
mov rax, qword [r15 + 0x20]
mov rdx, qword [r13 + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x38
call fcn.14036eba8
xor r10d, r10d
mov rbx, rax
test rax, rax
je 0x140383130
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x14038843e
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.14030afe0
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14038843e
add rcx, 0x58
mov rax, qword [rcx]
jmp 0x140388434
lea rdx, [rax + 0x40]
cmp rax, rbx
mov rax, qword [rdx]
je 0x14038843b
mov rcx, rdx
test rax, rax
jne 0x140388425
jmp 0x14038843e
mov qword [rcx], rax
mov rdx, rbx
mov rcx, r15
call fcn.1403588a4
mov r11d, 1
or dword [r15 + 0x2c], r11d
jmp 0x14038469b
mov rdx, r13
mov rcx, r12
call fcn.14033df80
mov rcx, qword [rbp - 0x70]
mov word [rax + 0x14], cx
jmp 0x14038513f
movsxd rcx, dword [r13 + 4]
xor r8d, r8d
mov rax, qword [r15 + 0x20]
mov rdx, qword [r13 + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, qword [rbp - 0x48]
call fcn.14036eba8
xor r10d, r10d
mov rdx, rax
test rax, rax
je 0x1403884d9
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x1403884bf
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x1403884ce
lea r8, [rcx]
mov rcx, qword [rcx + 0x28]
cmp rcx, rdx
je 0x1403884c6
test rcx, rcx
jne 0x1403884b3
jmp 0x1403884ce
mov rax, qword [rdx + 0x28]
mov qword [r8 + 0x28], rax
mov rcx, r15
call fcn.14035fe98
xor r10d, r10d
mov r11d, 1
or dword [r15 + 0x2c], r11d
jmp 0x1403837a4
movsxd rcx, dword [r13 + 4]
xor r8d, r8d
mov rdx, qword [r13 + 0x10]
shl rcx, 5
add rcx, qword [r15 + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, qword [rbp - 0x70]
call fcn.14036eba8
xor r10d, r10d
test rax, rax
je 0x1403884d9
cmp qword [r15 + 0x300], r10
jne 0x14038851f
add dword [rax + 0x2c], 0xffffffff
jne 0x1403884d9
mov rdx, rax
mov rcx, r15
call fcn.140306b8c
jmp 0x1403884d6
mov edx, dword [r13 + 4]
mov rcx, r15
call fcn.14034eb68
jmp 0x1403837e4
movsxd rax, dword [r13 + 0xc]
lea r9, [rbp]
mov rdx, qword [r15 + 0x20]
mov r8, qword [r13 + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 4]
add r8, 4
imul rbx, rax, 0x38
movzx eax, word [r13 + 2]
add rdi, rsi
mov qword [rsp + 0x28], r9
add rbx, rsi
mov r9d, dword [r13 + 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.140352294
mov rsi, rax
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x1403885a8
mov rcx, rbx
call fcn.14039a504
mov edx, 1
jmp 0x1403885b1
mov edx, 1
mov word [rbx + 0x14], dx
mov eax, dword [rbp]
test eax, eax
je 0x1403885e7
test rsi, rsi
je 0x1403898d0
dec eax
mov r9b, dl
movsxd rcx, eax
or r8, 0xffffffffffffffff
sub qword [rdi], rcx
lea rax, [fcn.1402f27a0]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.14038b5e4
mov dil, byte [rsp + 0x30]
mov eax, 2
test byte [rbx + 0x14], al
jne 0x1403885fc
mov byte [rbx + 0x16], dil
jmp 0x14038860d
cmp byte [rbx + 0x16], dil
je 0x14038860d
mov dl, dil
mov rcx, rbx
call fcn.14038baa0
mov rsi, qword [rsp + 0x58]
xor r10d, r10d
mov eax, dword [r15 + 0x198]
test eax, eax
jne 0x1403898d7
mov rbx, qword [rsp + 0x48]
mov r12, qword [rbp - 0x10]
cmp r12, rbx
jb 0x140383130
mov rdx, qword [r15 + 0x208]
test rdx, rdx
je 0x140383130
mov eax, dword [r15 + 0x218]
mov rcx, qword [r15 + 0x210]
add rbx, rax
mov qword [rsp + 0x48], rbx
call rdx
xor r10d, r10d
test eax, eax
jne 0x140389896
cmp r12, rbx
jae 0x140388636
jmp 0x140383135
sub ebx, 0x9c
je 0x14038876f
sub ebx, 1
je 0x140388734
sub ebx, 1
je 0x1403886fd
cmp ebx, 1
jne 0x140385462
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x1403886c3
mov rax, qword [rcx + 8]
jmp 0x1403886b0
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1403886a9
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x1403886ce
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, rsi
mov rcx, rdi
call fcn.14038b34c
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.14038b34c
mov rax, qword [rbx]
xor r10d, r10d
cmp qword [rdi], rax
jge 0x140383130
jmp 0x140387b8d
mov eax, dword [r15 + 0x30]
bt rax, 0x13
movsxd rax, dword [r13 + 8]
jae 0x140388718
add qword [r15 + 0x2f8], rax
jmp 0x140385462
cmp dword [r13 + 4], r10d
je 0x14038872a
add qword [r15 + 0x2f0], rax
jmp 0x140385462
add qword [r12 + 0x50], rax
jmp 0x140385462
mov rdx, r13
mov rcx, r12
call fcn.14033df80
mov r9, qword [r12 + 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 [r13 + 4]
movsxd rcx, r8d
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
jmp 0x140385482
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
mov rax, qword [rbp - 0x58]
add rbx, rsi
add rdi, rsi
test byte [rbx + 0x14], al
jne 0x14038879e
mov rcx, rbx
call fcn.14038b51c
test eax, eax
jne 0x1403898d0
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.14037a6d8
jmp 0x140384a22
movsxd rax, dword [r13 + 4]
mov rdx, r13
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
mov rcx, r12
imul rdi, rax, 0x38
add rdi, rsi
call fcn.14033df80
mov rcx, qword [rbx + rsi]
xor r11d, r11d
mov qword [rsp + 0x78], rcx
mov r10, rax
test rcx, rcx
jle 0x140388806
mov rdx, qword [rdi]
lea rcx, [rsp + 0x78]
test rdx, rdx
cmovle rdx, r11
call fcn.14034d394
test eax, eax
jne 0x140388806
mov rax, qword [rsp + 0x78]
mov qword [r10], rax
jmp 0x140384a22
or qword [r10], 0xffffffffffffffff
jmp 0x140384a22
cmp ebx, 0xab
ja 0x140388d1c
je 0x140388c72
mov r8d, 0xa6
cmp ebx, r8d
ja 0x140388b8a
je 0x140388b30
sub ebx, 0xa1
je 0x140388951
sub ebx, 1
je 0x140388951
sub ebx, 1
je 0x1403889e9
sub ebx, 1
je 0x140388862
cmp ebx, 1
jne 0x140385462
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, rsi
mov rsi, qword [r13 + 0x10]
cmp dword [r13 + 0xc], r10d
je 0x140388907
movsxd rax, dword [r13 + 0xc]
lea rcx, [rbp + 0x1f8]
imul rdi, rax, 0x38
xor edx, edx
add rdi, qword [rsp + 0x58]
lea r8d, [rdx + 0x38]
call fcn.1403ac180
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x1403888af
mov rcx, rdi
call fcn.14039a504
jmp 0x1403888b8
mov eax, 1
mov word [rdi + 0x14], ax
mov rax, qword [rbx + 0x18]
mov qword [rbp + 0x1f8], rdi
mov qword [rbp + 0x208], rbx
mov qword [rbp + 0x200], rsi
mov cl, byte [rax + 0x64]
mov byte [rbp + 0x220], cl
lea rcx, [rbp + 0x1f8]
call qword [rsi + 0x28]
movsxd rax, dword [r13 + 0xc]
mov rsi, qword [rsp + 0x58]
mov r14d, dword [rbp + 0x21c]
mov dil, byte [rsp + 0x30]
imul rbx, rax, 0x38
mov dword [rsp + 0x34], r14d
add rbx, rsi
jmp 0x14038891e
mov rdx, rsi
mov rcx, rbx
call fcn.14038b030
mov rsi, qword [rsp + 0x58]
mov r14d, eax
mov dword [rsp + 0x34], eax
xor r10d, r10d
test r14d, r14d
jne 0x1403898b1
lea eax, [r10 + 2]
test byte [rbx + 0x14], al
je 0x1403852a4
cmp byte [rbx + 0x16], dil
je 0x140383130
mov dl, dil
mov rcx, rbx
call fcn.14038baa0
jmp 0x140383da3
movzx ebx, word [r13 + 2]
mov rcx, r15
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.1403577c8
xor r10d, r10d
mov r8, rax
test rax, rax
je 0x1403898d0
mov dil, byte [rsp + 0x30]
lea rcx, [rbx + 6]
lea rcx, [rax + rcx*8]
mov qword [rax + 0x10], r10
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 [r13 + 0x10]
mov qword [r8 + 8], rcx
mov rcx, r13
sub rcx, qword [rsp + 0x40]
imul rcx
mov qword [r8 + 0x18], r12
sar rdx, 2
mov rax, rdx
mov byte [r8 + 0x29], r10b
mov dword [r8 + 0x24], r10d
mov byte [r8 + 0x28], dil
mov byte [r8 + 0x2a], bl
shr rax, 0x3f
add rdx, rax
mov dword [r8 + 0x20], edx
mov word [r13], 0xf1a3
mov qword [r13 + 0x10], r8
movsxd rax, dword [r13 + 0xc]
xor r11d, r11d
mov rbx, qword [r13 + 0x10]
imul r8, rax, 0x38
add r8, rsi
cmp qword [rbx + 0x10], r8
je 0x140388a4d
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r8
sub rdx, 1
lea r10d, [rax - 1]
js 0x140388a4d
mov rdi, qword [rbp - 0x70]
lea r9, [rdx + 6]
lea r9, [rbx + r9*8]
lea r15d, [r11 + 1]
mov eax, dword [r13 + 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 0x140388a25
mov r15, qword [rsp + 0x60]
mov dil, byte [rsp + 0x30]
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 [r13 + 4], r11d
je 0x140388a70
call qword [rax + 0x30]
jmp 0x140388a73
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x140383130
jle 0x140388aad
mov rcx, qword [rbx]
lea edx, [r10 + 1]
call fcn.1403820b8
mov r8, rax
lea rdx, [0x140500a50]
mov rcx, r12
call fcn.140382d0c
mov r14d, dword [rbx + 0x24]
xor r10d, r10d
mov dword [rsp + 0x34], r14d
cmp byte [rbx + 0x29], r10b
je 0x140388af3
cmp dword [r13 - 0x14], r10d
je 0x140388aef
movsxd rax, dword [r13 - 0x14]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x140388ade
mov edx, 1
call fcn.14039b5a4
xor r10d, r10d
jmp 0x140388aef
mov eax, 1
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 0x14], ax
mov byte [rbx + 0x29], r10b
mov rcx, qword [rbx]
mov eax, 0x9000
test word [rcx + 0x14], ax
jne 0x140388b07
cmp dword [rcx + 0x20], r10d
je 0x140388b0f
call fcn.14039a4c8
xor r10d, r10d
mov rax, qword [rbx]
mov r11d, 1
mov word [rax + 0x14], r11w
mov dword [rbx + 0x24], r10d
jmp 0x1403865d2
mov r14d, dword [rsp + 0x34]
jmp 0x140383126
cmp dword [r13 + 4], r10d
jne 0x140388b6b
mov rcx, qword [r15 + 8]
mov edx, dword [r13 + 8]
test rcx, rcx
je 0x140383145
inc edx
and edx, 3
mov eax, dword [rcx + 0xc8]
and eax, 0xfffffffc
or eax, edx
mov dword [rcx + 0xc8], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
jne 0x140388b4c
jmp 0x140383140
mov eax, dword [r13 + 8]
add eax, r11d
xor eax, dword [r12 + 0xc8]
and eax, 3
xor dword [r12 + 0xc8], eax
jmp 0x140385462
sub ebx, 0xa7
je 0x140388c58
sub ebx, 1
je 0x140388c3e
sub ebx, 1
je 0x140388be3
cmp ebx, 1
jne 0x140385462
mov rbx, qword [r13 + 0x10]
mov rcx, r15
mov rdx, rbx
call fcn.14038d8b8
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test rbx, rbx
je 0x14038813a
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.14038e204
xor r10d, r10d
jmp 0x14038813a
mov r8b, byte [r13 + 0xc]
test r8b, r8b
jne 0x140388bfa
mov eax, dword [r15 + 0x30]
test qword [rbp - 0x68], rax
jne 0x140385462
movsxd rax, dword [r13 + 4]
mov rcx, qword [r15 + 0x20]
mov edx, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.1403526dc
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
je 0x140383135
cmp al, 6
jne 0x14038933e
mov r8, qword [r13 + 0x10]
lea rdx, str.database_table_is_locked:__s
jmp 0x140389316
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
jmp 0x1403850e6
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
jmp 0x1403850e6
xor edx, edx
lea rcx, [rbp + 0x230]
lea r8d, [rdx + 0x38]
call fcn.1403ac180
movsxd rax, dword [r13 + 8]
lea rcx, [rbp + 0x230]
imul rdx, rax, 0x38
mov qword [rbp + 0x248], r15
add rdx, rsi
call fcn.14038af48
mov edx, 1
mov dword [rsp + 0x34], eax
lea rcx, [rbp + 0x230]
mov r14d, eax
call fcn.1403820b8
xor r10d, r10d
test rax, rax
je 0x140388ce3
mov edx, dword [r13 + 4]
lea r9, [r12 + 0xa8]
mov r8, rax
mov rcx, r15
call fcn.14038dba8
mov r14d, eax
mov dword [rsp + 0x34], eax
xor r10d, r10d
mov ecx, 0x9000
test word [rbp + 0x244], cx
jne 0x140388cfa
cmp dword [rbp + 0x250], r10d
je 0x140388d0e
lea rcx, [rbp + 0x230]
call fcn.14039a4c8
xor r10d, r10d
mov ecx, 0x9000
test r14d, r14d
jne 0x14038933e
jmp 0x140383d69
mov eax, 0xb1
cmp ebx, eax
ja 0x140389082
je 0x14038905a
sub ebx, 0xac
je 0x140389037
sub ebx, 1
je 0x140388fb3
sub ebx, 1
je 0x140388f31
sub ebx, 1
je 0x140388df4
cmp ebx, 1
jne 0x140385462
mov edi, dword [r15 + 0x30]
mov eax, 0x4000000
or qword [r15 + 0x30], rax
and edi, eax
mov rax, qword [r13 + 0x10]
mov rsi, qword [rax + 0x10]
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
test byte [rbx + 0x14], r8b
jne 0x140388d8f
mov byte [rbx + 0x16], r11b
jmp 0x140388dae
cmp byte [rbx + 0x16], r11b
je 0x140388dae
mov dl, r11b
mov rcx, rbx
call fcn.14038baa0
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x14038933e
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 8]
call qword [rax + 0x98]
mov dword [rsp + 0x34], eax
mov r14d, eax
test edi, edi
jne 0x140388dcf
btr qword [r15 + 0x30], 0x1a
mov rdx, rsi
mov rcx, r12
call fcn.14038e204
and dword [r12 + 0xc8], 0xfffffffc
xor r10d, r10d
test r14d, r14d
jne 0x14038933e
jmp 0x14038312b
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, rsi
cmp byte [rdi + 2], r10b
je 0x140388e2e
mov ecx, 0x9000
test word [rbx + 0x14], cx
je 0x1403869b2
mov rcx, rbx
call fcn.14039a504
jmp 0x140384a22
mov rax, qword [rdi + 0x30]
lea rcx, [rbp + 0x268]
xor edx, edx
mov rsi, qword [rax]
lea r8d, [rdx + 0x38]
mov r14, qword [rsi]
call fcn.1403ac180
mov al, byte [rsp + 0x30]
mov ecx, 1
mov qword [rbp + 0x268], rbx
mov byte [rbp + 0x290], al
test byte [r13 + 2], cl
je 0x140388e8a
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x140388e7b
mov rcx, rbx
call fcn.14039a504
jmp 0x140388e7f
mov word [rbx + 0x14], cx
xor ecx, ecx
mov eax, 0x401
mov dword [rbx], ecx
jmp 0x140388e99
movzx eax, word [rbx + 0x14]
mov edx, 0xf241
and ax, dx
or ax, cx
mov word [rbx + 0x14], ax
lea rdx, [rbp + 0x268]
mov r8d, dword [r13 + 8]
mov rcx, qword [rdi + 0x30]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r12
mov r14d, eax
mov dword [rsp + 0x34], eax
call fcn.14038e204
xor eax, eax
cmp dword [rbp + 0x28c], eax
jle 0x140388ef5
lea edx, [rax + 1]
mov rcx, rbx
call fcn.1403820b8
mov r8, rax
lea rdx, [0x140500a50]
mov rcx, r12
call fcn.140382d0c
mov r14d, dword [rbp + 0x28c]
mov dword [rsp + 0x34], r14d
mov dil, byte [rsp + 0x30]
mov eax, 2
test byte [rbx + 0x14], al
jne 0x140388f0a
mov byte [rbx + 0x16], dil
jmp 0x140388f1b
cmp byte [rbx + 0x16], dil
je 0x140388f1b
mov dl, dil
mov rcx, rbx
call fcn.14038baa0
xor r10d, r10d
test r14d, r14d
jne 0x14038933e
mov rsi, qword [rsp + 0x58]
jmp 0x140383135
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbp - 0x58]
call fcn.1402f2708
mov rdi, rax
test rax, rax
je 0x1403898d0
mov rcx, qword [rbx + 0x30]
mov qword [rax], rcx
movsxd rcx, dword [r13 + 0xc]
imul rdx, rcx, 0x38
mov rcx, r12
add rdx, rsi
mov qword [rax + 8], rdx
mov rdx, r13
call fcn.14033df80
mov rbx, rax
mov eax, 1
mov rcx, rbx
mov word [rbx + 0x14], ax
call fcn.14039a4c8
lea rax, str.ValueList
mov qword [rbx + 8], rdi
mov qword [rbx], rax
mov eax, 0x1a01
mov word [rbx + 0x14], ax
lea rax, [fcn.1402f27a0]
mov qword [rbx + 0x30], rax
mov byte [rbx + 0x17], 0x70
jmp 0x140384a22
mov rax, qword [r13 + 0x10]
mov qword [rbp - 0x18], r10
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1403895b8
mov rdi, qword [rbx]
test rdi, rdi
je 0x1403895b8
lea rdx, [rbp - 0x18]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r12
mov r14d, eax
mov dword [rsp + 0x34], eax
call fcn.14038e204
xor r10d, r10d
test r14d, r14d
jne 0x14038933e
mov rax, qword [rbp - 0x18]
lea r9d, [r14 + 2]
xor r8d, r8d
mov rcx, r12
mov qword [rax], rbx
mov edx, dword [r13 + 4]
call fcn.1402fb834
mov rcx, qword [rbp - 0x18]
xor r10d, r10d
test rax, rax
je 0x1403898cd
lea r11d, [r14 + 1]
mov qword [rax + 0x30], rcx
add dword [rbx + 8], r11d
jmp 0x14038379f
add dword [r15 + 0xe8], r11d
mov rcx, r15
mov r8, qword [r13 + 0x10]
mov edx, dword [r13 + 4]
call fcn.14038dcb8
dec dword [r15 + 0xe8]
jmp 0x1403837e4
mov rdx, r13
mov rcx, r12
call fcn.14033df80
mov rcx, qword [r15 + 0x20]
movsxd rdx, dword [r13 + 4]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x40]
jmp 0x140385146
sub ebx, 0xb2
je 0x140389239
sub ebx, 1
je 0x140389222
sub ebx, 1
je 0x1403891e5
cmp ebx, 1
jne 0x140385462
mov al, byte [r15 + 0x6e]
test al, 0x41
je 0x140389182
cmp byte [r12 + 0xc3], 0xfe
je 0x140389182
mov r9, qword [r13 + 0x10]
test r9, r9
jne 0x1403890de
mov r9, qword [r12 + 0xf8]
test r9, r9
je 0x14038917d
test al, 0x40
je 0x14038910b
mov rdx, r9
mov rcx, r12
call fcn.140389abc
mov rcx, qword [r15 + 0x100]
mov rdx, rax
mov rbx, rax
call qword [r15 + 0xf8]
mov rcx, rbx
call fcn.1402f27a0
jmp 0x14038916b
cmp dword [r15 + 0xe4], r11d
jle 0x140389157
mov r8, r9
lea rdx, str.____s
mov rcx, r15
call fcn.140371f40
mov rdx, qword [r15 + 0x100]
mov r9, rax
mov r8, r12
mov ecx, 1
mov rbx, rax
call qword [r15 + 0xf8]
xor r10d, r10d
test rbx, rbx
je 0x14038916e
mov rdx, rbx
mov rcx, r15
call fcn.140357710
jmp 0x14038916b
mov rdx, qword [r15 + 0x100]
mov r8, r12
mov ecx, r11d
call qword [r15 + 0xf8]
xor r10d, r10d
mov r11d, 1
mov ecx, 0x9000
lea edx, [r11 + 3]
mov r9, qword [rsp + 0x40]
mov eax, dword [r13 + 4]
cmp eax, dword [0x14051a0c8]
jl 0x1403891d2
cmp byte [r13], 0xb5
je 0x140385462
mov edx, r11d
cmp dword [r12 + 0x90], r11d
jle 0x1403891cf
mov eax, 0x18
mov rcx, qword [r12 + 0x88]
cmp byte [rax + rcx], 0xe
jne 0x1403891be
mov dword [rax + rcx + 4], r10d
add edx, r11d
add rax, 0x18
cmp edx, dword [r12 + 0x90]
jl 0x1403891ab
mov eax, r10d
inc eax
mov dword [r13 + 4], eax
add dword [r12 + 0xec], r11d
jmp 0x14038471a
movsxd rax, dword [r13 + 4]
mov rdx, r13
mov rcx, rsi
imul rbx, rax, 0x38
call fcn.14030aa64
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 0x140383da3
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + rsi + 0x14], ax
jmp 0x1403850e6
mov rdx, r13
mov rcx, r12
call fcn.14033df80
movsxd rdx, dword [r13 + 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 [r13 + 0xc]
test edx, edx
je 0x140389272
mov rcx, qword [rbx + 8]
mov edi, dword [rcx + 0x40]
cmp edi, edx
cmovb edi, edx
cmp byte [rbx + 0x11], r10b
je 0x140389291
mov eax, 1
add dword [rbx + 0x14], eax
cmp byte [rbx + 0x12], r10b
jne 0x140389291
mov rcx, rbx
call fcn.140300378
xor r10d, r10d
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x1403892a2
mov dword [rcx + 0xbc], edi
mov edi, dword [rcx + 0xbc]
cmp byte [rbx + 0x11], r10b
je 0x1403892bf
sub dword [rbx + 0x14], 1
jne 0x1403892bf
mov rcx, rbx
call fcn.140397eec
xor r10d, r10d
mov qword [rsi], rdi
jmp 0x14038312b
mov r14d, dword [rsp + 0x34]
mov r13, rdx
jmp 0x140384cfa
mov r14d, dword [rsp + 0x34]
mov r15, qword [rsp + 0x60]
jmp 0x1403869b7
mov r15, qword [rsp + 0x60]
jmp 0x1403850e6
xor r10d, r10d
jmp 0x140383d6e
cmp ebx, ecx
lea rax, str.into
lea r8, str.out_of
mov r14d, 1
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov rcx, r12
call fcn.140382d0c
mov r12, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x140389918
and eax, 0x100000
neg rax
sbb r14d, r14d
and r14d, 0xfffffffd
add r14d, 0xb
mov r12, qword [rsp + 0x38]
jmp 0x140389918
mov rbx, qword [rsp + 0x50]
mov eax, 5
lea edi, [rax - 3]
cmp r14b, al
jne 0x140389946
mov rcx, r13
mov dword [r12 + 0x34], r14d
sub rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x30], edx
jmp 0x140389462
movzx eax, byte [r15 + 0x65]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
cmp ebx, eax
je 0x1403894d5
test ecx, ecx
je 0x1403893c0
mov edx, 0x204
mov rcx, r15
call fcn.14037a50c
mov edi, 1
mov al, dil
jmp 0x140389402
test ebx, ebx
je 0x1403893e7
cmp dword [r15 + 0xe0], r10d
jle 0x1403893e7
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r12
call fcn.140382d0c
mov r14d, 5
jmp 0x14038931e
mov edx, r11d
mov rcx, r12
call fcn.140382670
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x140389458
mov al, bl
lea edi, [r14 + 1]
mov rcx, r12
mov byte [r15 + 0x65], al
call fcn.14038a110
mov r8d, 5
cmp eax, r8d
jne 0x1403894b9
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
mov r14d, r8d
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, edi
sub al, bl
mov dword [r12 + 0x30], edx
mov byte [r15 + 0x65], al
mov dword [r12 + 0x34], r8d
xor r10d, r10d
mov rbx, qword [rsp + 0x50]
mov edi, 2
mov rcx, qword [rsp + 0x60]
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0x48]
mov rax, qword [rbp - 0x10]
cmp rax, r13
jb 0x140389a66
mov rdx, qword [rcx + 0x208]
cmp rdx, r10
je 0x140389a66
mov eax, dword [rcx + 0x218]
mov rcx, qword [rcx + 0x210]
add r13, rax
call rdx
mov rcx, qword [rsp + 0x60]
xor r10d, r10d
test eax, eax
je 0x140389471
or r13, 0xffffffffffffffff
lea r14d, [r10 + 9]
jmp 0x140389927
mov rcx, r15
call fcn.140354228
mov eax, dword [r12 + 0x34]
neg eax
sbb r14d, r14d
and r14d, 0xffffff9c
add r14d, 0x65
jmp 0x140389455
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r12
cmovne rdx, rax
test ebx, ebx
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove rdx, rax
call fcn.140382d0c
mov r14d, 1
jmp 0x14038931e
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x1403893d4
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x1403893d4
mov rbx, qword [rsp + 0x50]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r12, qword [rsp + 0x38]
mov r14d, r8d
mov rcx, r12
sub rcx, qword [rsp + 0x40]
imul rcx
mov rcx, qword [rsp + 0x60]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor r10d, r10d
mov dword [rbx + 0x30], edx
mov byte [rcx + 0x65], r10b
mov dword [rbx + 0x34], r8d
lea edi, [r10 + 2]
jmp 0x14038946c
mov r14d, 0x65
jmp 0x140389458
mov r8, rsi
lea rdx, str.no_such_savepoint:__s
mov rcx, r12
call fcn.140382d0c
jmp 0x1403894fe
movzx eax, byte [r13 + 2]
mov r8d, 5
cmp word [r13 + 2], r8w
lea edi, [r8 - 3]
cmove eax, edi
mov byte [r12 + 0xc2], al
mov r12, qword [rsp + 0x38]
jmp 0x14038991d
mov r14d, 6
jmp 0x14038933e
mov r14d, 0x14
jmp 0x14038933e
mov ecx, 0x1722a
call fcn.140355e94
mov r14d, eax
jmp 0x14038931e
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r12
mov r14d, r11d
call fcn.140382d0c
jmp 0x14038931e
mov ecx, dword [r13 + 4]
mov dword [r12 + 0x34], ecx
mov al, byte [r13 + 8]
mov byte [r12 + 0xc2], al
test ecx, ecx
je 0x1403896c0
mov rcx, r12
cmp word [r13 + 2], r10w
je 0x140389668
movzx r8d, word [r13 + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0x4f7880]
call fcn.140382d0c
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x140389678
mov r8, qword [r12 + 0xa8]
lea rdx, str._z:__s
mov rcx, r15
call fcn.140371f40
mov qword [r12 + 0xa8], rax
jmp 0x140389678
mov r8, qword [r13 + 0x10]
lea rdx, [0x140500a50]
call fcn.140382d0c
mov r9, qword [r12 + 0xf8]
mov rcx, r13
sub rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r12 + 0xa8]
mov ecx, dword [r13 + 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.1402e3db0
mov rcx, r12
call fcn.14038a110
mov rbx, qword [rsp + 0x50]
mov r14d, eax
mov rcx, qword [rsp + 0x60]
mov eax, 5
mov r13, qword [rsp + 0x48]
lea edi, [rax - 3]
cmp r14d, eax
jne 0x1403896ee
mov dword [r12 + 0x34], eax
jmp 0x140389700
mov eax, dword [r12 + 0x34]
neg eax
sbb r14d, r14d
and r14d, 0xffffff9c
add r14d, 0x65
mov r12, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x140389471
mov eax, dword [r12 + 0x2c]
add eax, r8d
or eax, r11d
mov dword [r12 + 0x2c], eax
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, rsi
mov qword [r12 + 0xa0], rcx
cmp byte [r15 + 0x67], r10b
jne 0x1403898d0
test byte [r15 + 0x6e], dl
je 0x140389764
mov rdx, qword [r15 + 0x100]
xor r9d, r9d
mov r8, r12
lea ecx, [r9 + 4]
call qword [r15 + 0xf8]
mov r9, qword [rsp + 0x40]
xor r10d, r10d
lea r11d, [r10 + 1]
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r9
mov r14d, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r11d
mov dword [r12 + 0x30], edx
jmp 0x140389458
lea r10, [0x140000000]
movsxd rax, r14d
and edx, 0x3f
lea rcx, [rax + rax*2]
mov r9d, dword [rdi + rcx*8 + 8]
mov rax, qword [rdi + rcx*8]
mov rcx, r12
movzx r8d, byte [rdx + r10 + 0x4f6fc0]
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 + 0x51a3b0]
mov qword [rsp + 0x20], rax
mov r9, qword [r10 + r9*8 + 0x51a0f8]
call fcn.140382d0c
mov r14d, 0xc13
jmp 0x14038931e
mov ecx, 0x164a2
jmp 0x1403895d3
mov r14d, 0x204
jmp 0x14038933e
mov rcx, qword [rdi]
call fcn.140350c40
jmp 0x14038931e
mov r14d, 0xd
jmp 0x14038931e
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x50]
lea rdx, str.string_or_blob_too_big
mov rcx, rbx
call fcn.140382d0c
mov r14d, 0x12
xor r10d, r10d
lea edi, [r14 - 0x10]
jmp 0x140389922
mov edi, 2
xor r10d, r10d
mov byte [r12 + 0xc2], dil
mov r12, qword [rsp + 0x38]
lea r14d, [rdi + 4]
jmp 0x14038991d
mov r14d, 7
mov rcx, r15
call fcn.140379eb8
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0x48]
cmp r14d, 7
je 0x1403898ed
xor r10d, r10d
jmp 0x1403898a5
or r13, 0xffffffffffffffff
mov r12, qword [rsp + 0x38]
mov r14d, 9
mov rbx, qword [rsp + 0x50]
mov edi, 2
jmp 0x140389927
mov edx, 1
mov rcx, rbx
call fcn.1403820b8
mov r8, rax
lea rdx, [0x140500a50]
jmp 0x140389316
call qword [rdi + 0x38]
mov r12, qword [rsp + 0x38]
jmp 0x1403898e8
mov r13, qword [rsp + 0x48]
jmp 0x14038989a
mov r12, qword [rsp + 0x38]
mov r15, qword [rsp + 0x60]
mov r13, qword [rsp + 0x48]
mov rcx, r15
call fcn.140372774
mov rcx, qword [rsp + 0x50]
lea rdx, str.out_of_memory
call fcn.140382d0c
mov r14d, 7
jmp 0x140389891
mov r12, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x34]
mov edi, 2
mov rbx, qword [rsp + 0x50]
mov r13, qword [rsp + 0x48]
mov r15, qword [rsp + 0x60]
cmp byte [r15 + 0x67], r10b
je 0x14038994d
mov r14d, 7
jmp 0x140389966
mov r12, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x34]
jmp 0x14038991d
mov r12, qword [rsp + 0x38]
jmp 0x140389922
cmp r14d, 0x210a
jne 0x140389966
mov ecx, 0x17abe
call fcn.140355e94
mov r14d, eax
xor r10d, r10d
cmp qword [rbx + 0xa8], r10
jne 0x140389992
cmp r14d, 0xc0a
je 0x140389992
mov ecx, r14d
call fcn.1403598e4
mov r8, rax
lea rdx, [0x140500a50]
mov rcx, rbx
call fcn.140382d0c
mov edx, r14d
mov dword [rbx + 0x34], r14d
mov rcx, r15
call fcn.14037eb10
mov r9, qword [rbx + 0xf8]
mov rcx, r12
sub rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [rbx + 0xa8]
mov ecx, r14d
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.1402e3db0
cmp byte [rbx + 0xc5], dil
jne 0x1403899f7
mov rcx, rbx
call fcn.14038a110
cmp r14d, 0xc0a
jne 0x140389a35
mov rcx, r15
call fcn.140372774
xor r10d, r10d
mov rcx, r15
movzx eax, byte [rbp - 0x80]
mov r11d, 1
mov r14d, r11d
test al, al
je 0x140389471
mov edx, eax
sub edx, r11d
call fcn.140379f44
mov rcx, r15
jmp 0x140389705
cmp r14d, 0xb
jne 0x140389a08
xor r10d, r10d
mov rcx, r15
cmp byte [r15 + 0x65], r10b
jne 0x140389a0e
movabs rax, 0x200000000
or qword [r15 + 0x30], rax
jmp 0x140389a0e
mov rbx, qword [rsp + 0x50]
mov edi, 2
jmp 0x140389467
add dword [rbx + 0xe4], eax
cmp dword [rbx + 0xd0], r10d
je 0x140389a7d
mov rcx, rbx
call fcn.14039a3f0
mov eax, r14d
mov rcx, qword [rbp + 0x2e0]
xor rcx, rsp
call fcn.1403ab020
lea r11, [rsp + 0x410]
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