Function at 0x140115d18
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 [0x14017d2d8]
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.140115c44
xor r10d, r10d
cmp qword [r15 + 0x208], r10
je 0x140115dcf
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 0x140115dd3
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 0x14011c8ac
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 0x14011c85e
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 0x140118779
je 0x140118662
cmp ebx, 0x2c
ja 0x140117664
je 0x1401174d8
cmp ebx, 0x16
ja 0x140116de4
je 0x140116c2b
cmp ebx, 0xb
ja 0x140116a34
je 0x1401169f1
cmp ebx, eax
ja 0x1401167b7
je 0x140116776
test ebx, ebx
je 0x1401163ab
sub ebx, 1
je 0x14011c34f
sub ebx, 1
je 0x140116207
sub ebx, 1
je 0x140116123
cmp ebx, 1
jne 0x14011841e
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
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 0x140115f2e
mov eax, edx
jmp 0x140115f42
mov rax, qword [rdi + 0x50]
cmp qword [rax], rdx
je 0x140115f3d
cmp qword [rdi + 0x60], rdx
jg 0x140115f2a
mov eax, 1
test eax, eax
mov ebx, esi
cmovne ebx, ecx
lea rcx, [0x14015d18c]
cmp byte [rdi + 0x13], dl
jne 0x140115f5c
mov rcx, qword [rdi + 0xd8]
mov r8d, 5
cmp ebx, r8d
jne 0x140115fd6
test rcx, rcx
je 0x140115fa1
call sub.api_ms_win_crt_string_l1_1_0.dll_strlen
test eax, 0x3fffffff
je 0x140115fa1
mov rax, qword [rdi + 0x48]
xor edx, edx
mov rcx, qword [rax]
cmp byte [rdi + 0x11], dl
jne 0x140115fa1
cmp byte [rdi + 8], dl
jne 0x140115f98
lea eax, [rdx + 2]
cmp dword [rcx], eax
jl 0x140115fa1
cmp qword [rcx + 0x68], rdx
je 0x140115fa1
mov ecx, 5
mov ebx, ecx
jmp 0x140115fdb
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.140106e44
mov ecx, 0x2202
mov word [r14 + 0x14], cx
cmp eax, 6
jne 0x14011607a
mov ecx, r15d
jmp 0x14011608b
mov ecx, 5
cmp ebx, esi
je 0x140115fa3
cmp esi, ecx
je 0x140115fe7
cmp ebx, ecx
jne 0x140115fa3
mov rax, qword [rsp + 0x60]
cmp byte [rax + 0x65], dl
je 0x14011c2b4
mov r11d, 1
cmp dword [rax + 0xdc], r11d
jg 0x14011c2b4
cmp esi, ecx
jne 0x140116030
mov rdx, rax
mov rcx, rdi
call fcn.140106040
mov dword [rsp + 0x34], eax
mov r12d, eax
test eax, eax
jne 0x140115fa8
mov edx, ebx
mov rcx, rdi
call fcn.140106e44
xor edx, edx
jmp 0x140116054
mov eax, 4
cmp esi, eax
jne 0x140116046
lea edx, [rax - 2]
mov rcx, rdi
call fcn.140106e44
xor edx, edx
mov r12d, dword [rsp + 0x34]
test r12d, r12d
jne 0x140115fa8
mov r8d, 5
mov rcx, r15
cmp ebx, r8d
sete dl
lea eax, [r8 - 4]
add edx, eax
call fcn.1400e65a0
mov r12d, eax
mov dword [rsp + 0x34], eax
jmp 0x140115fa8
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x15ffb8]
mov qword [r14 + 8], rcx
test rcx, rcx
jne 0x140116099
mov eax, r15d
jmp 0x1401160a3
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 0x1401160c3
mov byte [r14 + 0x16], al
jmp 0x1401160d1
cmp al, cl
je 0x1401160d1
mov dl, al
mov rcx, r14
call fcn.14011ea68
mov r14d, dword [rsp + 0x34]
xor r10d, r10d
test r14d, r14d
jne 0x14011c56d
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 0x140115e63
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.1400e6f08
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
je 0x14011618b
lea r8d, [r10 + 5]
cmp eax, r8d
jne 0x14011c2fd
lea r11d, [r10 + 1]
mov dword [rsp + 0x34], r10d
mov dword [rbp + 0x2d0], r11d
mov r14d, r10d
jmp 0x140116191
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 0x1401161d0
mov rdx, rax
mov rcx, rbx
call fcn.14012e53c
mov r11d, 1
jmp 0x1401161d8
mov qword [rbx], rax
mov word [rbx + 0x14], r15w
add rdi, r11
add rbx, 0x38
cmp rdi, rsi
jl 0x1401161ae
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 0x140116106
mov edx, dword [r13 + 8]
mov ebx, r10d
mov dword [rsp + 0x6c], ebx
test edx, edx
je 0x14011622d
mov rax, qword [r15 + 0x30]
movabs rcx, 0x200100000
test rcx, rax
jne 0x14011c2ea
movsxd rsi, dword [r13 + 4]
shl rsi, 5
add rsi, qword [r15 + 0x20]
mov rdi, qword [rsi + 8]
test rdi, rdi
je 0x14011630a
lea r8, [rsp + 0x6c]
mov rcx, rdi
call fcn.1400e382c
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c307
mov rax, qword [rbp - 0x48]
test byte [r12 + 0xc8], al
je 0x1401163a2
cmp dword [r13 + 8], r10d
je 0x1401163a2
lea eax, [r14 + 1]
cmp byte [r15 + 0x65], r10b
je 0x140116298
cmp dword [r15 + 0xdc], eax
jle 0x1401163a2
mov r8d, dword [r12 + 0x40]
test r8d, r8d
jne 0x1401162bc
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.140121454
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x1401162ee
mov edx, dword [r12 + 0x40]
mov rcx, rdi
call fcn.1400e37bc
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 0x14011c2fd
cmp word [r13 + 2], r10w
je 0x1401160e7
cmp ebx, dword [r13 + 0xc]
jne 0x140116335
mov rcx, qword [rsi + 0x18]
mov eax, dword [r13 + 0x10]
cmp dword [rcx + 4], eax
je 0x1401160e7
mov rdx, qword [r12 + 0xa8]
test rdx, rdx
je 0x14011634a
mov rcx, r15
call fcn.1400ea6c0
lea rdx, str.database_schema_has_changed
mov rcx, r15
call fcn.1400ea970
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 0x140116381
mov rcx, r15
call fcn.14010cefc
mov eax, dword [r12 + 0xc8]
mov r14d, 0x11
and eax, 0xffffffed
or eax, 1
mov dword [r12 + 0xc8], eax
jmp 0x14011c2dd
mov ebx, dword [rsp + 0x6c]
jmp 0x140116313
mov edi, dword [r13 + 4]
mov rsi, qword [r13 + 0x10]
mov dword [rsp + 0x68], edi
test edi, edi
jne 0x14011648f
cmp dword [r15 + 0xe0], r10d
jg 0x14011c4c8
test rsi, rsi
jne 0x1401163d6
mov edi, r10d
jmp 0x1401163e7
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.140121454
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
mov edx, edi
mov rcx, r15
add rdx, 0x21
call fcn.1400ea778
xor r10d, r10d
mov rbx, rax
test rax, rax
je 0x14011673d
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rdi + 1]
call sub.VCRUNTIME140.dll_memcpy
xor r10d, r10d
lea eax, [r14 + 1]
cmp byte [r15 + 0x65], r10b
je 0x14011645b
mov byte [r15 + 0x65], r10b
mov byte [r15 + 0x6d], al
jmp 0x140116462
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 0x14011673d
mov r15, qword [r15 + 0x2d8]
mov ebx, r10d
test r15, r15
je 0x14011c537
mov rcx, qword [r15]
mov rdx, rsi
call fcn.140111a94
xor r10d, r10d
test eax, eax
je 0x1401164bd
mov r15, qword [r15 + 0x18]
add ebx, r11d
jmp 0x140116499
mov r8, qword [rsp + 0x60]
cmp dword [r8 + 0xe0], r10d
jle 0x1401164d4
cmp edi, r11d
je 0x14011c4d4
lea rsi, [r15 + 0x18]
mov qword [rsp + 0x78], rsi
cmp qword [rsi], r10
jne 0x140116560
cmp byte [r8 + 0x6d], r10b
je 0x140116560
mov r13d, r11d
cmp edi, r11d
jne 0x140116563
mov edx, r11d
mov rcx, r12
call fcn.14011562c
mov rcx, qword [rsp + 0x60]
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x14011ca16
lea eax, [r14 + 1]
mov byte [rcx + 0x65], al
mov rcx, r12
call fcn.14011d0d0
lea r8d, [r14 + 5]
cmp eax, r8d
je 0x14011c4e0
mov r14d, dword [r12 + 0x34]
xor r10d, r10d
mov r8, qword [rsp + 0x60]
mov dword [rsp + 0x34], r14d
test r14d, r14d
je 0x140116547
mov byte [r8 + 0x65], r10b
jmp 0x14011654b
mov byte [r8 + 0x6d], r10b
mov r11d, 1
lea r12, [r8 + 0x2e8]
mov r13d, r11d
jmp 0x140116677
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 0x1401165d6
mov r14d, dword [r8 + 0x2c]
mov esi, r10d
and r14d, r11d
cmp dword [r8 + 0x28], r10d
jle 0x1401165d9
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.1400e6bac
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14011c8cd
mov r8, qword [rsp + 0x60]
lea r11d, [rax + 1]
add rbx, qword [rbp - 0x48]
add esi, r11d
cmp esi, dword [r8 + 0x28]
jl 0x140116595
mov eax, dword [rsp + 0x6c]
jmp 0x1401165d9
mov r14d, r10d
mov edi, r10d
cmp dword [r8 + 0x28], r10d
jle 0x140116625
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.1400e6024
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14011c8cd
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 0x1401165e9
test r14d, r14d
je 0x140116665
mov rcx, qword [r8 + 8]
jmp 0x140116646
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 0x140116630
mov rcx, r8
call fcn.14010ce70
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 0x14011c2fd
mov rcx, qword [r8 + 0x2d8]
cmp rcx, r15
je 0x1401166be
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r8
mov qword [r8 + 0x2d8], rax
call fcn.1400ea6c0
dec dword [r12]
mov r8, qword [rsp + 0x60]
mov rcx, qword [r8 + 0x2d8]
cmp rcx, r15
jne 0x14011668c
xor r10d, r10d
lea r11d, [r10 + 1]
cmp edi, r11d
jne 0x1401166eb
mov rax, qword [rsi]
mov rdx, r15
mov r15, qword [rsp + 0x60]
mov rcx, r15
mov qword [r8 + 0x2d8], rax
call fcn.1400ea6c0
xor r10d, r10d
test r13d, r13d
jne 0x140116733
dec dword [r12]
jmp 0x140116714
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 0x140116714
mov eax, 2
cmp edi, eax
jne 0x14011676a
mov r8d, ebx
mov edx, edi
mov rcx, r15
call fcn.140121454
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
mov r12, qword [rsp + 0x50]
mov r13, qword [rsp + 0x38]
mov r11d, 1
mov eax, 3
cmp byte [r12 + 0xc5], al
je 0x14011c52c
mov rsi, qword [rsp + 0x58]
mov dil, byte [rsp + 0x30]
mov r9, qword [rsp + 0x40]
jmp 0x1401160fc
mov r13, qword [rsp + 0x38]
mov r12, qword [rsp + 0x50]
jmp 0x140116743
cmp dword [r13 + 8], r10d
je 0x140116789
movsxd rax, dword [r13 + 8]
imul r9, rax, 0x38
add r9, rsi
jmp 0x14011678c
mov r9, r10
mov r8d, dword [r13 + 4]
lea rcx, [r12 + 0xa8]
mov rdx, r15
call fcn.14010dbc4
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
mov r14d, eax
jne 0x14011c2fd
jmp 0x1401160f1
sub ebx, 6
je 0x140116934
sub ebx, 1
je 0x14011683f
sub ebx, 1
je 0x140117e63
sub ebx, 1
je 0x140116805
cmp ebx, 1
jne 0x14011841e
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 0x1401180a2
jmp 0x140116db8
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 0x140117e63
mov qword [rbp + 0x10], r10
cmp byte [r15 + 0x67], r10b
jne 0x14011c88f
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14011c577
mov r10, qword [rbx]
xor r11d, r11d
test r10, r10
je 0x14011c577
movsxd rdx, dword [r13 + 8]
cmp qword [r10 + 0x68], r11
je 0x14011c2ac
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 0x1401168aa
lea r11d, [rax + 1]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r11
cmp rax, rdx
jl 0x14011689a
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.1401211cc
xor r10d, r10d
test r14d, r14d
jne 0x140116902
cmp dword [r13 + 4], r10d
je 0x1401168e9
mov rax, qword [rbp + 0x10]
mov qword [r15 + 0x38], rax
mov r11d, 1
add qword [r12 + 0x38], r11
test r14d, r14d
jne 0x14011c2fd
jmp 0x14011675b
cmp r14b, 0x13
jne 0x1401168e9
mov rax, qword [r13 + 0x10]
cmp byte [rax + 0x1c], r10b
je 0x1401168e9
mov edx, 4
cmp word [r13 + 2], dx
jne 0x14011c54e
mov r14d, r10d
mov dword [rsp + 0x34], r10d
mov dil, byte [rsp + 0x30]
jmp 0x140119d9d
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 0x14011698f
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 0x140116976
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.1401211cc
xor r10d, r10d
test edi, edi
jne 0x14011c8d2
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 0x140116ba7
mov r15, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
jmp 0x14011692a
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 0x1401160fc
cmp ebx, 0x11
ja 0x140116c09
je 0x140116bd8
sub ebx, 0xc
je 0x140116b6d
sub ebx, 1
je 0x140116b47
sub ebx, 1
je 0x140116abd
sub ebx, 1
je 0x140116a95
cmp ebx, 1
jne 0x14011841e
cmp dword [r13 + 0xc], r10d
mov edx, r10d
movsxd rax, dword [r13 + 4]
sete dl
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140115510
xor r10d, r10d
lea edx, [rbx + 3]
test eax, eax
je 0x140116ba7
jmp 0x140119d9d
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140115510
xor r10d, r10d
lea edx, [r10 + 4]
test eax, eax
jne 0x140116ba7
jmp 0x140119d9d
mov r8, qword [r12 + 0x108]
test r8, r8
je 0x140116b1e
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 0x140116dae
bts eax, edx
mov edx, 4
mov byte [rcx + r9], al
mov r9, qword [rsp + 0x40]
jmp 0x140116b33
mov rcx, qword [r12 + 0x88]
mov eax, dword [r13 + 4]
cmp dword [rcx + 4], eax
je 0x140116db8
mov rax, qword [r12 + 0x88]
mov ecx, dword [rax + 4]
mov dword [r13 + 4], ecx
jmp 0x1401180a2
mov r8d, dword [rsp + 0x70]
test r8d, r8d
jns 0x140116b57
mov eax, dword [r13 + 4]
jmp 0x140116b63
jne 0x140116b5f
mov eax, dword [r13 + 8]
jmp 0x140116b63
mov eax, dword [r13 + 0xc]
sub eax, r11d
cdqe
jmp 0x14011809a
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, rsi
movzx eax, word [rbx + 0x14]
test dl, al
jne 0x140116bc2
mov r8b, dil
mov dl, 0x43
mov rcx, rbx
call fcn.140090108
movzx eax, word [rbx + 0x14]
mov edx, 4
xor r10d, r10d
test dl, al
jne 0x140116bb2
cmp dword [r13 + 8], r10d
je 0x14011c582
mov r11d, 1
jmp 0x140116db3
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 0x14011841e
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
movzx eax, word [rcx + rsi + 0x14]
test r11b, al
jne 0x140116db8
and eax, 0x3f
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x15e0e0]
cmp eax, dword [r13 + 0xc]
jmp 0x140117c0a
mov ecx, ebx
sub ecx, 0x12
je 0x140116d71
sub ecx, 1
je 0x140116cd9
sub ecx, 1
je 0x140116c2b
cmp ecx, 1
jne 0x1401180a2
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 0x140116f14
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 0x140116c74
xor edx, edx
mov rcx, rdi
call fcn.140090170
mov rcx, rdi
call fcn.14011d680
movzx ecx, word [rdi + 0x14]
mov r15, rax
mov word [rdi + 0x14], r14w
test cl, 0x24
jne 0x140116ee3
mov rax, qword [rbp - 0x70]
test al, cl
jne 0x140116eb9
mov r11d, 1
test r11b, cl
jne 0x14011ac87
cmp ebx, 0x16
jae 0x14011ac87
mov rcx, qword [rsi + 0x30]
lea rdx, [rbp - 0x7c]
call fcn.1400e5620
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
jmp 0x140117053
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 0x140116d4c
xor edx, edx
call fcn.140115510
xor r10d, r10d
mov r12d, 0x9000
test eax, eax
mov ecx, r10d
sete cl
test word [rbx + 0x14], r12w
je 0x140116d38
mov rdx, rcx
mov rcx, rbx
call fcn.14012e53c
xor r10d, r10d
mov ecx, r12d
mov r9, qword [rsp + 0x40]
mov eax, 5
lea r11d, [rax - 4]
jmp 0x140116106
mov edx, 4
mov qword [rbx], rcx
mov word [rbx + 0x14], dx
mov ecx, r12d
jmp 0x140119da2
mov ecx, 0x9000
test word [rbx + 0x14], cx
je 0x140116d67
mov rcx, rbx
call fcn.14012d49c
xor r10d, r10d
jmp 0x1401160f1
mov word [rbx + 0x14], r11w
jmp 0x14011841e
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], r10b
je 0x1401180a2
movsxd rax, dword [r13 + 0xc]
mov r12d, 0x9000
imul rcx, rax, 0x38
add rcx, rsi
test word [rcx + 0x14], r12w
je 0x140116ddd
call fcn.14012d49c
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 0x1401180a2
mov word [rcx + 0x14], r11w
jmp 0x140116db8
cmp ebx, 0x21
ja 0x140117327
je 0x1401173f6
cmp ebx, 0x1c
ja 0x14011719c
je 0x140116e25
mov ecx, ebx
sub ecx, 0x17
je 0x140116c2b
sub ecx, 1
je 0x140116ea1
sub ecx, 1
je 0x140116e85
sub ecx, 1
je 0x140116e25
cmp ecx, 1
jne 0x1401180a2
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 0x14011707f
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.1400e49c8
mov r14d, eax
mov dword [rsp + 0x34], eax
jmp 0x1401170f6
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 0x140116e25
jmp 0x1401180a2
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
cmp qword [rax + rcx*8], r10
je 0x140117e63
jmp 0x1401180a2
movsd xmm1, qword [rdi]
mov rcx, r15
call fcn.140103b70
test eax, eax
jle 0x140116ed6
mov eax, 1
test al, bl
je 0x140116ee3
sub ebx, eax
jmp 0x140116ee3
jns 0x140116ee3
mov eax, 1
test al, bl
jne 0x140116ee3
add ebx, eax
lea rdi, [rsi + 0x30]
xor r8d, r8d
mov rcx, qword [rdi]
lea r9, [rbp - 0x7c]
mov rdx, r15
call fcn.1400e6650
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov qword [rsi + 0x50], r15
mov r14d, eax
test eax, eax
jne 0x14011c2fd
jmp 0x140116fa6
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.1400e49c8
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14011c8cd
test r14b, r14b
je 0x140116fa1
cmp byte [rbp + 0xba], r10b
je 0x14011704e
mov r14d, dword [rsp + 0x34]
mov eax, dword [rbp - 0x7c]
cmp ebx, 0x16
jl 0x140116ffc
test eax, eax
js 0x140116fc2
jne 0x140116fb9
cmp ebx, 0x17
je 0x140116fc2
mov dword [rbp - 0x7c], r10d
jmp 0x14011705d
mov rcx, qword [rdi]
xor edx, edx
mov dword [rbp - 0x7c], r10d
call fcn.1400e5754
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
je 0x14011705d
cmp eax, 0x65
jne 0x14011c2fd
lea r11d, [rax - 0x64]
mov dword [rsp + 0x34], r10d
mov dword [rbp - 0x7c], r11d
mov r14d, r10d
jmp 0x140116dae
test eax, eax
jg 0x140117018
jne 0x140117007
cmp ebx, 0x14
je 0x140117018
mov rax, qword [rdi]
mov ecx, r10d
cmp byte [rax], r10b
setne cl
mov dword [rbp - 0x7c], ecx
jmp 0x140117053
mov rcx, qword [rdi]
xor edx, edx
mov dword [rbp - 0x7c], r10d
call fcn.1400e5e10
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
je 0x14011705d
cmp eax, 0x65
jne 0x14011c2fd
lea eax, [r10 + 1]
mov dword [rsp + 0x34], r10d
mov dword [rbp - 0x7c], eax
mov r14d, r10d
jmp 0x140117053
mov r14d, dword [rsp + 0x34]
cmp dword [rbp - 0x7c], r10d
jne 0x14011729d
mov r15, qword [rsp + 0x60]
mov r11d, 1
mov rsi, qword [rsp + 0x58]
test r12d, r12d
je 0x14011675b
add r13, 0x18
jmp 0x14011675b
mov rax, qword [rbp - 0x68]
test word [rcx + 0x14], ax
je 0x14011709a
call fcn.14011df94
xor esi, esi
test eax, eax
jne 0x14011c88f
jmp 0x14011709c
xor esi, esi
mov rcx, qword [rbx + 0x38]
call fcn.140115480
mov rdi, rax
test rax, rax
je 0x14011c88f
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.14011f700
mov byte [rdi + 0x1e], sil
mov rdx, rdi
mov rcx, qword [rbx + 0x30]
lea rsi, [rbx + 0x24]
mov r8, rsi
call fcn.1400e49c8
mov rdx, rdi
mov dword [rsp + 0x34], eax
mov rcx, r15
mov r14d, eax
call fcn.1400ea6c0
mov dil, byte [rsp + 0x30]
xor r10d, r10d
test r14d, r14d
jne 0x14011c2fd
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 0x140117131
lea edx, [r10 + 4]
test ecx, ecx
je 0x140116ba7
mov rsi, qword [rsp + 0x58]
jmp 0x140119d9d
test ecx, ecx
jne 0x14011729d
cmp byte [r13], 0x1a
lea r11d, [rcx + 1]
jne 0x14011717e
movzx edx, word [rbp + 0x8c]
mov rcx, r10
test rdx, rdx
je 0x140116756
mov rax, qword [rbp + 0x78]
add rax, 0x14
test byte [rax], r11b
jne 0x140116dae
add rcx, r11
add rax, 0x38
cmp rcx, rdx
jl 0x14011715f
mov rsi, qword [rsp + 0x58]
jmp 0x140116760
cmp byte [r13], 0x19
mov rsi, qword [rsp + 0x58]
jne 0x14011675b
movzx eax, word [r13 + 0x10]
mov word [rbx + 0xc], ax
jmp 0x140116760
mov ecx, ebx
sub ecx, 0x1d
je 0x140117231
sub ecx, 1
je 0x1401172a7
sub ecx, 1
je 0x14011ac1c
cmp ecx, 1
jne 0x1401180a2
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.1400e4718
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
cmp dword [rbp - 0x30], r10d
jne 0x140116da8
mov rcx, rbx
call fcn.1400e5fd8
xor r10d, r10d
test rax, rax
js 0x140119437
mov rcx, rax
call fcn.140104c90
movsx ecx, ax
lea r11d, [r14 + 1]
cmp ecx, dword [r13 + 0xc]
jge 0x14011675b
mov dword [rbp - 0x30], r11d
jmp 0x140116dae
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
test byte [rcx + 0x14], 0x24
jne 0x1401172a7
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.140090108
mov edx, 4
xor r10d, r10d
test byte [rbp + 0x1d4], dl
je 0x140116ba7
mov rdi, qword [rbp + 0x1c0]
jmp 0x1401172b3
mov edx, 4
jmp 0x140116ba7
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.1400e6650
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 0x140117319
cmp dword [r13 + 8], r10d
jne 0x140116da8
mov ecx, 0x16d38
call fcn.1400e8e48
mov r14d, eax
mov dword [rsp + 0x34], eax
xor r10d, r10d
test r14d, r14d
jne 0x14011c2fd
jmp 0x1401160ec
cmp ebx, 0x27
ja 0x1401174be
je 0x140117531
sub ebx, 0x22
je 0x1401173f6
sub ebx, 1
je 0x1401173fe
sub ebx, 1
je 0x140117393
sub ebx, 1
je 0x140117377
cmp ebx, 1
jne 0x14011841e
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.1400e5754
jmp 0x1401173ab
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.1400e5e10
jmp 0x1401173ab
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r15
mov rdx, rbx
call fcn.14011fe58
mov r14d, eax
mov dword [rsp + 0x34], eax
xor r10d, r10d
mov dword [rbx + 0x20], r10d
test eax, eax
jne 0x1401173d7
mov byte [rbx + 2], r10b
lea r11d, [r14 + 1]
movzx eax, word [r13 + 2]
add dword [r12 + rax*4 + 0xd4], r11d
jmp 0x140117e63
cmp r14d, 0x65
jne 0x14011c2fd
mov eax, 1
mov dword [rsp + 0x34], r10d
mov byte [rbx + 2], al
mov r14d, r10d
jmp 0x14011b5d4
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 0x140117474
mov r14d, r10d
mov dword [rsp + 0x34], r10d
cmp byte [rbx + 0x58], r10b
jne 0x140117444
lea rdx, [rbx + 0x38]
cmp qword [rdx], r10
je 0x140117497
lea rcx, [rbx + 0x60]
mov edi, r10d
call fcn.14012f428
xor r10d, r10d
jmp 0x140117490
mov rcx, rbx
call fcn.14012ea70
mov edx, eax
mov rcx, rbx
call fcn.14012ebc8
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x140117497
mov rcx, rbx
call fcn.14012f1b0
xor r10d, r10d
mov edi, r10d
jmp 0x140117490
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.1400e4718
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 0x14011c2fd
mov r9, qword [rsp + 0x40]
lea edx, [r14 + 4]
mov byte [rsi + 2], dil
lea r11d, [r14 + 1]
test edi, edi
je 0x140116dce
jmp 0x140116db8
mov ecx, ebx
sub ecx, 0x28
je 0x140117531
sub ecx, 1
je 0x140117531
sub ecx, 1
je 0x140117531
cmp ecx, 1
jne 0x1401180a2
movsxd rax, dword [r13 + 4]
mov edx, r8d
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140115510
movsxd rcx, dword [r13 + 8]
mov r12d, 2
imul rcx, rcx, 0x38
mov edx, r12d
mov ebx, eax
add rcx, rsi
call fcn.140115510
lea eax, [rax + rbx*2]
add eax, ebx
movsxd rcx, eax
lea eax, [r12 + 0x2a]
cmp byte [r13], al
lea rax, [0x140000000]
jne 0x140117610
mov r8b, byte [rcx + rax + 0x15e988]
jmp 0x140117618
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.1400c71d4
mov edx, dword [rbx + 0x40]
lea eax, [rdx - 1]
cmp eax, 0x7ffffffe
ja 0x14011c58d
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.14011e180
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
mov rdx, qword [rbp + 0x130]
lea r8, [rbp + 0x48]
mov ecx, dword [rbp + 0x138]
xor r9d, r9d
call fcn.14011f260
xor r10d, r10d
mov ebx, eax
cmp dword [rbp + 0x148], r10d
je 0x1401175f0
lea rcx, [rbp + 0x128]
call fcn.14012d460
xor r10d, r10d
mov r11d, 1
test byte [r13], r11b
je 0x140117600
neg ebx
jmp 0x140117603
add ebx, r11d
test ebx, ebx
jg 0x140116dae
jmp 0x140116760
mov r8b, byte [rcx + rax + 0x15e998]
movsxd rax, dword [r13 + 0xc]
mov r11d, 1
imul rdx, rax, 0x38
movzx ecx, word [rdx + rsi + 0x14]
cmp r8b, r12b
jne 0x14011763e
mov eax, 0xf241
and cx, ax
or cx, r11w
jmp 0x140117652
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 0x1401160fc
cmp ebx, 0x43
ja 0x1401180b1
je 0x140118084
cmp ebx, 0x38
ja 0x140117b47
je 0x140117ae6
cmp ebx, 0x32
ja 0x140117ac7
je 0x140117aaf
sub ebx, 0x2d
je 0x1401179e8
sub ebx, 1
je 0x140117970
sub ebx, 1
je 0x14011770c
sub ebx, 1
je 0x1401176e0
cmp ebx, 1
jne 0x14011841e
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + rsi]
test rdx, rdx
jle 0x1401160fc
movsxd rax, dword [r13 + 0xc]
sub rdx, rax
mov qword [rcx + rsi], rdx
mov edx, 4
jmp 0x140116db8
cmp dword [r13 + 4], r10d
je 0x1401176ef
cmp qword [r15 + 0x2f0], r10
jmp 0x1401176f4
cmp qword [r12 + 0x50], r10
jne 0x14011841e
cmp qword [r15 + 0x2f8], r10
je 0x140116db8
jmp 0x14011841e
movsxd rax, dword [r13 + 0xc]
mov r15, qword [r13 + 0x10]
imul rbx, rax, 0x38
add rbx, rsi
cmp word [r13 + 2], r10w
je 0x140117743
mov rcx, qword [r15 + 0x20]
mov rax, qword [r12 + 0x108]
jmp 0x14011773e
cmp qword [rax + 0x38], rcx
je 0x14011c2a2
mov rax, qword [rax + 8]
test rax, rax
jne 0x140117730
mov r8, qword [rsp + 0x60]
mov eax, dword [r8 + 0xb0]
cmp dword [r12 + 0x118], eax
jge 0x14011c59f
mov rax, qword [rbp - 0x58]
test byte [rbx + 0x14], al
jne 0x140117894
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 0x140117791
add eax, 7
add ecx, edx
sar eax, 3
lea esi, [rax + rcx*8]
mov rcx, r8
movsxd rdx, esi
call fcn.1400ea854
xor r10d, r10d
mov rdi, rax
test rax, rax
je 0x14011c89d
mov eax, 0x9000
test word [rbx + 0x14], ax
jne 0x1401177c4
cmp dword [rbx + 0x20], r10d
je 0x1401177cf
mov rcx, rbx
call fcn.14012d460
xor r10d, r10d
sub r13, qword [rsp + 0x40]
mov eax, 0x1010
mov r8, qword [rsp + 0x60]
mov word [rbx + 0x14], ax
lea rax, [0x14011cef0]
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 0x140117887
mov word [rax + 0x14], r10w
mov qword [rax + 0x18], r8
add rax, 0x38
jmp 0x140117873
mov r14d, dword [rsp + 0x34]
mov r11d, 1
jmp 0x140117898
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 sub.VCRUNTIME140.dll_memset
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 0x14011b5d1
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 0x1401179a8
mov rcx, rbx
call fcn.14011e4e4
xor r10d, r10d
test eax, eax
jne 0x14011c88f
test edi, edi
je 0x1401179c7
mov r8, qword [rsi]
mov edx, edi
mov rcx, qword [rbx + 8]
call fcn.14010d6e4
xor r10d, r10d
test eax, eax
jne 0x140116da8
test edi, edi
js 0x1401160e7
mov rdx, qword [rsi]
mov rcx, qword [rbx + 8]
call fcn.14010d690
mov rsi, qword [rsp + 0x58]
mov dil, byte [rsp + 0x30]
jmp 0x140116d5f
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
mov rax, qword [rbp - 0x58]
add rdi, rsi
test byte [rdi + 0x14], al
je 0x140117a8f
mov rbx, qword [rdi + 8]
test byte [rbx + 0x32], r8b
jne 0x140117a32
test byte [rbx + 0x32], r11b
jne 0x140117a29
mov rcx, qword [rbx + 0x10]
call fcn.1400da39c
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 0x140117a8f
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x140117a56
mov rcx, rbx
call fcn.14010d610
xor r10d, r10d
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x140117a79
mov rdx, rdi
call fcn.14012e53c
jmp 0x140117966
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 0x14], ax
mov dil, byte [rsp + 0x30]
jmp 0x14011b5d4
test word [rdi + 0x14], cx
je 0x140117aa5
mov rcx, rdi
call fcn.14012d49c
xor r10d, r10d
jmp 0x140117e58
mov word [rdi + 0x14], r11w
jmp 0x140117e5e
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
jne 0x140116db8
jmp 0x1401180a2
mov ecx, ebx
sub ecx, 0x33
je 0x140117b35
sub ecx, 1
je 0x140117ae6
sub ecx, 1
je 0x140117ae6
sub ecx, 1
je 0x140117ae6
cmp ecx, 1
jne 0x1401180a2
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 0x140117c4d
mov rax, qword [r15]
cmp qword [r14], rax
mov r14d, dword [rsp + 0x34]
jle 0x140117c15
mov rax, qword [0x1401783f8]
cmp byte [rbx + rax], r10b
jmp 0x140117ce8
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
jmp 0x140117c0a
cmp ebx, 0x3e
ja 0x140117e83
je 0x140117dff
mov ecx, ebx
sub ecx, 0x39
je 0x140117ae6
sub ecx, 1
je 0x140117c05
sub ecx, 1
je 0x140117bde
sub ecx, 1
je 0x140117bb7
cmp ecx, 1
jne 0x1401180a2
movsxd rcx, dword [r13 + 4]
mov rax, qword [r15 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.1400e48a4
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
je 0x140119437
cmp eax, 0x65
jne 0x14011c2fd
mov r14d, r10d
mov dword [rsp + 0x34], r10d
jmp 0x140116da8
movsxd rax, dword [r13 + 4]
movabs r8, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + rsi]
cmp rax, r8
jle 0x140117bd9
dec rax
mov qword [rcx + rsi], rax
test rax, rax
jmp 0x140117c0a
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + rsi]
test rax, rax
je 0x1401180a2
jle 0x140116db8
dec rax
mov qword [rcx + rsi], rax
jmp 0x140116db8
cmp dword [rsp + 0x70], r10d
je 0x140116db8
jmp 0x1401180a2
jge 0x140117c32
mov rax, qword [0x1401783e8]
cmp byte [rbx + rax], r10b
jne 0x140116db8
or dword [rsp + 0x70], 0xffffffff
jmp 0x140116dc9
mov rax, qword [0x1401783f0]
cmp byte [rbx + rax], r10b
jne 0x140116db8
mov dword [rsp + 0x70], r10d
jmp 0x140116dc9
movzx ecx, di
or cx, si
test r11b, cl
je 0x140117cf8
test byte [r13 + 2], 0x80
je 0x140117cdb
test r11b, al
je 0x140117cc0
mov eax, pe_nt_image_headers64
test ax, di
jne 0x140117cc0
mov r8d, r10d
mov dword [rsp + 0x70], r10d
movzx ecx, byte [r13]
mov rax, qword [0x1401783f0]
test r8d, r8d
je 0x140117c92
mov rax, qword [0x1401783f8]
mov dl, byte [rcx + rax]
mov word [r14 + 0x14], di
mov r14d, dword [rsp + 0x34]
mov word [r15 + 0x14], si
test dl, dl
jne 0x1401176d6
mov r15, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x58]
mov dil, byte [rsp + 0x30]
jmp 0x1401160fc
movzx eax, di
not ax
and eax, r11d
lea r8d, [rax*2 - 1]
mov dword [rsp + 0x70], r8d
jmp 0x140117de5
mov rax, qword [rbp - 0x58]
test byte [r13 + 2], al
mov r14d, dword [rsp + 0x34]
jne 0x140116db8
mov dword [rsp + 0x70], r11d
jmp 0x140116dc9
mov al, byte [r13 + 2]
and al, 0x47
cmp al, 0x43
jb 0x140117d44
test r8b, cl
je 0x140117dc3
mov al, sil
and al, 0x2e
cmp al, r8b
jne 0x140117d2a
xor edx, edx
mov rcx, r15
call fcn.140090170
movzx edi, word [r14 + 0x14]
mov r8d, 2
mov al, dil
and al, 0x2e
cmp al, r8b
jne 0x140117dc3
xor edx, edx
mov rcx, r14
call fcn.140090170
jmp 0x140117dc3
cmp al, 0x42
jne 0x140117dc3
mov bl, byte [rsp + 0x30]
mov eax, 0x2c
test r8b, sil
jne 0x140117d98
test al, sil
je 0x140117d98
mov r8b, r11b
mov dl, bl
mov rcx, r15
call fcn.14011e940
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 0x140117d9e
movzx edi, si
or di, r8w
jmp 0x140117d9e
mov r12d, 0xdbf
test r8b, dil
jne 0x140117dc3
test al, dil
je 0x140117dc3
mov r8b, r11b
mov dl, bl
mov rcx, r14
call fcn.14011e940
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.140105360
mov r9, qword [rsp + 0x40]
xor r10d, r10d
mov r8d, eax
mov dword [rsp + 0x70], eax
lea r11d, [r10 + 1]
test r8d, r8d
jns 0x140117c7a
movzx ecx, byte [r13]
mov rax, qword [0x1401783e8]
jmp 0x140117c92
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], r10b
jne 0x140116dd3
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.1401211cc
xor r10d, r10d
test r14d, r14d
jne 0x14011c2fd
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
mov rsi, qword [rsp + 0x58]
xor r10d, r10d
test eax, eax
jne 0x140117a85
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 0x14011b5d4
sub ebx, 0x3f
je 0x14011801d
sub ebx, 1
je 0x14011c068
sub ebx, 1
je 0x140117ea3
cmp ebx, 1
jne 0x14011841e
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 0x140117f09
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 0x140117f09
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 0x140117ee6
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 0x140119437
jle 0x140117f96
movzx eax, word [rbx + 0x14]
mov ecx, 0x202
and ax, cx
cmp ax, cx
lea eax, [r10 + 1]
jne 0x140117f5f
cmp byte [rbx + 0x16], al
jne 0x140117f5f
mov rax, qword [rbx + 8]
jmp 0x140117f73
test byte [rbx + 0x14], al
je 0x140117f69
mov rax, r10
jmp 0x140117f73
mov dl, al
mov rcx, rbx
call fcn.14012c6a8
mov r8, rax
lea rdx, [0x1401641b0]
mov rcx, r12
call fcn.140115cc8
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 0x140118006
mov rdi, qword [rsp + 0x60]
test r14d, r14d
js 0x140117fd5
cmp dword [rbx], r14d
jne 0x140117fcf
mov eax, dword [rbx + 4]
test eax, eax
js 0x140117fcf
cmp eax, 0x1f
jg 0x140117fd5
bt r15d, eax
jae 0x140117fd5
lea rsi, [rbx + 0x18]
jmp 0x140117ff9
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x140117fe4
mov rcx, qword [rbx + 8]
call rax
mov rax, qword [rbx + 0x18]
mov rdx, rbx
mov rcx, rdi
mov qword [rsi], rax
call fcn.1400ea6c0
xor r10d, r10d
mov rbx, qword [rsi]
test rbx, rbx
jne 0x140117fb3
mov rdi, qword [rsp + 0x78]
mov r14d, dword [rsp + 0x34]
mov dword [rdi + 0x24], r10d
test r14d, r14d
jne 0x14011c2fd
jmp 0x1401160e2
movsxd rax, dword [r13 + 4]
mov rdx, r13
mov rcx, rsi
imul rbx, rax, 0x38
call fcn.14009da64
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 0x140118077
add dword [r12 + 0xf4], r11d
xor r10d, r10d
jmp 0x140116db8
add dword [r12 + 0xf0], r11d
jmp 0x1401181bd
movsxd rax, dword [r13 + 4]
imul rax, rax, 0x38
test byte [rax + rsi + 0x14], dl
je 0x14011841e
mov rax, qword [rax + rsi]
lea rcx, [rax + rax*2]
lea r13, [r9 + rcx*8]
mov eax, 5
mov ecx, 0x9000
jmp 0x14011610b
cmp ebx, 0x4e
ja 0x1401183a4
je 0x14011831c
cmp ebx, 0x49
ja 0x1401181f2
je 0x140119fc5
sub ebx, 0x44
je 0x1401181c5
sub ebx, 1
je 0x140118121
sub ebx, 1
je 0x140118134
sub ebx, 1
je 0x14011810a
cmp ebx, 1
jne 0x14011841e
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x140116d5f
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
movsxd rcx, dword [r13 + 4]
mov qword [rax], rcx
jmp 0x140116d5f
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
je 0x1401180a2
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x14011c5b6
cmp dword [r13 + 4], r10d
jne 0x14011c5b6
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.14011cf08
mov edx, 4
lea r11d, [rdx - 3]
cmp dword [r13 + 8], edx
jne 0x14011819c
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 0x1401180a2
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 0x1401160fc
sub ebx, 0x4a
je 0x14011828c
sub ebx, 1
je 0x14011828c
sub ebx, 1
je 0x140118269
cmp ebx, 1
jne 0x14011841e
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
mov rdx, qword [r13 + 0x10]
mov rbx, rax
xor eax, eax
mov rcx, rbx
test rdx, rdx
jne 0x14011824c
mov edx, dword [r13 + 4]
call fcn.14011e890
mov rcx, rbx
call fcn.14011df94
xor r10d, r10d
test eax, eax
jne 0x14011c88f
jmp 0x140118260
movsxd r8, dword [r13 + 4]
xor r9d, r9d
mov qword [rsp + 0x20], rax
call fcn.14011e5ac
xor r10d, r10d
mov byte [rbx + 0x16], dil
jmp 0x1401160f1
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 0x1401160fc
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
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 0x140116756
mov ecx, 0x9000
lea rbx, [rbx + 0x38]
test word [rbx], cx
je 0x1401182f5
lea rcx, [rbx - 0x14]
call fcn.14012d49c
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 0x1401182d7
mov rsi, qword [rsp + 0x58]
mov dil, byte [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov eax, 5
jmp 0x140116106
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 0x140118358
mov rax, qword [rbp - 0x68]
mov ecx, dword [rdi + 0x10]
test word [rdi + 0x14], ax
je 0x140118348
add ecx, dword [rdi]
mov rax, qword [rdi + 0x18]
cmp ecx, dword [rax + 0x88]
jg 0x14011c7e9
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x9000
add rbx, rsi
test word [rbx + 0x14], ax
je 0x140118376
mov rcx, rbx
call fcn.14012d49c
mov r8d, 0x18
mov rdx, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
movzx eax, word [rbx + 0x14]
mov ecx, 0xafff
and ax, cx
mov ecx, 0x2040
or ax, cx
mov word [rbx + 0x14], ax
jmp 0x1401179de
cmp ebx, 0x54
ja 0x140118568
je 0x14011c6cc
sub ebx, 0x4f
je 0x1401184da
sub ebx, 1
je 0x14011844c
sub ebx, 1
je 0x140118428
sub ebx, 1
je 0x1401183e3
cmp ebx, 1
jne 0x14011841e
xor edx, edx
mov rcx, r12
call fcn.14011562c
jmp 0x1401167a0
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 0x140118416
mov rdx, rax
mov rcx, r8
call fcn.14012e53c
jmp 0x140116d5f
mov qword [r8], rax
mov word [r8 + 0x14], dx
mov eax, 5
jmp 0x14011610b
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.14011e8e0
jmp 0x140116d5f
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.14011e8e0
test word [rbx + 0x14], r12w
je 0x140118498
mov rcx, rbx
call fcn.14011e344
xor r10d, r10d
test eax, eax
jne 0x14011c88f
jmp 0x14011849b
xor r10d, r10d
movzx eax, word [rbx + 0x14]
bt ax, 0xb
jae 0x1401184bd
mov ecx, 2
test byte [r13 + 2], cl
je 0x1401184bd
mov ecx, 0xf7ff
and ax, cx
mov word [rbx + 0x14], ax
mov eax, esi
mov r11d, 1
sub esi, r11d
test eax, eax
je 0x140116756
add rbx, 0x38
add rdi, 0x38
jmp 0x14011846e
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 0x14011850d
cmp dword [rbx + 0x20], r10d
je 0x140118515
mov rcx, rbx
call fcn.14012d460
mov r8d, 0x38
mov rdx, rdi
mov rcx, rbx
call sub.VCRUNTIME140.dll_memcpy
xor r10d, r10d
mov r11d, 1
mov word [rdi + 0x14], r11w
mov dword [rdi + 0x20], r10d
test word [rbx + 0x14], r12w
je 0x140118556
mov rcx, rbx
call fcn.14011e344
xor r10d, r10d
test eax, eax
jne 0x14011c88f
lea r11d, [r10 + 1]
add rdi, 0x38
add rbx, 0x38
sub esi, r11d
jne 0x1401184fc
jmp 0x140116756
sub ebx, 0x55
je 0x14011862f
sub ebx, 1
je 0x140118610
sub ebx, 1
je 0x1401185c7
cmp ebx, 1
jne 0x14011841e
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov rax, qword [rbp - 0x68]
add rbx, rsi
test word [rbx + 0x14], ax
je 0x1401185b3
mov rcx, rbx
call fcn.14011df94
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x14011c2fd
mov dl, byte [r13 + 8]
mov r8b, dil
mov rcx, rbx
call fcn.14011ddd8
jmp 0x1401167a0
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, rsi
movzx eax, word [rcx + 0x14]
test al, 0x24
je 0x1401180a2
mov r12, qword [rbp - 0x70]
test r12b, al
je 0x1401185ed
movsd xmm0, qword [rcx]
jmp 0x1401185f5
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 0x1401180a2
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.14011e314
movsxd rax, dword [r13 + 8]
add qword [rbx], rax
jmp 0x140116d5f
cmp dword [r13 + 4], r10d
je 0x14011841e
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x140118656
xor edx, edx
jmp 0x14011840c
mov qword [rcx], r10
mov word [rcx + 0x14], dx
jmp 0x1401180a2
test byte [r13 + 2], r11b
jne 0x14011866d
mov rdi, r10
jmp 0x140118674
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 0x14011c286
lea r15, [r13 + 0x20]
test rdi, rdi
je 0x1401186b3
mov edx, dword [rdi + rbx*4]
jmp 0x1401186b6
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.140105360
xor r10d, r10d
mov dword [rsp + 0x70], eax
mov r8d, eax
lea r11d, [r10 + 1]
test eax, eax
jne 0x14011872b
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 0x1401186a9
mov r13, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x34]
mov r15, qword [rsp + 0x60]
jmp 0x14011675b
mov rax, qword [r13 + 0x18]
mov ecx, 2
test byte [rbx + rax], cl
je 0x14011874e
test byte [rsi + 0x14], r11b
jne 0x140118746
test byte [r12 + 0x14], r11b
je 0x14011874e
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 0x14011675b
neg r8d
mov dword [rsp + 0x70], r8d
jmp 0x14011675b
cmp ebx, 0x89
ja 0x14011ac94
je 0x14011ac1c
cmp ebx, 0x72
ja 0x140119e6e
je 0x140119e0d
cmp ebx, 0x67
ja 0x14011962e
je 0x14011946d
cmp ebx, 0x61
ja 0x140119442
je 0x140119008
sub ebx, 0x5b
je 0x140118fbf
sub ebx, 1
je 0x140118f86
sub ebx, r8d
je 0x1401189a0
sub ebx, 1
je 0x14011887a
cmp ebx, 1
jne 0x14011841e
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.140090108
cmp byte [rdi], 0x45
jne 0x14011885b
movzx ecx, word [rbx + 0x14]
mov eax, 4
test al, cl
je 0x14011885b
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x140118844
and cx, ax
or cx, word [rbp - 0x48]
jmp 0x140118857
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 0x14011675b
add rbx, 0x38
jmp 0x1401187f6
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 0x14011c293
lea rsi, [rdi + 0xc]
test byte [rsi + 6], 0x60
je 0x1401188c1
mov rax, qword [rbp - 0x48]
test byte [rsi + 6], al
jne 0x14011897c
cmp dword [r13 + 0xc], r10d
je 0x1401188c1
add rbx, 0x38
jmp 0x14011897c
mov r8b, byte [rsp + 0x30]
mov rcx, rbx
mov dl, byte [rsi]
call fcn.140090108
movzx ecx, word [rbx + 0x14]
mov r11d, 1
movzx edx, cx
test r11b, cl
jne 0x140118975
mov eax, dword [rsi - 4]
lea r8d, [r11 + 1]
shr eax, 4
and eax, 0xf
sub eax, r8d
je 0x140118969
sub eax, r11d
je 0x140118962
sub eax, r11d
je 0x140118962
sub eax, r11d
je 0x140118911
cmp eax, r11d
jne 0x140118975
test r8b, cl
jmp 0x14011896f
mov eax, 4
test al, cl
je 0x14011895d
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
ja 0x14011893f
or cx, word [rbp - 0x48]
jmp 0x14011894f
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 0x140118975
test cl, 0x28
jmp 0x14011896f
mov eax, 4
jmp 0x14011896d
mov rax, qword [rbp - 0x58]
test al, cl
je 0x14011c757
add rbx, 0x38
xor r10d, r10d
movsx eax, word [r15 + 0x36]
add r14d, r11d
add rsi, 0x18
cmp r14d, eax
jl 0x14011889f
mov r14d, dword [rsp + 0x34]
mov r15, qword [rsp + 0x60]
jmp 0x140116756
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 0x140118a02
cmp byte [rbx + 2], r10b
jne 0x140118a7c
mov rdi, qword [rbx + 0x30]
cmp byte [rbx + 3], r10b
je 0x1401189fb
mov rdx, qword [rbx + 0x10]
test rdx, rdx
je 0x140118a2b
lea eax, [r15 + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x140118a2b
mov rbx, qword [rbx + 0x28]
lea r15d, [rax - 1]
jmp 0x1401189b1
cmp byte [rdi], r10b
je 0x140118a45
jmp 0x140118a0f
mov rax, qword [rbx + 0x30]
cmp byte [rax], r10b
je 0x140118b6d
mov rcx, rbx
call fcn.14011d508
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
jmp 0x1401189b6
mov rcx, rbx
call fcn.14011cea8
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
mov rcx, rdi
call fcn.1400c71d4
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 0x140118a73
test edx, edx
mov ecx, edx
cmovs ecx, r10d
mov dword [rbx + 0x6c], ecx
mov rcx, qword [rdi + 0x38]
jmp 0x140118aaa
mov eax, 3
cmp byte [rbx], al
jne 0x140118b33
cmp dword [rbx + 0x24], r10d
jle 0x140118b33
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 0x140118ad7
mov r11d, 1
mov eax, r11d
jmp 0x140118aed
mov rcx, qword [rbx + 0x60]
mov rdx, r13
call fcn.140101968
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 0x140118b26
mov qword [rbx + 0x60], r10
mov dword [rbx + 0x6c], r10d
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x140118d40
cmp eax, dword [rbx + 0x68]
ja 0x140118d40
jmp 0x140118b71
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x28], rax
jmp 0x140118bec
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 0x140118b5d
call fcn.14012d49c
mov r15, qword [rsp + 0x60]
jmp 0x1401179de
mov r11d, 1
mov word [rcx + 0x14], r11w
jmp 0x140118721
lea rdi, [rbx + 0x4a]
movzx r14d, word [rdi]
cmp r14d, r15d
ja 0x140118dd0
mov eax, dword [r13]
lea rsi, [rbx + 0x40]
mov qword [rbp - 0x40], rsi
cmp dword [rsi], eax
jae 0x140118d68
mov rax, qword [rbx + 0x60]
mov qword [rbp - 0x28], rax
test rax, rax
jne 0x140118be4
xor edx, edx
lea r8d, [rax + 0x38]
lea rcx, [rbp + 0xf0]
call sub.VCRUNTIME140.dll_memset
mov edx, dword [r13]
lea r8, [rbp + 0xf0]
mov rcx, qword [rbx + 0x30]
call fcn.14011e180
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
mov rax, qword [rbp + 0xf8]
mov qword [rbp - 0x28], rax
jmp 0x140118be8
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 0x140118c37
lea rdx, [0x140000000]
add rdi, r11
movzx eax, byte [rsi + rdx + 0x15dcb0]
jmp 0x140118c7c
lea rdx, [rsp + 0x6c]
mov rcx, rdi
call fcn.140101968
mov esi, dword [rsp + 0x6c]
movzx eax, al
add rdi, rax
mov dword [rbx + r15*4 + 0x70], esi
cmp esi, 0x80
jb 0x140118c62
lea eax, [rsi - 0xc]
shr eax, 1
jmp 0x140118c71
lea rcx, [0x140000000]
movzx eax, byte [rsi + rcx + 0x15dcb0]
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 0x140118c99
cmp rdi, r13
jb 0x140118c0f
cmp rdi, r13
jb 0x140118cf8
ja 0x140118d00
mov eax, dword [rbx + 0x68]
cmp r12, rax
jne 0x140118d00
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 0x140118cec
mov eax, 0x9000
test word [rbp + 0x104], ax
jne 0x140118cd9
cmp dword [rbp + 0x110], r10d
je 0x140118cec
lea rcx, [rbp + 0xf0]
call fcn.14012d460
movzx r14d, word [r15]
xor r10d, r10d
mov r13, qword [rsp + 0x78]
mov r15d, dword [rsp + 0x68]
jmp 0x140118d6b
mov eax, dword [rbx + 0x68]
cmp r12, rax
jbe 0x140118ca8
xor r10d, r10d
cmp dword [rcx], r10d
jne 0x140118d10
mov r14d, r10d
mov rdi, r13
jmp 0x140118cab
cmp qword [rbx + 0x60], r10
jne 0x140118d40
mov eax, 0x9000
test word [rbp + 0x104], ax
jne 0x140118d2d
cmp dword [rbp + 0x110], r10d
je 0x140118d40
lea rcx, [rbp + 0xf0]
call fcn.14012d460
xor r10d, r10d
lea r11d, [r10 + 1]
mov r9, qword [rsp + 0x40]
mov eax, dword [r9 + 0xc]
test eax, eax
jle 0x14011c7bc
mov r14d, dword [rsp + 0x34]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r13, [r9 + rax*8]
jmp 0x140117cac
mov esi, r10d
movzx eax, r14w
cmp eax, r15d
ja 0x140118dcb
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 0x140118da9
mov rdx, qword [r13 + 0x10]
mov r8d, 0x2000
call fcn.14011e8e0
mov r14d, dword [rsp + 0x34]
jmp 0x140118b53
mov eax, 0x9000
test word [rcx + 0x14], ax
je 0x140118dbb
call fcn.14012d49c
jmp 0x140118d9f
mov r11d, 1
mov word [rcx + 0x14], r11w
jmp 0x14011871c
mov r14d, r15d
jmp 0x140118dd8
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 0x140118dfe
mov rcx, rdi
call fcn.14012d49c
lea eax, [r15 + 1]
mov eax, dword [r13 + rax*4]
cmp dword [rbx + 0x6c], eax
jb 0x140118ed8
mov r14d, dword [r13 + r14*4]
add r14, qword [rbx + 0x60]
cmp esi, 0xc
jae 0x140118e3d
mov rcx, r14
mov edx, esi
mov r8, rdi
call fcn.14011f908
mov r14d, dword [rsp + 0x34]
mov r13, r12
mov r15, qword [rsp + 0x60]
jmp 0x1401179d9
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 0x140118e84
cmp ebx, dword [r15 + 0x88]
jg 0x14011c7ee
mov eax, 1
xor r8d, r8d
mov rcx, rdi
mov word [rdi + 0x14], ax
call fcn.14011e1e0
test eax, eax
jne 0x14011c8a7
jmp 0x140118e8c
mov rax, qword [rdi + 0x28]
mov qword [rdi + 8], rax
mov rcx, qword [rdi + 8]
mov r8, rbx
mov rdx, r14
call sub.VCRUNTIME140.dll_memcpy
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 + 0x15e0ac]
mov word [rdi + 0x14], ax
jmp 0x140116756
mov al, byte [rsp + 0x30]
mov byte [rdi + 0x16], al
test byte [r12 + 2], 0xc0
je 0x140118efe
cmp esi, 0xc
jb 0x140118ef6
mov eax, 1
test al, sil
je 0x140118f26
test byte [r12 + 2], 0x80
jne 0x140118f26
cmp esi, 0x80
jb 0x140118f0f
lea r8d, [rsi - 0xc]
shr r8d, 1
jmp 0x140118f21
mov eax, esi
lea rcx, [0x140000000]
movzx r8d, byte [rax + rcx + 0x15dcb0]
test r8d, r8d
jne 0x140118f32
lea rcx, [0x1401614d0]
jmp 0x140118e21
mov r15, qword [rsp + 0x60]
cmp r8d, dword [r15 + 0x88]
jg 0x14011c7ee
mov edx, dword [r13 + r14*4]
mov r9, rdi
mov rcx, qword [rbx + 0x30]
call fcn.14011e0a4
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c8d7
mov rcx, qword [rdi + 8]
mov r8, rdi
mov edx, esi
call fcn.14011f908
mov eax, 0xbfff
mov r13, r12
and word [rdi + 0x14], ax
jmp 0x1401179d9
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
jne 0x14011adbd
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + rsi + 0x14], r11b
jne 0x14011adbd
movsxd rax, dword [r13 + 8]
jmp 0x14011863d
mov word [rcx + 0x14], r11w
jmp 0x1401180a2
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140115510
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 0x14011840c
mov qword [rcx], rdx
mov edx, 4
mov word [rcx + 0x14], dx
jmp 0x140119d9a
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 0x1401190b9
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.140090108
cmp byte [rdi], 0x45
jne 0x140119092
movzx eax, word [rbx]
test al, 4
je 0x140119092
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 0x14011906e
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 0x1401190de
and cx, word [rbp - 0x68]
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
add r12d, r9d
jmp 0x14011923e
test cl, 0x24
je 0x1401191b9
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x1401190f6
not rdx
add r12d, r9d
cmp rdx, 0x7f
ja 0x14011912b
mov rax, r8
and rax, r9
cmp rax, r8
jne 0x140119120
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0xc3], 4
jb 0x140119120
lea eax, [rdx + 8]
jmp 0x1401191b1
add r15, r9
mov eax, r9d
jmp 0x1401191b1
cmp rdx, 0x7fff
ja 0x14011913b
mov eax, 2
jmp 0x140119159
cmp rdx, 0x7fffff
ja 0x14011914b
mov eax, 3
jmp 0x140119159
cmp rdx, 0x7fffffff
ja 0x14011915e
mov eax, 4
add r15, rax
jmp 0x1401191b1
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x140119178
add r15, 6
mov eax, 5
jmp 0x1401191b1
mov rdx, qword [rbp - 0x70]
mov rax, qword [rbp - 0x48]
add r15, rdx
test al, cl
je 0x1401191ac
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 0x1401191b1
mov eax, 6
mov dword [r14], eax
jmp 0x14011923e
mov rax, qword [rbp - 0x70]
test al, cl
je 0x1401191d0
add r12d, r9d
mov dword [r14], 7
add r15, rax
jmp 0x14011923e
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 0x14011921b
lea rbx, [r14 - 0x24]
movsxd rax, dword [rbx]
lea esi, [rsi + rax*2]
test r15, r15
je 0x140119214
mov rcx, rbx
call fcn.14011df94
xor r10d, r10d
test eax, eax
jne 0x14011c89d
add edi, dword [rbx]
lea r9d, [r10 + 1]
jmp 0x14011921b
add rdx, rax
mov qword [rbp - 0x78], rdx
mov eax, edi
mov ecx, r9d
add r15, rax
mov eax, esi
jmp 0x14011922a
add ecx, r9d
shr rax, 7
test rax, rax
jne 0x140119227
mov r11, qword [rsp + 0x78]
add r12d, ecx
mov dword [r14], esi
lea rax, [r14 - 0x24]
cmp rax, r11
je 0x140119254
mov rdx, qword [rbp - 0x78]
sub r14, 0x38
jmp 0x1401190bd
cmp r12d, 0x7e
jle 0x140119289
mov edx, r9d
movsxd rax, r12d
jmp 0x140119265
add edx, r9d
shr rax, 7
test rax, rax
jne 0x140119262
add r12d, edx
mov ecx, r9d
movsxd rax, r12d
jmp 0x14011927c
add ecx, r9d
shr rax, 7
test rax, rax
jne 0x140119279
cmp edx, ecx
jge 0x14011928c
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 0x1401192e2
mov r15, qword [rsp + 0x60]
movsxd rax, dword [r15 + 0x88]
cmp rcx, rax
jg 0x14011c7e9
cmp dword [r13 + 0x20], ebx
jge 0x1401192e2
xor r8d, r8d
mov edx, ebx
mov rcx, r13
call fcn.14011e1e0
xor r10d, r10d
test eax, eax
jne 0x14011c88f
mov r11, qword [rsp + 0x78]
lea r9d, [r10 + 1]
jmp 0x1401192ea
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 0x14011930a
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 0x140119323
mov byte [rdi], r12b
add rdi, r9
jmp 0x14011933b
mov rdx, rsi
mov rcx, rdi
call fcn.1400fba98
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 0x1401193bf
mov byte [rdi], bl
add rdi, r9
test ebx, ebx
je 0x14011940f
lea rdx, [rsi - 0x10]
cmp ebx, 7
jne 0x140119377
mov r8, qword [rbp - 0x70]
lea rcx, [rbp - 0x20]
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rbp - 0x20]
xor r10d, r10d
jmp 0x14011937e
mov rdx, qword [rdx]
mov qword [rbp - 0x20], rdx
lea rcx, [0x140000000]
movzx ecx, byte [rbx + rcx + 0x15dcb0]
or ebx, 0xffffffff
mov r9d, ecx
add ecx, ebx
lea r8, [rcx + r14]
mov byte [r8], dl
je 0x1401193ba
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 0x1401193a4
add r14, r9
jmp 0x14011940f
cmp ebx, 0x80
jae 0x1401193de
mov r11d, 1
mov byte [rdi], bl
add rdi, r11
cmp ebx, 0xe
jb 0x140119415
cmp dword [rsi], r10d
jle 0x140119415
jmp 0x1401193f7
mov rdx, rbx
mov rcx, rdi
call fcn.1400fba98
movsxd rcx, eax
xor r10d, r10d
add rdi, rcx
cmp dword [rsi], r10d
je 0x14011940f
movsxd r8, dword [rsi]
mov rcx, r14
mov rdx, qword [rsi - 8]
call sub.VCRUNTIME140.dll_memcpy
movsxd rax, dword [rsi]
add r14, rax
xor r10d, r10d
mov r11d, 1
lea rax, [rsi - 0x10]
cmp rax, r15
je 0x14011942d
add rsi, 0x38
mov r9d, 1
jmp 0x140119343
mov r13, qword [rsp + 0x38]
jmp 0x140118991
mov r11d, 1
jmp 0x14011675b
mov ecx, ebx
sub ecx, 0x62
je 0x1401195ce
sub ecx, 1
je 0x14011959c
sub ecx, 1
je 0x140119503
sub ecx, 1
je 0x1401194c0
cmp ecx, 1
jne 0x1401180a2
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 0x1401196ab
mov ecx, 0x9000
test word [rsi + 0x14], cx
je 0x14011969c
mov rcx, rsi
call fcn.14012d49c
mov rsi, qword [rsp + 0x58]
jmp 0x140116d5f
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x1401197d4
mov eax, dword [r13 + 8]
cmp dword [rdi + 0x44], eax
jne 0x1401197d4
mov rbx, qword [rdi + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.14008ae74
xor r10d, r10d
mov qword [rbx + 0x18], r10
lea r11d, [r10 + 1]
mov byte [rbx], r11b
jmp 0x1401198fb
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.1400e6ca8
mov r11d, 1
mov dword [rsp + 0x34], eax
mov r14d, eax
cmp dword [r13 + 8], r11d
jne 0x14011955c
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.1400f2788
mov r11d, 1
jmp 0x140119572
mov eax, 2
cmp dword [r13 + 8], eax
jne 0x140119572
mov rcx, qword [rbx + 0x18]
mov al, byte [r13 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r13 + 4], r11d
jne 0x14011958b
xor edx, edx
mov rcx, r15
call fcn.1400ecb50
and dword [r12 + 0xc8], 0xfffffffc
xor r10d, r10d
test r14d, r14d
jne 0x14011c2fd
jmp 0x140116760
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.1400e47b8
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
movsxd rcx, dword [rbp - 8]
jmp 0x140118119
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 0x1401195f2
mov rcx, rdx
call fcn.1400e5fd8
mov rbx, rax
jmp 0x14011961b
lea r8, [rsp + 0x78]
mov qword [rsp + 0x78], r10
mov rcx, r15
call fcn.1400e40ec
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
mov rbx, qword [rsp + 0x78]
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
mov qword [rax], rbx
jmp 0x14011b5d1
cmp ebx, 0x6d
ja 0x1401197b2
je 0x14011965e
sub ebx, 0x68
je 0x14011946d
sub ebx, 1
je 0x14011946d
sub ebx, 1
je 0x14011965e
sub ebx, 1
je 0x14011965e
cmp ebx, 1
jne 0x14011841e
movsxd rax, dword [r13 + 4]
mov r14d, 0x2c
imul rdi, rax, 0x38
add rdi, rsi
movzx ebx, word [rdi + 0x14]
test r14b, bl
jne 0x140119ad3
test bl, 0x12
je 0x140119ad0
mov rcx, rdi
call fcn.14009773c
movzx ebx, ax
lea edx, [r14 - 0x28]
xor r10d, r10d
jmp 0x140119ad3
mov word [rsi + 0x14], r11w
mov rsi, qword [rsp + 0x58]
jmp 0x14011841e
call fcn.14011d680
mov rcx, rbx
mov qword [rbp - 0x50], rax
call fcn.14011d680
mov dil, byte [r13]
mov rbx, rax
cmp dil, 0x66
jne 0x1401196d2
and qword [rbp - 0x50], rax
jmp 0x14011978b
cmp dil, 0x67
jne 0x1401196e1
or qword [rbp - 0x50], rbx
jmp 0x14011978b
xor r10d, r10d
test rbx, rbx
je 0x14011978e
jns 0x14011970f
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 0x140119730
cmp qword [rbp - 0x50], r10
jge 0x140119727
cmp dil, 0x68
je 0x140119727
or rax, 0xffffffffffffffff
jmp 0x14011972a
mov rax, r10
mov qword [rbp - 0x50], rax
jmp 0x14011978e
mov r12, qword [rbp - 0x70]
lea rdx, [rbp - 0x50]
mov r8, r12
lea rcx, [rbp - 0x38]
call sub.VCRUNTIME140.dll_memcpy
mov rcx, rbx
cmp dil, 0x68
jne 0x140119753
shl qword [rbp - 0x38], cl
jmp 0x14011977b
mov r8, qword [rbp - 0x38]
shr r8, cl
xor ecx, ecx
mov qword [rbp - 0x38], r8
cmp qword [rbp - 0x50], rcx
jge 0x14011977b
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 sub.VCRUNTIME140.dll_memcpy
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 0x1401169e7
mov ecx, ebx
sub ecx, 0x6e
je 0x14011965e
sub ecx, 1
je 0x14011990e
sub ecx, 1
je 0x1401197d4
cmp ecx, 1
jne 0x1401180a2
mov eax, dword [r12 + 0xc8]
and al, 3
cmp al, r11b
je 0x14011c7c6
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 0x140119839
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 0x14011983c
mov byte [rax + 0xc3], cl
jmp 0x14011983c
mov esi, r10d
mov rcx, qword [rsp + 0x38]
mov rax, qword [rbp - 0x58]
test byte [rcx + 2], al
je 0x140119863
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.14011e314
mov rcx, qword [rsp + 0x38]
mov r15d, dword [rbx]
mov al, byte [rcx + 1]
cmp al, 0xf8
jne 0x140119875
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x14011987c
cmp al, 0xfd
jne 0x14011987c
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
xor r9d, r9d
mov rcx, qword [rsp + 0x50]
mov r8d, edi
call fcn.14008e80c
mov rdi, rax
test rax, rax
je 0x14011c89d
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.1400e4258
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 0x1401168f4
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 0x14011997d
mov ecx, 0x9000
test word [rbx + 0x14], cx
je 0x140119966
mov rcx, rbx
call fcn.14012d49c
mov r14d, dword [rsp + 0x34]
mov r13, r12
jmp 0x1401179de
mov r14d, dword [rsp + 0x34]
mov r13, r12
mov word [rbx + 0x14], r11w
mov dil, byte [rsp + 0x30]
jmp 0x14011841e
test r14b, 0x12
jne 0x140119994
mov dl, byte [rsp + 0x30]
xor r8d, r8d
mov rcx, r13
call fcn.14011e940
jmp 0x1401199a6
mov rax, qword [rbp - 0x68]
test ax, r14w
je 0x1401199c0
mov rcx, r13
call fcn.14011df94
test eax, eax
jne 0x14011c8a7
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 0x1401199f2
mov dl, byte [rsp + 0x30]
xor r8d, r8d
mov rcx, rdi
call fcn.14011e940
xor r8d, r8d
test eax, eax
jne 0x14011c8a7
movzx esi, word [rdi + 0x14]
mov eax, 0xfffd
and si, ax
jmp 0x140119a04
test ax, si
je 0x140119a01
mov rcx, rdi
call fcn.14011df94
jmp 0x1401199d9
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 0x14011c7ee
cmp rbx, rdi
mov rcx, rbx
sete r8b
add edx, 2
call fcn.14011e1e0
test eax, eax
jne 0x14011c8a2
movzx eax, word [rbx + 0x14]
mov ecx, 0xf242
and ax, cx
or ax, 2
mov word [rbx + 0x14], ax
cmp rbx, rdi
je 0x140119a6b
movsxd r8, dword [rdi + 0x10]
mov rdx, qword [rdi + 8]
mov rcx, qword [rbx + 8]
call sub.VCRUNTIME140.dll_memcpy
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 sub.VCRUNTIME140.dll_memcpy
mov dil, byte [rsp + 0x30]
mov r11d, 1
mov word [r13 + 0x14], r14w
cmp dil, r11b
jbe 0x140119a99
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 0x140117174
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 0x140119b08
test byte [rsi + 0x14], 0x12
je 0x140119b05
mov rcx, rsi
call fcn.14009773c
movzx ecx, ax
mov edx, 4
jmp 0x140119b08
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 0x140119c96
movzx ecx, byte [r13]
mov r9, qword [rsi]
mov r8, qword [rdi]
mov qword [rsp + 0x38], r9
sub ecx, 0x6a
je 0x140119c63
sub ecx, 1
je 0x140119c44
sub ecx, 1
je 0x140119bb0
cmp ecx, 1
je 0x140119b7e
xor r10d, r10d
test r8, r8
je 0x140119dbd
cmp r8, 0xffffffffffffffff
lea eax, [r10 + 1]
cmove r8, rax
mov rax, r9
cqo
idiv r8
mov r8, rdx
jmp 0x140119c79
test r8, r8
je 0x140119dba
cmp r8, 0xffffffffffffffff
jne 0x140119ba0
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x140119ca5
mov rax, r9
cqo
idiv r8
mov r8, rax
jmp 0x140119c79
test r8, r8
jle 0x140119be6
movabs rax, 0x7fffffffffffffff
cqo
idiv r8
cmp r9, rax
jg 0x140119ca5
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jge 0x140119c39
jmp 0x140119ca5
jns 0x140119c3e
test r9, r9
jle 0x140119c01
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jmp 0x140119bdf
jns 0x140119c3e
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x140119ca5
cmp r9, rax
je 0x140119ca5
movabs rax, 0x8000000000000001
mov rcx, r9
cqo
neg rcx
idiv r8
cmp rcx, rax
jg 0x140119ca5
mov edx, 4
imul r8, r9
jmp 0x140119c7e
movabs rax, 0x8000000000000000
cmp r8, rax
jne 0x140119c60
test r9, r9
jns 0x140119ca5
sub r9, r8
mov r8, r9
jmp 0x140119c7e
neg r8
mov rdx, r8
lea rcx, [rsp + 0x38]
call fcn.1400e0360
test eax, eax
jne 0x140119ca5
mov r8, qword [rsp + 0x38]
mov edx, 4
movzx eax, word [r14 + 0x14]
mov ecx, 0xf244
and ax, cx
mov qword [r14], r8
or ax, dx
jmp 0x140119d86
mov r11d, 1
test r11b, al
jne 0x140119db5
mov r12, qword [rbp - 0x70]
test r12b, r10b
je 0x140119cb4
movsd xmm2, qword [rdi]
jmp 0x140119cda
test r10b, 0x24
je 0x140119cc4
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rdi]
jmp 0x140119cda
test r10b, 0x12
je 0x140119cd7
mov rcx, rdi
call fcn.1400cdf04
movaps xmm2, xmm0
jmp 0x140119cda
movaps xmm2, xmm7
mov rcx, rsi
call fcn.14011f22c
movzx ecx, byte [r13]
movaps xmm6, xmm0
sub ecx, 0x6a
je 0x140119d56
sub ecx, 1
je 0x140119d50
sub ecx, 1
je 0x140119d4a
cmp ecx, 1
je 0x140119d38
mov rcx, rdi
call fcn.14011d680
mov rcx, rsi
mov rbx, rax
call fcn.14011d680
xor r10d, r10d
lea r11d, [r10 + 1]
test rbx, rbx
je 0x140119dcc
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm6, xmm6
cmove rbx, r11
idiv rbx
cvtsi2sd xmm6, rdx
jmp 0x140119d5a
ucomisd xmm2, xmm7
jp 0x140119d44
je 0x140119dc5
divsd xmm6, xmm2
jmp 0x140119d5a
mulsd xmm6, xmm2
jmp 0x140119d5a
subsd xmm6, xmm2
jmp 0x140119d5a
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 0x140119dba
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 0x14011610b
xor r10d, r10d
jmp 0x140119dd1
xor r10d, r10d
mov r11d, 1
jmp 0x140119dd1
xor r10d, r10d
lea r11d, [r10 + 1]
mov edx, 4
mov ecx, 0x9000
test word [r14 + 0x14], cx
je 0x140119def
mov rcx, r14
call fcn.14012d49c
mov r14d, dword [rsp + 0x34]
jmp 0x1401179d9
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 0x14011841e
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 0x140119e48
mov rcx, rbx
call fcn.14012d49c
mov r9, qword [rsp + 0x40]
xor r10d, r10d
mov ecx, 0x9000
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
jmp 0x140119e4d
mov word [rbx + 0x14], r11w
test byte [rdi + 0x14], r11b
jne 0x140119973
mov rcx, rdi
mov word [rbx + 0x14], dx
call fcn.14011d680
not rax
mov qword [rbx], rax
jmp 0x1401179de
cmp ebx, 0x7e
ja 0x14011a51b
je 0x14011a4e0
cmp ebx, 0x78
ja 0x14011a2c0
je 0x14011a299
sub ebx, 0x73
je 0x14011a1f2
sub ebx, 1
je 0x14011a028
sub ebx, 1
je 0x140119eed
sub ebx, 1
je 0x14011a028
cmp ebx, 1
jne 0x14011841e
mov r8d, dword [r13 + 8]
mov r9b, r11b
mov edx, dword [r13 + 4]
mov rcx, r12
call fcn.14008e80c
test rax, rax
je 0x14011c88f
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov rcx, r15
mov edx, dword [r13 + 0xc]
call fcn.14011fc78
jmp 0x1401167a0
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
mov rcx, qword [r13 + 0x10]
xor edx, edx
mov rbx, rax
test rcx, rcx
jne 0x140119f0a
mov eax, edx
jmp 0x140119f16
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 0x140119fb3
mov qword [rsp + 0x20], rdx
mov r9b, cl
mov rdx, qword [r13 + 0x10]
mov rcx, rbx
or r8, 0xffffffffffffffff
call fcn.14011e5ac
mov r14d, eax
mov dword [rsp + 0x34], eax
xor eax, eax
test r14d, r14d
jne 0x14011c7e9
lea ecx, [rax + 2]
test byte [rbx + 0x14], cl
jne 0x140119f60
mov byte [rbx + 0x16], dil
jmp 0x140119f7b
cmp byte [rbx + 0x16], dil
je 0x140119f7b
mov dl, dil
mov rcx, rbx
call fcn.14011ea68
test eax, eax
jne 0x14011c88f
xor eax, eax
mov ecx, 0x2000
mov dword [rbx + 0x20], eax
or word [rbx + 0x14], cx
cmp byte [r13 + 1], 0xfa
jne 0x140119f9f
mov rdx, qword [r13 + 0x10]
test rdx, rdx
je 0x140119f9f
mov rcx, r15
call fcn.1400ea6c0
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 0x14011c7e9
mov byte [r13], 0x49
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
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 0x14011a7d6
movsxd rcx, dword [r13 + 0xc]
lea r11d, [r10 + 1]
movzx eax, word [r13 + 2]
imul rdx, rcx, 0x38
cmp qword [rdx + rsi], rax
jne 0x140116760
mov eax, 0x2210
mov word [r8 + 0x14], ax
jmp 0x140116760
cmp dword [r13 + 0xc], r10d
jle 0x14011a04f
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, [0x140161a32]
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 0x14011a0a5
mov rax, qword [rbp - 0x70]
test byte [rbx + 8], al
jne 0x14011a0a5
movsx eax, word [rbx + 0x48]
cmp dword [r13 + 8], eax
jg 0x14011a0a5
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.1400e3b30
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
lea edx, [rax + 4]
jmp 0x14011a1de
mov r8d, dword [r13 + 8]
xor r9d, r9d
mov rcx, r12
call fcn.14008e80c
mov rbx, rax
test rax, rax
je 0x14011c88f
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.1400e579c
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x14011c2fd
mov rcx, qword [rdi]
xor r8d, r8d
mov edx, r12d
call fcn.1400e382c
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011a1b0
mov r14, qword [r13 + 0x10]
lea rsi, [rbx + 0x44]
mov rcx, qword [rdi]
mov qword [rbx + 0x38], r14
test r14, r14
je 0x14011a182
movzx r8d, word [r13 + 2]
mov rdx, rsi
or r8d, 2
call fcn.1400e41f4
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14011a177
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.1400e4258
mov r14d, eax
mov dword [rsp + 0x34], eax
xor r10d, r10d
jmp 0x14011a17c
mov r14d, dword [rsp + 0x34]
mov byte [rbx + 4], r10b
jmp 0x14011a1ab
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.1400e4258
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 0x14011c7d1
mov dil, byte [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov r11d, 1
mov byte [rbx + 2], r11b
jmp 0x1401180a2
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.14008e80c
mov r10, rax
test rax, rax
je 0x14011c88f
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.1400e4258
mov r14d, eax
mov dword [rsp + 0x34], eax
jmp 0x140116d5f
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 0x1401160fc
jmp 0x1401176d6
sub ebx, 0x79
je 0x14011a49b
sub ebx, 1
je 0x14011a463
sub ebx, r8d
je 0x14011a322
cmp ebx, 1
jne 0x14011841e
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 0x14011a305
movzx eax, word [r13 + 8]
mov word [rdx + 0xc], ax
jmp 0x1401160fc
mov ecx, 0x9000
cmp eax, dword [r13 + 0xc]
jle 0x140118312
movzx eax, word [r13 + 0xc]
mov word [rdx + 0xc], ax
jmp 0x140118312
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 0x140116dd3
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.1400c71d4
mov ecx, dword [rbx + 0x40]
mov eax, ecx
sub rax, r12
cmp rax, 0x7ffffffe
ja 0x14011a3fd
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.14011e180
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x14011c2fd
mov rdx, qword [rbp + 0x168]
lea r8, [rbp + 0x48]
mov ecx, dword [rbp + 0x170]
xor r9d, r9d
call fcn.14011f260
xor r10d, r10d
mov ebx, eax
cmp dword [rbp + 0x180], r10d
je 0x14011a3f3
lea rcx, [rbp + 0x160]
call fcn.14012d460
xor r10d, r10d
mov r14d, r10d
mov dword [rsp + 0x34], r10d
jmp 0x14011a41c
mov ecx, 0x14eb8
call fcn.1400e8e48
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
mov ebx, r10d
test eax, eax
jne 0x14011c2fd
test ebx, ebx
jg 0x14011a457
je 0x14011a45b
test esi, esi
jle 0x14011a7e1
mov rcx, qword [rdi + 0x30]
xor edx, edx
sub esi, r12d
call fcn.1400e5754
xor r10d, r10d
mov r14d, eax
test eax, eax
je 0x14011a36c
cmp eax, 0x65
jne 0x14011c2fd
mov r14d, r10d
mov dword [rsp + 0x34], r10d
add r13, 0x18
mov r11, r12
jmp 0x140116dae
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
test rdx, rdx
je 0x14011a489
mov rcx, r12
call fcn.14011cfac
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 0x1401160fc
mov r8d, dword [r13 + 0xc]
mov r9d, 3
mov edx, dword [r13 + 4]
mov rcx, r12
call fcn.14008e80c
xor r10d, r10d
test rax, rax
je 0x14011c88f
lea r11d, [r10 + 1]
mov byte [rax + 2], r11b
mov ecx, dword [r13 + 8]
mov dword [rax + 0x24], ecx
lea rcx, [0x14017d893]
mov qword [rax + 0x30], rcx
mov byte [rax + 4], r11b
jmp 0x140116760
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
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 0x140117657
mov eax, 0x84
cmp ebx, eax
ja 0x14011a9cc
je 0x14011a97b
sub ebx, 0x7f
je 0x14011a7e9
sub ebx, 1
je 0x14011a691
sub ebx, 1
je 0x14011a653
sub ebx, 1
je 0x14011a571
cmp ebx, 1
jne 0x14011841e
mov rax, qword [r12 + 0x38]
add qword [r15 + 0x80], rax
mov qword [r15 + 0x78], rax
mov qword [r12 + 0x38], r10
jmp 0x14011841e
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 0x14011a5d5
cmp qword [rsi], r10
je 0x14011a5d5
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 0x14011a5db
cmp byte [rdi + 4], r10b
je 0x14011a5db
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.1400c71d4
mov rax, qword [rbx + 0x30]
mov rbx, qword [rsp + 0x50]
mov qword [rdi + 0x50], rax
jmp 0x14011a5db
mov r15, r10
mov r14, r10
mov dl, byte [r13 + 2]
mov rcx, qword [rdi + 0x30]
call fcn.1400e42e4
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov qword [rdi + 0x20], r10
test eax, eax
jne 0x14011c8cd
lea r11d, [rax + 1]
test r11b, r12b
je 0x140118991
add qword [rbx + 0x38], r11
mov r10, qword [rsi]
test r10, r10
je 0x14011a7ba
test r14, r14
je 0x14011a7ba
test byte [r14 + 0x30], 0x80
jne 0x14011a7ba
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 0x140119de5
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 0x14011a67c
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + rsi]
jmp 0x14011a67f
mov r8, r10
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
call fcn.1400e6840
jmp 0x1401167a0
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 0x14011a6e3
cmp qword [r15 + 0x140], r10
je 0x14011a6e3
movsx rcx, byte [rbx + 1]
mov rax, qword [r15 + 0x20]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x14011a6e9
mov rdi, r10
mov rsi, r10
test byte [r13 + 2], r11b
je 0x14011a6f4
add qword [r12 + 0x38], r11
mov rax, qword [rbp - 0x48]
test byte [r13 + 2], al
je 0x14011a702
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 0x14011a72a
mov r9d, dword [rbx + 0x24]
jmp 0x14011a72d
mov r9d, r10d
mov rax, qword [rbp - 0x68]
test word [rdx + 0x14], ax
je 0x14011a741
mov eax, dword [rdx]
mov dword [rbp + 0xe8], eax
jmp 0x14011a748
mov dword [rbp + 0xe8], r10d
mov qword [rbp + 0xc0], r10
lea rdx, [rbp + 0xc0]
mov rcx, qword [rbx + 0x30]
and r8d, 0x8a
call fcn.1400e4d74
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 0x14011c2fd
test rdi, rdi
je 0x14011a7cc
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 0x1401179d9
mov r14d, dword [rsp + 0x34]
xor r10d, r10d
mov r15, qword [rsp + 0x60]
jmp 0x140116756
mov rsi, qword [rsp + 0x58]
mov dil, byte [rsp + 0x30]
mov r11d, 1
jmp 0x140116760
mov r11, r12
jmp 0x140116756
mov rbx, r10
mov dword [rsp + 0x6c], r10d
mov rdx, r13
mov qword [rbp - 0x78], rbx
mov rcx, r12
call fcn.1400d0f50
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 0x14011a879
mov rcx, qword [rsi + 0x30]
lea rdx, [rsp + 0x6c]
call fcn.1400e5620
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14011c8f9
cmp dword [rsp + 0x6c], r10d
je 0x14011a84a
lea eax, [rdi - 1]
mov ebx, eax
mov qword [rbp - 0x78], rax
jmp 0x14011a87c
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.1400c71d4
mov rbx, qword [rbx + 0x30]
movabs rax, 0x7fffffffffffffff
mov qword [rbp - 0x78], rbx
cmp rbx, rax
jl 0x14011a872
or dword [rsi + 8], edi
jmp 0x14011a879
inc rbx
mov qword [rbp - 0x78], rbx
xor r10d, r10d
movsxd rdx, dword [r13 + 0xc]
test edx, edx
je 0x14011a8f8
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x14011a8ad
mov rax, qword [rcx + 8]
jmp 0x14011a89e
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14011a897
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14011a8b6
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x58]
mov rcx, rdi
call fcn.14011e314
mov rax, qword [rdi]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14011c7de
mov ecx, 2
test byte [rsi + 8], cl
jne 0x14011c7de
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 0x14011a966
mov edi, r10d
mov r12d, 1
mov ecx, dword [rbp - 0x70]
lea rdx, [rbp - 0x78]
call fcn.14008b014
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.1400e6650
xor r10d, r10d
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x14011c8cd
cmp dword [rsp + 0x6c], r10d
jne 0x14011a966
add edi, r12d
cmp edi, 0x64
jl 0x14011a907
lea r14d, [rax + 0xd]
jmp 0x14011c2fd
mov byte [rsi + 3], r10b
mov dword [rsi + 0x20], r10d
mov qword [r14], rbx
mov r14d, dword [rsp + 0x34]
jmp 0x1401160e7
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.14011fb80
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
lea r11d, [rax + 1]
cmp dword [rsp + 0x68], r10d
jne 0x140116dae
jmp 0x140116760
sub ebx, 0x85
je 0x14011abd7
sub ebx, 1
je 0x14011ab54
sub ebx, 1
je 0x14011aa73
cmp ebx, 1
jne 0x14011841e
movsxd rdx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rax, qword [rax + rdx*8]
test rax, rax
jne 0x14011aa42
lea r9d, [rbx + 2]
mov r8d, r11d
mov rcx, r12
call fcn.14008e80c
xor r10d, r10d
test rax, rax
je 0x14011c88f
mov rcx, qword [rbp - 0x70]
mov r11d, ebx
or dword [rax + 8], ecx
lea rcx, [0x14017d893]
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 0x1401160fc
mov rbx, qword [rax + 0x30]
mov rcx, qword [rbx + 0x18]
call fcn.14008ae74
xor r10d, r10d
mov qword [rbx + 0x18], r10
lea r11d, [r10 + 1]
mov byte [rbx], r11b
jmp 0x140116760
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
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 0x14011aaa5
lea r11d, [r10 + 1]
mov word [rax + 0x14], r11w
jmp 0x14011675b
cmp byte [rbx + 3], r10b
je 0x14011aab4
mov rax, qword [rbx + 0x50]
jmp 0x14011ab48
mov eax, 2
cmp byte [rbx], al
jne 0x14011aaf2
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.1401211cc
xor r10d, r10d
test r14d, r14d
jne 0x14011c2fd
mov rax, qword [rbp + 8]
jmp 0x14011ab4c
mov rax, qword [rbx + 0x30]
cmp byte [rax], r10b
je 0x14011ab17
mov rcx, rbx
call fcn.14011d508
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
jmp 0x14011ab1f
mov r14d, r10d
mov dword [rsp + 0x34], r10d
cmp byte [rbx + 2], r10b
je 0x14011ab35
mov r11d, 1
mov word [rdi + 0x14], r11w
jmp 0x14011675b
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.1400c71d4
mov rax, qword [rbx + 0x30]
xor r10d, r10d
mov qword [rbp + 8], rax
mov qword [rdi], rax
jmp 0x1401160ec
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
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.1400c71d4
mov edx, dword [rbx + 0x40]
cmp edx, dword [r15 + 0x88]
ja 0x14011c7e9
mov r8, rdi
mov rcx, rbx
call fcn.14011e180
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
cmp dword [r13 + 0xc], r10d
jne 0x1401160ec
mov eax, dword [rbp - 0x60]
test word [rdi + 0x14], ax
je 0x1401160ec
mov rcx, rdi
call fcn.14011e344
xor r10d, r10d
test eax, eax
jne 0x14011c88f
jmp 0x1401160ec
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.140120080
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
movsxd rcx, dword [r13 + 0xc]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x20], r10d
jmp 0x1401160f1
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 0x14011ac44
or dword [rdi + 0x24], 0xffffffff
cmp byte [rcx], r10b
je 0x140116dd3
lea rdx, [rsp + 0x68]
call fcn.1400e5620
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 0x14011c2fd
cmp dword [r13 + 8], r10d
jle 0x1401160ec
test eax, eax
je 0x1401160ec
jmp 0x140116da8
mov r14d, dword [rsp + 0x34]
xor r10d, r10d
jmp 0x140116dae
cmp ebx, 0xa0
ja 0x14011b7ce
je 0x14011b76e
mov eax, 0x95
cmp ebx, eax
ja 0x14011b345
je 0x14011b219
mov eax, 0x8f
cmp ebx, eax
ja 0x14011afd1
je 0x14011afb0
sub ebx, 0x8a
je 0x14011aeff
sub ebx, 1
je 0x14011aeab
sub ebx, 1
je 0x14011addc
sub ebx, 1
je 0x14011acf8
cmp ebx, 1
jne 0x14011841e
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 0x14011ad36
mov rcx, rbx
call fcn.14011d508
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
mov r9, qword [rsp + 0x40]
lea edx, [rax + 4]
lea r11d, [rax + 1]
jmp 0x14011ad3e
mov r14d, r10d
mov dword [rsp + 0x34], r10d
cmp byte [rbx + 2], r10b
jne 0x14011adbd
mov rdx, qword [rbx + 0x30]
lea r8, [rsp + 0x78]
mov rcx, r15
mov qword [rsp + 0x78], r10
call fcn.14011d558
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
cmp byte [r13], 0x8d
jne 0x14011ada8
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 0x140116760
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
mov rcx, qword [rsp + 0x78]
jmp 0x140118119
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x140118fb5
jmp 0x140116d5a
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.1400e49c8
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
cmp dword [rbp - 4], r10d
jne 0x14011ae75
lea edx, [rax + 4]
mov rcx, rdi
call fcn.1400e42e4
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
mov r11d, 1
and qword [rbx + 0x20], 0
jmp 0x14011675b
cmp word [r13 + 2], r10w
je 0x14011ae65
mov eax, dword [r15 + 0x30]
mov r11d, 1
and eax, 0x10000001
cmp rax, r11
je 0x14011ae6b
lea r8, str.index_corruption
mov edx, 0x1715d
mov ecx, 0x30b
call fcn.14010ce44
jmp 0x14011c597
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 0x14011aee3
mov rcx, rbx
call fcn.14011df94
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x14011c2fd
mov rdx, rbx
mov rcx, rdi
call fcn.140120140
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jmp 0x14011731c
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 0x14011af22
add qword [r12 + 0x38], r11
mov rax, qword [rbp - 0x68]
test word [rbx + 0x14], ax
je 0x14011af42
mov rcx, rbx
call fcn.14011df94
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x14011c2fd
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 0x14011af8a
mov r9d, dword [rdi + 0x24]
jmp 0x14011af8d
mov r9d, r10d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x2a0]
and r8d, 0x8a
call fcn.1400e4d74
xor r10d, r10d
mov dword [rdi + 0x20], r10d
jmp 0x14011aef1
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], r10b
je 0x1401180a2
call fcn.14011cea8
jmp 0x1401167a0
sub ebx, 0x90
je 0x14011b101
sub ebx, 1
je 0x14011b0ac
sub ebx, 1
je 0x14011b071
sub ebx, 1
je 0x14011b021
cmp ebx, 1
jne 0x14011841e
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.140089188
dec byte [r15 + 0x70]
jmp 0x1401167a0
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
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.1400e41f4
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011c2fd
mov eax, dword [rsp + 0x68]
mov qword [rbx], rax
jmp 0x1401160f1
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r11b
jne 0x14011b094
mov rdx, qword [rcx + 0x30]
mov rcx, r15
call fcn.14011ff08
jmp 0x140116d5f
mov rcx, qword [rcx + 0x30]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.1400e3b30
jmp 0x1401167a0
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.1400e3b30
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
cmp dword [r13 + 0xc], r10d
je 0x14011b0f9
mov rdx, qword [rbp + 0x18]
add qword [r12 + 0x38], rdx
cmp dword [r13 + 0xc], r10d
jle 0x14011b0f9
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add qword [rcx + rsi], rdx
test r14d, r14d
jmp 0x1401167ac
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
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 0x14011c814
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 0x14011b16a
add dword [rbx + 0x14], r11d
cmp byte [rbx + 0x12], cl
jne 0x14011b16a
mov rcx, rbx
call fcn.140093358
lea r8, [rsp + 0x68]
mov edx, esi
mov rcx, rbx
call fcn.140092db0
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r12d, eax
cmp byte [rbx + 0x11], r10b
je 0x14011b19a
sub dword [rbx + 0x14], 1
jne 0x14011b19a
mov rcx, rbx
call fcn.14012ae84
xor r10d, r10d
movsxd rdx, dword [rsp + 0x68]
mov eax, 4
mov word [rdi + 0x14], ax
mov qword [rdi], rdx
test r12d, r12d
jne 0x14011c8cd
test edx, edx
je 0x14011bae5
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 0x14011b1e4
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x28], edx
jne 0x14011b1e1
mov dword [rax + 0x28], r9d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14011b1d4
mov rax, qword [r14 + r8 + 0x18]
mov rcx, qword [rax + 0x28]
jmp 0x14011b204
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x14011b201
mov dword [rax + 0x58], r9d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x14011b1f4
lea r11d, [rcx + 1]
lea eax, [r11 + r15]
mov byte [rbp - 0x80], al
jmp 0x140118991
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 0x14011b27b
mov rcx, qword [r8 + 0x18]
call fcn.14010e1a8
and dword [r15 + 0x2c], 0xffffffef
mov r8, rdi
movzx r9d, word [r13 + 2]
mov edx, ebx
mov rcx, r15
call fcn.1401024f0
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 0x14011b337
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.140104f00
xor edi, edi
mov rbx, rax
test rax, rax
je 0x14011c832
lea eax, [rdi + 1]
mov dword [rbp + 0x34], edi
lea r9, [rbp + 0x20]
mov byte [r15 + 0xc5], al
lea r8, [fcn.140102254]
mov dword [rbp + 0x3c], edi
mov rdx, rbx
mov qword [rsp + 0x20], rdi
mov rcx, r15
call fcn.140089188
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x14011b31e
mov r14d, dword [rbp + 0x34]
mov dword [rsp + 0x34], r14d
test r14d, r14d
jne 0x14011b31e
cmp dword [rbp + 0x3c], edi
jne 0x14011b31e
mov ecx, 0x17326
call fcn.1400e8e48
mov r14d, eax
mov dword [rsp + 0x34], eax
mov rdx, rbx
mov rcx, r15
call fcn.1400ea6c0
xor r10d, r10d
mov byte [r15 + 0xc5], r10b
lea r11d, [r10 + 1]
test r14d, r14d
jne 0x14011c838
jmp 0x14011675b
mov eax, 0x9b
cmp ebx, eax
ja 0x14011b632
je 0x14011b4fc
sub ebx, 0x96
je 0x14011b4eb
sub ebx, 1
je 0x14011b4a7
sub ebx, 1
je 0x14011b42f
sub ebx, 1
je 0x14011b417
cmp ebx, 1
jne 0x14011841e
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.140101b7c
xor r10d, r10d
mov rbx, rax
test rax, rax
je 0x1401160ec
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x14011b3fd
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.14009dfe0
mov rcx, qword [rax + 0x10]
test rcx, rcx
je 0x14011b3fd
add rcx, 0x58
mov rax, qword [rcx]
jmp 0x14011b3f3
lea rdx, [rax + 0x40]
cmp rax, rbx
mov rax, qword [rdx]
je 0x14011b3fa
mov rcx, rdx
test rax, rax
jne 0x14011b3e4
jmp 0x14011b3fd
mov qword [rcx], rax
mov rdx, rbx
mov rcx, r15
call fcn.1400eb854
mov r11d, 1
or dword [r15 + 0x2c], r11d
jmp 0x140117657
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
mov rcx, qword [rbp - 0x70]
mov word [rax + 0x14], cx
jmp 0x1401180fb
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.140101b7c
xor r10d, r10d
mov rdx, rax
test rax, rax
je 0x14011b498
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x14011b47e
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x14011b48d
lea r8, [rcx]
mov rcx, qword [rcx + 0x28]
cmp rcx, rdx
je 0x14011b485
test rcx, rcx
jne 0x14011b472
jmp 0x14011b48d
mov rax, qword [rdx + 0x28]
mov qword [r8 + 0x28], rax
mov rcx, r15
call fcn.1400f2e48
xor r10d, r10d
mov r11d, 1
or dword [r15 + 0x2c], r11d
jmp 0x140116760
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.140101b7c
xor r10d, r10d
test rax, rax
je 0x14011b498
cmp qword [r15 + 0x300], r10
jne 0x14011b4de
add dword [rax + 0x2c], 0xffffffff
jne 0x14011b498
mov rdx, rax
mov rcx, r15
call fcn.140099b6c
jmp 0x14011b495
mov edx, dword [r13 + 4]
mov rcx, r15
call fcn.1400e1b34
jmp 0x1401167a0
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.1400e5240
mov rsi, rax
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x14011b567
mov rcx, rbx
call fcn.14012d49c
mov edx, 1
jmp 0x14011b570
mov edx, 1
mov word [rbx + 0x14], dx
mov eax, dword [rbp]
test eax, eax
je 0x14011b5a6
test rsi, rsi
je 0x14011c88f
dec eax
mov r9b, dl
movsxd rcx, eax
or r8, 0xffffffffffffffff
sub qword [rdi], rcx
lea rax, [fcn.14008ae74]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, rsi
call fcn.14011e5ac
mov dil, byte [rsp + 0x30]
mov eax, 2
test byte [rbx + 0x14], al
jne 0x14011b5bb
mov byte [rbx + 0x16], dil
jmp 0x14011b5cc
cmp byte [rbx + 0x16], dil
je 0x14011b5cc
mov dl, dil
mov rcx, rbx
call fcn.14011ea68
mov rsi, qword [rsp + 0x58]
xor r10d, r10d
mov eax, dword [r15 + 0x198]
test eax, eax
jne 0x14011c896
mov rbx, qword [rsp + 0x48]
mov r12, qword [rbp - 0x10]
cmp r12, rbx
jb 0x1401160ec
mov rdx, qword [r15 + 0x208]
test rdx, rdx
je 0x1401160ec
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 0x14011c855
cmp r12, rbx
jae 0x14011b5f5
jmp 0x1401160f1
sub ebx, 0x9c
je 0x14011b72e
sub ebx, 1
je 0x14011b6f3
sub ebx, 1
je 0x14011b6bc
cmp ebx, 1
jne 0x14011841e
mov rcx, qword [r12 + 0x108]
test rcx, rcx
je 0x14011b682
mov rax, qword [rcx + 8]
jmp 0x14011b66f
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14011b668
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14011b68d
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, rsi
mov rcx, rdi
call fcn.14011e314
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, rsi
mov rcx, rbx
call fcn.14011e314
mov rax, qword [rbx]
xor r10d, r10d
cmp qword [rdi], rax
jge 0x1401160ec
jmp 0x14011ab4c
mov eax, dword [r15 + 0x30]
bt rax, 0x13
movsxd rax, dword [r13 + 8]
jae 0x14011b6d7
add qword [r15 + 0x2f8], rax
jmp 0x14011841e
cmp dword [r13 + 4], r10d
je 0x14011b6e9
add qword [r15 + 0x2f0], rax
jmp 0x14011841e
add qword [r12 + 0x50], rax
jmp 0x14011841e
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
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 0x14011843e
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 0x14011b75d
mov rcx, rbx
call fcn.14011e4e4
test eax, eax
jne 0x14011c88f
mov rdx, qword [rdi]
mov rcx, qword [rbx + 8]
call fcn.14010d690
jmp 0x1401179de
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.1400d0f50
mov rcx, qword [rbx + rsi]
xor r11d, r11d
mov qword [rsp + 0x78], rcx
mov r10, rax
test rcx, rcx
jle 0x14011b7c5
mov rdx, qword [rdi]
lea rcx, [rsp + 0x78]
test rdx, rdx
cmovle rdx, r11
call fcn.1400e0360
test eax, eax
jne 0x14011b7c5
mov rax, qword [rsp + 0x78]
mov qword [r10], rax
jmp 0x1401179de
or qword [r10], 0xffffffffffffffff
jmp 0x1401179de
cmp ebx, 0xab
ja 0x14011bcdb
je 0x14011bc31
mov r8d, 0xa6
cmp ebx, r8d
ja 0x14011bb49
je 0x14011baef
sub ebx, 0xa1
je 0x14011b910
sub ebx, 1
je 0x14011b910
sub ebx, 1
je 0x14011b9a8
sub ebx, 1
je 0x14011b821
cmp ebx, 1
jne 0x14011841e
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, rsi
mov rsi, qword [r13 + 0x10]
cmp dword [r13 + 0xc], r10d
je 0x14011b8c6
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 sub.VCRUNTIME140.dll_memset
mov eax, 0x9000
test word [rdi + 0x14], ax
je 0x14011b86e
mov rcx, rdi
call fcn.14012d49c
jmp 0x14011b877
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 0x14011b8dd
mov rdx, rsi
mov rcx, rbx
call fcn.14011dff8
mov rsi, qword [rsp + 0x58]
mov r14d, eax
mov dword [rsp + 0x34], eax
xor r10d, r10d
test r14d, r14d
jne 0x14011c870
lea eax, [r10 + 2]
test byte [rbx + 0x14], al
je 0x140118260
cmp byte [rbx + 0x16], dil
je 0x1401160ec
mov dl, dil
mov rcx, rbx
call fcn.14011ea68
jmp 0x140116d5f
movzx ebx, word [r13 + 2]
mov rcx, r15
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.1400ea778
xor r10d, r10d
mov r8, rax
test rax, rax
je 0x14011c88f
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 0x14011ba0c
movzx eax, byte [rbx + 0x2a]
mov edx, eax
mov qword [rbx + 0x10], r8
sub rdx, 1
lea r10d, [rax - 1]
js 0x14011ba0c
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 0x14011b9e4
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 0x14011ba2f
call qword [rax + 0x30]
jmp 0x14011ba32
call qword [rax + 0x18]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x1401160ec
jle 0x14011ba6c
mov rcx, qword [rbx]
lea edx, [r10 + 1]
call fcn.140115074
mov r8, rax
lea rdx, [0x1401641b0]
mov rcx, r12
call fcn.140115cc8
mov r14d, dword [rbx + 0x24]
xor r10d, r10d
mov dword [rsp + 0x34], r14d
cmp byte [rbx + 0x29], r10b
je 0x14011bab2
cmp dword [r13 - 0x14], r10d
je 0x14011baae
movsxd rax, dword [r13 - 0x14]
imul rcx, rax, 0x38
mov eax, 0x9000
add rcx, rsi
test word [rcx + 0x14], ax
je 0x14011ba9d
mov edx, 1
call fcn.14012e53c
xor r10d, r10d
jmp 0x14011baae
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 0x14011bac6
cmp dword [rcx + 0x20], r10d
je 0x14011bace
call fcn.14012d460
xor r10d, r10d
mov rax, qword [rbx]
mov r11d, 1
mov word [rax + 0x14], r11w
mov dword [rbx + 0x24], r10d
jmp 0x14011958e
mov r14d, dword [rsp + 0x34]
jmp 0x1401160e2
cmp dword [r13 + 4], r10d
jne 0x14011bb2a
mov rcx, qword [r15 + 8]
mov edx, dword [r13 + 8]
test rcx, rcx
je 0x140116101
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 0x14011bb0b
jmp 0x1401160fc
mov eax, dword [r13 + 8]
add eax, r11d
xor eax, dword [r12 + 0xc8]
and eax, 3
xor dword [r12 + 0xc8], eax
jmp 0x14011841e
sub ebx, 0xa7
je 0x14011bc17
sub ebx, 1
je 0x14011bbfd
sub ebx, 1
je 0x14011bba2
cmp ebx, 1
jne 0x14011841e
mov rbx, qword [r13 + 0x10]
mov rcx, r15
mov rdx, rbx
call fcn.140120880
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test rbx, rbx
je 0x14011b0f9
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.1401211cc
xor r10d, r10d
jmp 0x14011b0f9
mov r8b, byte [r13 + 0xc]
test r8b, r8b
jne 0x14011bbb9
mov eax, dword [r15 + 0x30]
test qword [rbp - 0x68], rax
jne 0x14011841e
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.1400e5688
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
je 0x1401160f1
cmp al, 6
jne 0x14011c2fd
mov r8, qword [r13 + 0x10]
lea rdx, str.database_table_is_locked:__s
jmp 0x14011c2d5
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 0x1401180a2
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 0x1401180a2
xor edx, edx
lea rcx, [rbp + 0x230]
lea r8d, [rdx + 0x38]
call sub.VCRUNTIME140.dll_memset
movsxd rax, dword [r13 + 8]
lea rcx, [rbp + 0x230]
imul rdx, rax, 0x38
mov qword [rbp + 0x248], r15
add rdx, rsi
call fcn.14011df10
mov edx, 1
mov dword [rsp + 0x34], eax
lea rcx, [rbp + 0x230]
mov r14d, eax
call fcn.140115074
xor r10d, r10d
test rax, rax
je 0x14011bca2
mov edx, dword [r13 + 4]
lea r9, [r12 + 0xa8]
mov r8, rax
mov rcx, r15
call fcn.140120b70
mov r14d, eax
mov dword [rsp + 0x34], eax
xor r10d, r10d
mov ecx, 0x9000
test word [rbp + 0x244], cx
jne 0x14011bcb9
cmp dword [rbp + 0x250], r10d
je 0x14011bccd
lea rcx, [rbp + 0x230]
call fcn.14012d460
xor r10d, r10d
mov ecx, 0x9000
test r14d, r14d
jne 0x14011c2fd
jmp 0x140116d25
mov eax, 0xb1
cmp ebx, eax
ja 0x14011c041
je 0x14011c019
sub ebx, 0xac
je 0x14011bff6
sub ebx, 1
je 0x14011bf72
sub ebx, 1
je 0x14011bef0
sub ebx, 1
je 0x14011bdb3
cmp ebx, 1
jne 0x14011841e
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 0x14011bd4e
mov byte [rbx + 0x16], r11b
jmp 0x14011bd6d
cmp byte [rbx + 0x16], r11b
je 0x14011bd6d
mov dl, r11b
mov rcx, rbx
call fcn.14011ea68
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x14011c2fd
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 0x14011bd8e
btr qword [r15 + 0x30], 0x1a
mov rdx, rsi
mov rcx, r12
call fcn.1401211cc
and dword [r12 + 0xc8], 0xfffffffc
xor r10d, r10d
test r14d, r14d
jne 0x14011c2fd
jmp 0x1401160e7
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 0x14011bded
mov ecx, 0x9000
test word [rbx + 0x14], cx
je 0x14011996e
mov rcx, rbx
call fcn.14012d49c
jmp 0x1401179de
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 sub.VCRUNTIME140.dll_memset
mov al, byte [rsp + 0x30]
mov ecx, 1
mov qword [rbp + 0x268], rbx
mov byte [rbp + 0x290], al
test byte [r13 + 2], cl
je 0x14011be49
mov eax, 0x9000
test word [rbx + 0x14], ax
je 0x14011be3a
mov rcx, rbx
call fcn.14012d49c
jmp 0x14011be3e
mov word [rbx + 0x14], cx
xor ecx, ecx
mov eax, 0x401
mov dword [rbx], ecx
jmp 0x14011be58
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.1401211cc
xor eax, eax
cmp dword [rbp + 0x28c], eax
jle 0x14011beb4
lea edx, [rax + 1]
mov rcx, rbx
call fcn.140115074
mov r8, rax
lea rdx, [0x1401641b0]
mov rcx, r12
call fcn.140115cc8
mov r14d, dword [rbp + 0x28c]
mov dword [rsp + 0x34], r14d
mov dil, byte [rsp + 0x30]
mov eax, 2
test byte [rbx + 0x14], al
jne 0x14011bec9
mov byte [rbx + 0x16], dil
jmp 0x14011beda
cmp byte [rbx + 0x16], dil
je 0x14011beda
mov dl, dil
mov rcx, rbx
call fcn.14011ea68
xor r10d, r10d
test r14d, r14d
jne 0x14011c2fd
mov rsi, qword [rsp + 0x58]
jmp 0x1401160f1
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbp - 0x58]
call fcn.14008a904
mov rdi, rax
test rax, rax
je 0x14011c88f
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.1400d0f50
mov rbx, rax
mov eax, 1
mov rcx, rbx
mov word [rbx + 0x14], ax
call fcn.14012d460
lea rax, str.ValueList
mov qword [rbx + 8], rdi
mov qword [rbx], rax
mov eax, 0x1a01
mov word [rbx + 0x14], ax
lea rax, [fcn.14008ae74]
mov qword [rbx + 0x30], rax
mov byte [rbx + 0x17], 0x70
jmp 0x1401179de
mov rax, qword [r13 + 0x10]
mov qword [rbp - 0x18], r10
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14011c577
mov rdi, qword [rbx]
test rdi, rdi
je 0x14011c577
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.1401211cc
xor r10d, r10d
test r14d, r14d
jne 0x14011c2fd
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.14008e80c
mov rcx, qword [rbp - 0x18]
xor r10d, r10d
test rax, rax
je 0x14011c88c
lea r11d, [r14 + 1]
mov qword [rax + 0x30], rcx
add dword [rbx + 8], r11d
jmp 0x14011675b
add dword [r15 + 0xe8], r11d
mov rcx, r15
mov r8, qword [r13 + 0x10]
mov edx, dword [r13 + 4]
call fcn.140120c80
dec dword [r15 + 0xe8]
jmp 0x1401167a0
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
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 0x140118102
sub ebx, 0xb2
je 0x14011c1f8
sub ebx, 1
je 0x14011c1e1
sub ebx, 1
je 0x14011c1a4
cmp ebx, 1
jne 0x14011841e
mov al, byte [r15 + 0x6e]
test al, 0x41
je 0x14011c141
cmp byte [r12 + 0xc3], 0xfe
je 0x14011c141
mov r9, qword [r13 + 0x10]
test r9, r9
jne 0x14011c09d
mov r9, qword [r12 + 0xf8]
test r9, r9
je 0x14011c13c
test al, 0x40
je 0x14011c0ca
mov rdx, r9
mov rcx, r12
call fcn.14011ca7c
mov rcx, qword [r15 + 0x100]
mov rdx, rax
mov rbx, rax
call qword [r15 + 0xf8]
mov rcx, rbx
call fcn.14008ae74
jmp 0x14011c12a
cmp dword [r15 + 0xe4], r11d
jle 0x14011c116
mov r8, r9
lea rdx, str.____s
mov rcx, r15
call fcn.140104f00
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 0x14011c12d
mov rdx, rbx
mov rcx, r15
call fcn.1400ea6c0
jmp 0x14011c12a
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 [0x1401783d8]
jl 0x14011c191
cmp byte [r13], 0xb5
je 0x14011841e
mov edx, r11d
cmp dword [r12 + 0x90], r11d
jle 0x14011c18e
mov eax, 0x18
mov rcx, qword [r12 + 0x88]
cmp byte [rax + rcx], 0xe
jne 0x14011c17d
mov dword [rax + rcx + 4], r10d
add edx, r11d
add rax, 0x18
cmp edx, dword [r12 + 0x90]
jl 0x14011c16a
mov eax, r10d
inc eax
mov dword [r13 + 4], eax
add dword [r12 + 0xec], r11d
jmp 0x1401176d6
movsxd rax, dword [r13 + 4]
mov rdx, r13
mov rcx, rsi
imul rbx, rax, 0x38
call fcn.14009da64
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 0x140116d5f
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0xf7ff
and word [rcx + rsi + 0x14], ax
jmp 0x1401180a2
mov rdx, r13
mov rcx, r12
call fcn.1400d0f50
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 0x14011c231
mov rcx, qword [rbx + 8]
mov edi, dword [rcx + 0x40]
cmp edi, edx
cmovb edi, edx
cmp byte [rbx + 0x11], r10b
je 0x14011c250
mov eax, 1
add dword [rbx + 0x14], eax
cmp byte [rbx + 0x12], r10b
jne 0x14011c250
mov rcx, rbx
call fcn.140093358
xor r10d, r10d
mov rax, qword [rbx + 8]
mov rcx, qword [rax]
test edi, edi
je 0x14011c261
mov dword [rcx + 0xbc], edi
mov edi, dword [rcx + 0xbc]
cmp byte [rbx + 0x11], r10b
je 0x14011c27e
sub dword [rbx + 0x14], 1
jne 0x14011c27e
mov rcx, rbx
call fcn.14012ae84
xor r10d, r10d
mov qword [rsi], rdi
jmp 0x1401160e7
mov r14d, dword [rsp + 0x34]
mov r13, rdx
jmp 0x140117cb6
mov r14d, dword [rsp + 0x34]
mov r15, qword [rsp + 0x60]
jmp 0x140119973
mov r15, qword [rsp + 0x60]
jmp 0x1401180a2
xor r10d, r10d
jmp 0x140116d2a
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.140115cc8
mov r12, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x14011c8d7
and eax, 0x100000
neg rax
sbb r14d, r14d
and r14d, 0xfffffffd
add r14d, 0xb
mov r12, qword [rsp + 0x38]
jmp 0x14011c8d7
mov rbx, qword [rsp + 0x50]
mov eax, 5
lea edi, [rax - 3]
cmp r14b, al
jne 0x14011c905
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 0x14011c421
movzx eax, byte [r15 + 0x65]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
cmp ebx, eax
je 0x14011c494
test ecx, ecx
je 0x14011c37f
mov edx, 0x204
mov rcx, r15
call fcn.14010d4c4
mov edi, 1
mov al, dil
jmp 0x14011c3c1
test ebx, ebx
je 0x14011c3a6
cmp dword [r15 + 0xe0], r10d
jle 0x14011c3a6
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r12
call fcn.140115cc8
mov r14d, 5
jmp 0x14011c2dd
mov edx, r11d
mov rcx, r12
call fcn.14011562c
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x14011c417
mov al, bl
lea edi, [r14 + 1]
mov rcx, r12
mov byte [r15 + 0x65], al
call fcn.14011d0d0
mov r8d, 5
cmp eax, r8d
jne 0x14011c478
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 0x14011ca25
mov rdx, qword [rcx + 0x208]
cmp rdx, r10
je 0x14011ca25
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 0x14011c430
or r13, 0xffffffffffffffff
lea r14d, [r10 + 9]
jmp 0x14011c8e6
mov rcx, r15
call fcn.1400e71d4
mov eax, dword [r12 + 0x34]
neg eax
sbb r14d, r14d
and r14d, 0xffffff9c
add r14d, 0x65
jmp 0x14011c414
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.140115cc8
mov r14d, 1
jmp 0x14011c2dd
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
jmp 0x14011c393
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x14011c393
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 0x14011c42b
mov r14d, 0x65
jmp 0x14011c417
mov r8, rsi
lea rdx, str.no_such_savepoint:__s
mov rcx, r12
call fcn.140115cc8
jmp 0x14011c4bd
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 0x14011c8dc
mov r14d, 6
jmp 0x14011c2fd
mov r14d, 0x14
jmp 0x14011c2fd
mov ecx, 0x1722a
call fcn.1400e8e48
mov r14d, eax
jmp 0x14011c2dd
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r12
mov r14d, r11d
call fcn.140115cc8
jmp 0x14011c2dd
mov ecx, dword [r13 + 4]
mov dword [r12 + 0x34], ecx
mov al, byte [r13 + 8]
mov byte [r12 + 0xc2], al
test ecx, ecx
je 0x14011c67f
mov rcx, r12
cmp word [r13 + 2], r10w
je 0x14011c627
movzx r8d, word [r13 + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0x15e960]
call fcn.140115cc8
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x14011c637
mov r8, qword [r12 + 0xa8]
lea rdx, str._z:__s
mov rcx, r15
call fcn.140104f00
mov qword [r12 + 0xa8], rax
jmp 0x14011c637
mov r8, qword [r13 + 0x10]
lea rdx, [0x1401641b0]
call fcn.140115cc8
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.140079d6c
mov rcx, r12
call fcn.14011d0d0
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 0x14011c6ad
mov dword [r12 + 0x34], eax
jmp 0x14011c6bf
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 0x14011c430
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 0x14011c88f
test byte [r15 + 0x6e], dl
je 0x14011c723
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 0x14011c417
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 + 0x15e0e0]
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 + 0x1786c0]
mov qword [rsp + 0x20], rax
mov r9, qword [r10 + r9*8 + 0x178408]
call fcn.140115cc8
mov r14d, 0xc13
jmp 0x14011c2dd
mov ecx, 0x164a2
jmp 0x14011c592
mov r14d, 0x204
jmp 0x14011c2fd
mov rcx, qword [rdi]
call fcn.1400e3bec
jmp 0x14011c2dd
mov r14d, 0xd
jmp 0x14011c2dd
mov r12, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x50]
lea rdx, str.string_or_blob_too_big
mov rcx, rbx
call fcn.140115cc8
mov r14d, 0x12
xor r10d, r10d
lea edi, [r14 - 0x10]
jmp 0x14011c8e1
mov edi, 2
xor r10d, r10d
mov byte [r12 + 0xc2], dil
mov r12, qword [rsp + 0x38]
lea r14d, [rdi + 4]
jmp 0x14011c8dc
mov r14d, 7
mov rcx, r15
call fcn.14010ce70
mov r12, qword [rsp + 0x38]
mov r13, qword [rsp + 0x48]
cmp r14d, 7
je 0x14011c8ac
xor r10d, r10d
jmp 0x14011c864
or r13, 0xffffffffffffffff
mov r12, qword [rsp + 0x38]
mov r14d, 9
mov rbx, qword [rsp + 0x50]
mov edi, 2
jmp 0x14011c8e6
mov edx, 1
mov rcx, rbx
call fcn.140115074
mov r8, rax
lea rdx, [0x1401641b0]
jmp 0x14011c2d5
call qword [rdi + 0x38]
mov r12, qword [rsp + 0x38]
jmp 0x14011c8a7
mov r13, qword [rsp + 0x48]
jmp 0x14011c859
mov r12, qword [rsp + 0x38]
mov r15, qword [rsp + 0x60]
mov r13, qword [rsp + 0x48]
mov rcx, r15
call fcn.140105734
mov rcx, qword [rsp + 0x50]
lea rdx, str.out_of_memory
call fcn.140115cc8
mov r14d, 7
jmp 0x14011c850
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 0x14011c90c
mov r14d, 7
jmp 0x14011c925
mov r12, qword [rsp + 0x38]
mov r14d, dword [rsp + 0x34]
jmp 0x14011c8dc
mov r12, qword [rsp + 0x38]
jmp 0x14011c8e1
cmp r14d, 0x210a
jne 0x14011c925
mov ecx, 0x17abe
call fcn.1400e8e48
mov r14d, eax
xor r10d, r10d
cmp qword [rbx + 0xa8], r10
jne 0x14011c951
cmp r14d, 0xc0a
je 0x14011c951
mov ecx, r14d
call fcn.1400ec894
mov r8, rax
lea rdx, [0x1401641b0]
mov rcx, rbx
call fcn.140115cc8
mov edx, r14d
mov dword [rbx + 0x34], r14d
mov rcx, r15
call fcn.140111acc
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.140079d6c
cmp byte [rbx + 0xc5], dil
jne 0x14011c9b6
mov rcx, rbx
call fcn.14011d0d0
cmp r14d, 0xc0a
jne 0x14011c9f4
mov rcx, r15
call fcn.140105734
xor r10d, r10d
mov rcx, r15
movzx eax, byte [rbp - 0x80]
mov r11d, 1
mov r14d, r11d
test al, al
je 0x14011c430
mov edx, eax
sub edx, r11d
call fcn.14010cefc
mov rcx, r15
jmp 0x14011c6c4
cmp r14d, 0xb
jne 0x14011c9c7
xor r10d, r10d
mov rcx, r15
cmp byte [r15 + 0x65], r10b
jne 0x14011c9cd
movabs rax, 0x200000000
or qword [r15 + 0x30], rax
jmp 0x14011c9cd
mov rbx, qword [rsp + 0x50]
mov edi, 2
jmp 0x14011c426
add dword [rbx + 0xe4], eax
cmp dword [rbx + 0xd0], r10d
je 0x14011ca3c
mov rcx, rbx
call fcn.14012d388
mov eax, r14d
mov rcx, qword [rbp + 0x2e0]
xor rcx, rsp
call fcn.14013dfe0
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