Function at 0x14002ccdc
Capabilities:
Authenticate hmac
Encrypt data using speck
Reference sql statements
Resolve function by parsing pe exports

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 - 0x188]
sub rsp, 0x260
movaps xmmword [rax - 0x38], xmm6
movaps xmmword [rax - 0x48], xmm7
movaps xmmword [rax - 0x58], xmm8
mov rax, qword [0x140101078]
xor rax, rsp
mov qword [rbp + 0x128], rax
mov rdi, qword [rcx + 0x88]
mov r12, rcx
mov qword [rsp + 0x68], rcx
xor ecx, ecx
mov r15d, ecx
mov dword [rsp + 0x38], ecx
mov byte [rbp - 0x77], cl
mov ebx, ecx
mov rsi, qword [r12]
mov r14, qword [r12 + 0x68]
mov dword [rbp - 0x5c], ecx
mov qword [rsp + 0x30], rcx
mov rcx, r12
mov al, byte [rsi + 0x5e]
mov byte [rsp + 0x3c], al
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x48], rdi
mov qword [rsp + 0x50], rsi
mov qword [rsp + 0x60], r14
call fcn.14002759c
xor r10d, r10d
cmp qword [rsi + 0x1e0], r10
je 0x14002cd96
mov ecx, dword [rsi + 0x1f0]
xor edx, edx
mov eax, dword [r12 + 0xe4]
div ecx
sub ecx, edx
mov r13d, ecx
jmp 0x14002cd9a
or r13, 0xffffffffffffffff
cmp dword [r12 + 0x38], 7
mov r11d, 1
mov qword [rsp + 0x40], r13
je 0x140032d38
mov dword [r12 + 0x38], r10d
mov qword [r12 + 0x48], r10
mov qword [r12 + 0xa0], r10
mov eax, dword [rsi + 0x170]
mov dword [rsi + 0x268], r10d
test eax, eax
jne 0x140032ca4
movsxd rax, dword [r12 + 0x34]
lea edx, [r11 + 3]
lea r9d, [r11 + 7]
mov dword [rbp - 0x70], 0x80
xorps xmm8, xmm8
lea r8d, [r11 + 1]
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
mov ecx, 0x2400
add rbx, r11
mov qword [rsp + 0x48], r13
mov qword [rsp + 0x30], rbx
mov eax, 5
movzx ebx, byte [r13]
cmp ebx, 0x54
ja 0x14002f320
je 0x14002f2de
cmp ebx, 0x2a
ja 0x14002e41c
je 0x14002e3c7
cmp ebx, 0x15
ja 0x14002dc52
je 0x14002dc0e
cmp ebx, 0xa
ja 0x14002d8d5
je 0x14002d7bd
cmp ebx, eax
ja 0x14002d42c
je 0x14002ce82
test ebx, ebx
je 0x14002d02c
sub ebx, 1
je 0x1400327a6
sub ebx, 1
je 0x14002ceeb
sub ebx, 1
je 0x14002ced1
cmp ebx, 1
jne 0x1400307e7
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rax, qword [r13 + 0x10]
mov rcx, qword [rbx + 0x38]
call qword [str.__r_]
mov dword [rsp + 0x38], eax
mov r15d, eax
xor r10d, r10d
mov dword [rbx + 0x28], r10d
test eax, eax
jne 0x14002d40b
mov byte [rbx + 2], r10b
lea r11d, [r15 + 1]
movzx eax, word [r13 + 2]
add dword [r12 + rax*4 + 0xd4], r11d
jmp 0x14002ea25
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, rsi
mov rdx, rbx
call fcn.140035d44
jmp 0x14002cea1
mov edx, dword [r13 + 8]
mov dword [rbp - 0x68], r10d
test edx, edx
je 0x14002cf05
mov eax, dword [rsi + 0x30]
bt rax, 0x14
jb 0x1400326e0
movsxd rcx, dword [r13 + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x14002cfe7
lea r8, [rbp - 0x68]
mov rcx, rbx
call fcn.14001c1a4
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x1400326e8
test byte [r12 + 0xc8], 0x40
lea r11d, [rax + 1]
je 0x14002cfdd
cmp dword [r13 + 8], r10d
je 0x14002cfdd
cmp byte [rsi + 0x5f], r10b
je 0x14002cf69
cmp dword [rsi + 0xcc], r11d
jle 0x14002cfdd
mov r8d, dword [r12 + 0x40]
test r8d, r8d
jne 0x14002cf8d
add dword [rsi + 0x2c4], r11d
mov r8d, dword [rsi + 0x2c0]
add r8d, dword [rsi + 0x2c4]
mov dword [r12 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, rsi
call fcn.140068454
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002cfbf
mov edx, dword [r12 + 0x40]
mov rcx, rbx
call fcn.14001d4e4
mov r15d, eax
mov dword [rsp + 0x38], eax
xor r10d, r10d
mov rax, qword [rsi + 0x2c8]
mov r11d, 1
mov qword [r12 + 0x58], rax
mov rax, qword [rsi + 0x2d0]
mov qword [r12 + 0x60], rax
mov r9d, 8
lea r8d, [r9 - 6]
cmp word [r13 + 2], r10w
je 0x14002d019
mov eax, dword [r13 + 0xc]
cmp dword [rbp - 0x68], eax
jne 0x14003272f
mov rax, qword [rsi + 0x20]
movsxd rcx, dword [r13 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [r13 + 0x10]
cmp dword [rcx + 4], eax
jne 0x14003272f
test r15d, r15d
jne 0x14002d55d
mov rbx, qword [rsp + 0x30]
jmp 0x14002d139
mov r12d, dword [r13 + 4]
mov rsi, qword [r13 + 0x10]
test r12d, r12d
jne 0x14002d151
mov r12, qword [rsp + 0x50]
cmp dword [r12 + 0xd0], r10d
jg 0x1400328c5
test rsi, rsi
jne 0x14002d05a
mov edi, r10d
jmp 0x14002d06c
mov rcx, rsi
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strlen]
mov rdi, rax
and edi, 0x3fffffff
mov r8d, dword [r12 + 0x2c4]
xor edx, edx
add r8d, dword [r12 + 0x2c0]
mov rcx, r12
call fcn.140068454
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002ddfe
mov edx, edi
mov rcx, r12
add rdx, 0x21
call fcn.1400096c8
xor r10d, r10d
mov rbx, rax
test rax, rax
je 0x1400326c3
lea r9, [rax + 0x20]
mov rdx, rsi
mov rcx, r9
mov qword [rax], r9
lea r8d, [rdi + 1]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
xor r10d, r10d
lea r11d, [r15 + 1]
mov rsi, r12
cmp byte [r12 + 0x5f], r10b
je 0x14002d0e9
mov byte [r12 + 0x5f], r10b
mov byte [r12 + 0x67], r11b
jmp 0x14002d0f1
add dword [r12 + 0x2c0], r11d
mov rax, qword [r12 + 0x2b0]
mov qword [rbx + 0x18], rax
mov rax, qword [r12 + 0x2c8]
mov qword [r12 + 0x2b0], rbx
mov qword [rbx + 8], rax
mov rax, qword [r12 + 0x2d0]
mov qword [rbx + 0x10], rax
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x30]
mov r11d, 1
mov r9d, 8
mov r8d, 2
mov edx, 4
mov ecx, 0x2400
mov r12, qword [rsp + 0x68]
add r13, 0x18
jmp 0x14002ce01
mov r15, qword [rsp + 0x50]
mov edi, r10d
mov r14, qword [r15 + 0x2b0]
test r14, r14
je 0x140032937
mov rcx, qword [r14]
mov rdx, rsi
call fcn.14000bfdc
xor r10d, r10d
test eax, eax
je 0x14002d183
mov r14, qword [r14 + 0x18]
inc edi
jmp 0x14002d160
mov r8d, 1
cmp dword [r15 + 0xd0], r10d
jle 0x14002d19b
cmp r12d, r8d
je 0x1400328d6
lea rsi, [r14 + 0x18]
mov qword [rsp + 0x70], rsi
cmp qword [rsi], r10
jne 0x14002d222
cmp byte [r15 + 0x67], r10b
je 0x14002d222
mov ebx, r8d
mov dword [rbp - 0x68], ebx
cmp r12d, r8d
jne 0x14002d226
mov rcx, qword [rsp + 0x68]
mov edx, r8d
call fcn.140028a6c
mov r15d, eax
test eax, eax
jne 0x140032e7f
mov rcx, qword [rsp + 0x50]
lea eax, [r15 + 1]
mov r15, qword [rsp + 0x68]
mov byte [rcx + 0x5f], al
mov rcx, r15
call fcn.140028abc
mov r8d, 5
cmp eax, r8d
je 0x1400328df
mov r15d, dword [r15 + 0x38]
xor r10d, r10d
mov rcx, qword [rsp + 0x50]
mov dword [rsp + 0x38], r15d
test r15d, r15d
je 0x14002d219
mov byte [rcx + 0x5f], r10b
jmp 0x14002d335
mov byte [rcx + 0x67], r10b
jmp 0x14002d335
mov dword [rbp - 0x68], r10d
mov edx, dword [r15 + 0x2c0]
mov r9d, 2
mov eax, dword [r15 + 0x28]
sub edx, edi
sub edx, r8d
mov dword [rbp - 0x58], edx
cmp r12d, r9d
jne 0x14002d2a6
mov r15d, dword [r15 + 0x2c]
mov esi, r10d
and r15d, r8d
test eax, eax
jle 0x14002d29f
mov edi, r15d
mov rbx, r10
xor edi, r8d
mov rcx, qword [rsp + 0x50]
mov r8d, edi
mov edx, 0x204
mov rcx, qword [rcx + 0x20]
mov rcx, qword [rbx + rcx + 8]
call fcn.14001d30c
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x140032d64
lea r8d, [rax + 1]
add rbx, 0x20
mov rax, qword [rsp + 0x50]
add esi, r8d
mov eax, dword [rax + 0x28]
cmp esi, eax
jl 0x14002d25b
mov edx, dword [rbp - 0x58]
mov rsi, qword [rsp + 0x70]
jmp 0x14002d2a9
mov r15d, r10d
mov rcx, qword [rsp + 0x50]
mov edi, r10d
test eax, eax
jle 0x14002d2f3
mov rbx, r10
mov rcx, qword [rcx + 0x20]
mov r8d, edx
mov edx, r12d
mov rcx, qword [rbx + rcx + 8]
call fcn.14001d554
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x140032d64
mov rcx, qword [rsp + 0x50]
lea r8d, [rax + 1]
mov edx, dword [rbp - 0x58]
add edi, r8d
add rbx, 0x20
cmp edi, dword [rcx + 0x28]
jl 0x14002d2b8
test r15d, r15d
je 0x14002d32a
mov rax, qword [rcx + 8]
jmp 0x14002d310
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r8d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14002d2fe
call fcn.140044e48
mov rcx, qword [rsp + 0x50]
mov eax, 1
or dword [rcx + 0x2c], eax
xor r10d, r10d
mov r15d, dword [rsp + 0x38]
mov edi, dword [rbp - 0x58]
mov ebx, dword [rbp - 0x68]
test r15d, r15d
jne 0x14002ddfe
mov rcx, qword [rcx + 0x2b0]
cmp rcx, r14
je 0x14002d37f
mov rsi, qword [rsp + 0x50]
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, rsi
mov qword [rsi + 0x2b0], rax
call fcn.140009378
mov rcx, qword [rsi + 0x2b0]
dec dword [rsi + 0x2c0]
cmp rcx, r14
jne 0x14002d34f
mov rsi, qword [rsp + 0x70]
xor r10d, r10d
mov r11d, 1
cmp r12d, r11d
jne 0x14002d3b3
mov rax, qword [rsi]
mov rdx, r14
mov rsi, qword [rsp + 0x50]
mov rcx, rsi
mov qword [rsi + 0x2b0], rax
call fcn.140009378
xor r10d, r10d
test ebx, ebx
jne 0x14002d401
dec dword [rsi + 0x2c0]
jmp 0x14002d3e1
mov rax, qword [r14 + 8]
mov rsi, qword [rsp + 0x50]
mov qword [rsi + 0x2c8], rax
mov rax, qword [r14 + 0x10]
mov qword [rsi + 0x2d0], rax
test ebx, ebx
je 0x14002d3e1
mov r8d, 2
cmp r12d, r8d
jne 0x14003096d
mov r8d, edi
mov edx, r12d
mov rcx, rsi
call fcn.140068454
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002ddfe
mov r14, qword [rsp + 0x60]
jmp 0x14002d11d
cmp r15d, 0x65
jne 0x14002d55d
mov r11d, 1
mov dword [rsp + 0x38], r10d
mov byte [rbx + 2], r11b
mov r15d, r10d
jmp 0x140031b78
sub ebx, 6
je 0x14002d717
sub ebx, 1
je 0x14002d58c
sub ebx, 1
je 0x14002d521
cmp ebx, 1
jne 0x1400307e7
movsxd rax, dword [r13 + 0xc]
mov r8, r10
movsxd rcx, dword [r13 + 4]
mov rsi, qword [r12 + 0x70]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r14
mov r13, qword [rax + rcx*8]
lea r11, [rdx + 0x38]
mov edx, dword [rdx]
movsxd r9, dword [r11]
mov rdi, qword [r13 + 0x38]
mov r15, qword [rdi]
mov r14, qword [r15]
test r9d, r9d
jle 0x14002d4ac
mov r12d, ebx
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 0x14002d48e
mov r12, qword [rsp + 0x68]
mov rax, qword [r14 + 0x40]
mov rcx, rdi
mov qword [rsp + 0x20], rsi
mov rsi, qword [rsp + 0x48]
mov r8, qword [rsi + 0x10]
call qword [str.__r_]
mov rdx, r15
mov rcx, r12
mov dword [rsp + 0x38], eax
call fcn.14002a5b8
mov r15d, dword [rsp + 0x38]
xor r10d, r10d
test r15d, r15d
jne 0x14002d562
mov rax, qword [r14 + 0x50]
mov rcx, rdi
call qword [str.__r_]
xor r10d, r10d
mov byte [r13 + 2], r10b
test eax, eax
mov r13, rsi
mov rdi, qword [rsp + 0x58]
mov r11d, 1
jne 0x14002e1b3
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x30]
jmp 0x14002d12d
cmp dword [r13 + 8], r10d
je 0x14002d534
movsxd rax, dword [r13 + 8]
imul r9, rax, 0x38
add r9, r14
jmp 0x14002d537
mov r9, r10
mov r8d, dword [r13 + 4]
lea rcx, [r12 + 0xa8]
mov rdx, rsi
call fcn.140066e34
xor r10d, r10d
mov dword [rsp + 0x38], eax
test eax, eax
mov r15d, eax
je 0x14002d122
mov rsi, qword [rsp + 0x48]
mov r14d, 1
mov r13, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x50]
cmp byte [rbx + 0x61], r10b
je 0x140032d6e
mov r15d, 7
jmp 0x140032d87
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
mov rcx, qword [rsi + 0x20]
mov r14, rax
movsxd rdx, dword [r13 + 4]
mov ebx, dword [r13 + 0xc]
shl rdx, 5
mov r15, qword [rdx + rcx + 8]
mov rcx, r15
call fcn.1400230a0
mov rcx, rax
mov rsi, rax
call fcn.140016510
cmp ebx, 0xffffffff
mov rcx, rsi
mov edi, eax
cmove ebx, eax
call fcn.140016518
test eax, eax
mov edx, 1
mov rcx, rsi
cmove ebx, edi
call fcn.1400163f4
mov edx, 5
cmp ebx, edx
jne 0x14002d61c
mov rcx, rax
call fcn.14000bd8c
test eax, eax
je 0x14002d607
mov rcx, rsi
call fcn.140016538
xor ecx, ecx
test eax, eax
jne 0x14002d620
mov ebx, edi
mov r15d, dword [rsp + 0x38]
test r15d, r15d
je 0x14002d6c0
jmp 0x14002d6be
xor ecx, ecx
jmp 0x14002d625
mov edx, 5
cmp ebx, edi
je 0x14002d609
cmp edi, edx
je 0x14002d631
cmp ebx, edx
jne 0x14002d609
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x5f], cl
je 0x140032953
mov r11d, 1
cmp dword [rax + 0xcc], r11d
jg 0x140032953
cmp edi, edx
jne 0x14002d677
mov rdx, rax
mov rcx, rsi
call fcn.140016640
mov dword [rsp + 0x38], eax
test eax, eax
jne 0x14002d6b9
mov edx, ebx
mov rcx, rsi
call fcn.140016410
xor ecx, ecx
jmp 0x14002d694
mov eax, 4
cmp edi, eax
jne 0x14002d68d
lea edx, [rax - 2]
mov rcx, rsi
call fcn.140016410
xor ecx, ecx
cmp dword [rsp + 0x38], 0
jne 0x14002d6b9
mov edx, ecx
mov ecx, 5
cmp ebx, ecx
sete dl
lea eax, [rcx - 4]
mov rcx, r15
add edx, eax
call fcn.140023ff4
mov r15d, eax
mov dword [rsp + 0x38], eax
jmp 0x14002d60e
mov r15d, dword [rsp + 0x38]
mov ebx, edi
mov edx, ebx
mov rcx, rsi
call fcn.140016410
mov ecx, 0xa02
mov word [r14 + 8], cx
mov ecx, eax
call fcn.140055bd4
mov rcx, rax
mov qword [r14 + 0x10], rax
call fcn.14000bd8c
movzx edx, byte [rsp + 0x3c]
mov rcx, r14
mov dword [r14 + 0xc], eax
mov eax, 1
mov byte [r14 + 0xa], al
call fcn.140024cdc
xor r10d, r10d
test r15d, r15d
jne 0x14002d55d
mov rsi, qword [rsp + 0x50]
jmp 0x14002d401
mov r8d, dword [r13 + 8]
lea rax, [rbp + 0x120]
mov edx, dword [r13 + 4]
lea r9, [rbp + 0x11c]
or dword [rbp + 0x120], 0xffffffff
mov rcx, rsi
or dword [rbp + 0x11c], 0xffffffff
mov qword [rsp + 0x20], rax
mov dword [rbp + 0x118], r10d
call fcn.14007de3c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
je 0x14002d77a
lea ecx, [r10 + 5]
cmp eax, ecx
jne 0x14002d55d
lea eax, [rcx - 4]
mov dword [rsp + 0x38], r10d
mov dword [rbp + 0x118], eax
mov r15d, r10d
movsxd rax, dword [r13 + 0xc]
mov rdi, r10
imul rbx, rax, 0x38
add rbx, r14
movsxd rdx, dword [rbp + rdi*4 + 0x118]
mov rcx, rbx
call fcn.1400256f8
mov r11d, 1
add rbx, 0x38
add rdi, r11
cmp rdi, 3
jl 0x14002d788
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x30]
xor r10d, r10d
jmp 0x14002d12d
cmp byte [rsi + 0x61], r10b
jne 0x140032d33
mov rax, qword [r13 + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1400329a8
mov r10, qword [rbx]
xor r11d, r11d
test r10, r10
je 0x1400329a8
movsxd rdx, dword [r13 + 8]
cmp qword [r10 + 0x68], r11
je 0x1400326cb
movsxd rax, dword [r13 + 0xc]
mov dil, byte [rsi + 0x66]
mov r8, qword [r12 + 0x70]
imul rcx, rax, 0x38
mov eax, r11d
add rcx, r14
test edx, edx
jle 0x14002d824
lea r11d, [rax + 1]
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r11
cmp rax, rdx
jl 0x14002d814
mov al, byte [r13 + 2]
lea r9, [rbp + 0x98]
mov byte [rsi + 0x66], al
mov rcx, rbx
mov rax, qword [r10 + 0x68]
call qword [str.__r_]
mov rdx, rbx
mov byte [rsi + 0x66], dil
mov rcx, r12
mov dword [rsp + 0x38], eax
mov r15d, eax
call fcn.14002a5b8
xor r10d, r10d
test r15d, r15d
jne 0x14002d88c
cmp dword [r13 + 4], r10d
je 0x14002d86e
mov rax, qword [rbp + 0x98]
mov qword [rsi + 0x38], rax
mov r11d, 1
add dword [r12 + 0x3c], r11d
test r15d, r15d
jne 0x1400300aa
mov rdi, qword [rsp + 0x58]
jmp 0x14002d517
cmp r15b, 0x13
jne 0x14002d86e
mov rax, qword [r13 + 0x10]
cmp byte [rax + 0x1c], r10b
je 0x14002d86e
mov edx, 4
cmp word [r13 + 2], dx
jne 0x140032984
mov r15d, r10d
mov dword [rsp + 0x38], r10d
mov r11d, 1
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x30]
mov r8d, 2
mov r9d, 8
jmp 0x14002d13e
mov eax, 0x10
cmp ebx, eax
ja 0x14002da7a
je 0x14002da32
sub ebx, 0xb
je 0x14002ea25
sub ebx, 1
je 0x14002d9f8
sub ebx, 1
je 0x14002d9c9
sub ebx, 1
je 0x14002d981
cmp ebx, 1
jne 0x1400307e7
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
movzx eax, word [rbx + 8]
test dl, al
jne 0x14002d96b
mov r8b, byte [rsp + 0x3c]
mov dl, 0x43
mov rcx, rbx
call fcn.14002cb20
movzx eax, word [rbx + 8]
mov edx, 4
xor r10d, r10d
test dl, al
jne 0x14002d958
cmp dword [r13 + 8], r10d
je 0x1400329b3
mov r11d, 1
jmp 0x14002e1b3
mov r11d, 1
mov ecx, 0x2400
lea r8d, [r11 + 1]
lea r9d, [r11 + 7]
mov r12d, 0x3e40
and ax, r12w
or ax, dx
mov word [rbx + 8], ax
jmp 0x1400307e7
movsxd rax, dword [r13 + 4]
sub r13, rdi
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + r14]
mov word [r8 + r14 + 8], dx
imul r13
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea r13, [rdi + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
mov rbx, qword [rsp + 0x30]
jmp 0x14002d133
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, dword [r13 + 0xc]
sub eax, r11d
cdqe
mov qword [rcx + r14], rax
mov word [rcx + r14 + 8], dx
cmp dword [r13 + 8], r10d
jne 0x14002e1b3
mov rbx, qword [rsp + 0x30]
jmp 0x14002d13e
movsxd rax, dword [r13 + 4]
mov rcx, r13
imul r8, rax, 0x38
sub rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
mov word [r8 + r14 + 8], dx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
jmp 0x14002e1b3
mov r9d, dword [rbp - 0x5c]
mov rbx, qword [rsp + 0x30]
test r9d, r9d
jns 0x14002da56
mov eax, dword [r13 + 4]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
jmp 0x14002d8ca
mov r9d, 8
jne 0x14002da74
mov eax, dword [r13 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
jmp 0x14002d13e
mov eax, dword [r13 + 0xc]
jmp 0x14002da62
sub ebx, 0x11
je 0x14002db7a
sub ebx, 1
je 0x14002db50
sub ebx, 1
je 0x14002dac7
cmp ebx, 1
jne 0x1400307e7
cmp dword [r13 + 0xc], r10d
mov edx, r10d
movsxd rax, dword [r13 + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r14
call fcn.14002533c
xor r10d, r10d
mov r11d, ebx
test eax, eax
je 0x14002e1b3
jmp 0x14002d517
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rcx, r14
add rbx, r14
test byte [rcx + 8], r11b
jne 0x14002db31
xor edx, edx
call fcn.14002533c
xor r10d, r10d
test eax, eax
mov ecx, r10d
mov eax, 0x2400
sete cl
test word [rbx + 8], ax
je 0x14002db18
mov rdx, rcx
mov rcx, rbx
call fcn.1400256c0
mov rbx, qword [rsp + 0x30]
xor r10d, r10d
jmp 0x14002d127
mov edx, 4
mov qword [rbx], rcx
mov word [rbx + 8], dx
mov ecx, eax
mov r11d, 1
jmp 0x14002f015
mov ecx, 0x2400
test word [rbx + 8], cx
je 0x14002db46
mov rcx, rbx
call fcn.1400251b4
jmp 0x14002db0b
mov word [rbx + 8], r11w
jmp 0x1400307e7
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.14002533c
xor r10d, r10d
mov r11d, 1
test eax, eax
jne 0x14002e1b3
jmp 0x14002d517
mov r8, qword [r12 + 0x100]
test r8, r8
je 0x14002dbe2
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 0x14002e1b3
bts eax, edx
mov edx, 4
mov byte [rcx + r9], al
mov rcx, qword [r12 + 0x88]
lea r9d, [rdx + 4]
jmp 0x14002dbf7
mov rcx, qword [r12 + 0x88]
mov eax, dword [r13 + 4]
cmp dword [rcx + 4], eax
je 0x14002e1b3
mov eax, dword [rcx + 4]
mov dword [r13 + 4], eax
mov rbx, qword [rsp + 0x30]
mov r8d, 2
jmp 0x14002d13e
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], r10b
je 0x14002d9ee
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r14
test word [rcx + 8], ax
je 0x14002dc48
call fcn.1400251b4
xor r10d, r10d
jmp 0x14002d94d
mov word [rcx + 8], r11w
jmp 0x14002e1b3
mov eax, 0x20
cmp ebx, eax
ja 0x14002e1d7
je 0x14002e144
cmp ebx, 0x1b
ja 0x14002df72
je 0x14002df14
mov ecx, ebx
sub ecx, 0x16
je 0x14002dcab
sub ecx, 1
je 0x14002dcab
sub ecx, 1
je 0x14002dcab
sub ecx, 1
je 0x14002dcab
cmp ecx, 1
jne 0x14002d9ee
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
cmp qword [rax + rcx*8], r10
je 0x14002ea25
jmp 0x14002d9ee
mov rax, qword [r12 + 0x78]
mov r12d, r10d
movsxd rcx, dword [r13 + 4]
mov r14, qword [rax + rcx*8]
and word [r14 + 2], 0
mov dword [r14 + 0x28], r10d
cmp byte [r14 + 4], r10b
je 0x14002de08
movsxd rax, dword [r13 + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x60]
movzx esi, word [rdi + 8]
mov al, sil
and al, 0x2e
cmp al, r8b
jne 0x14002dcf4
xor edx, edx
mov rcx, rdi
call fcn.14002ca6c
mov rcx, rdi
call fcn.1400252b4
movzx ecx, word [rdi + 8]
mov r15, rax
mov word [rdi + 8], si
test cl, 0x24
jne 0x14002ddce
mov edx, 8
test dl, cl
jne 0x14002dd9e
lea r11d, [rdx - 7]
test r11b, cl
jne 0x140031533
cmp ebx, 0x18
jae 0x140031533
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp - 0x74]
call fcn.14001e108
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002ddfe
mov r11d, 1
cmp dword [rbp - 0x74], r10d
jne 0x14002e1ae
mov rsi, qword [rsp + 0x50]
mov edx, 4
mov r14, qword [rsp + 0x60]
mov ecx, 0x2400
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x30]
lea r11d, [rdx - 3]
lea r8d, [rdx - 2]
lea r9d, [rdx + 4]
test r12d, r12d
je 0x14002d143
add r13, 0x18
jmp 0x14002d143
movsd xmm1, qword [rdi]
xorps xmm0, xmm0
cvtsi2sd xmm0, r15
comisd xmm0, xmm1
jbe 0x14002ddbd
mov eax, 1
test al, bl
je 0x14002ddce
sub ebx, eax
jmp 0x14002ddce
comisd xmm1, xmm0
jbe 0x14002ddce
mov eax, 1
test al, bl
jne 0x14002ddce
add ebx, eax
mov rcx, qword [r14 + 0x38]
lea rax, [rbp - 0x74]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r15
xor edx, edx
call fcn.14001e170
xor r10d, r10d
mov qword [r14 + 0x58], r15
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
je 0x14002de88
mov r12, qword [rsp + 0x68]
jmp 0x14002d55d
mov rax, qword [r14 + 0x38]
lea rdx, [rbp - 0x40]
mov dil, byte [rax + 3]
mov rax, qword [r14 + 0x40]
and dil, r8b
mov qword [rbp - 0x40], rax
movzx eax, word [r13 + 0x10]
setne r12b
mov word [rbp - 0x30], ax
mov eax, ebx
and al, r11b
mov byte [rbp - 0x2a], r10b
neg al
movsxd rax, dword [r13 + 0xc]
sbb cl, cl
xor r9d, r9d
and cl, 0xfe
xor r8d, r8d
add cl, r11b
mov byte [rbp - 0x2e], cl
imul rcx, rax, 0x38
lea rax, [rbp - 0x74]
add rcx, qword [rsp + 0x60]
mov qword [rbp - 0x38], rcx
mov rcx, qword [r14 + 0x38]
mov qword [rsp + 0x20], rax
call fcn.14001e170
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002ddfe
test dil, dil
je 0x14002de88
cmp byte [rbp - 0x2a], r10b
je 0x14002dd52
mov eax, dword [rbp - 0x74]
cmp ebx, 0x18
jl 0x14002dee3
test eax, eax
js 0x14002dea4
jne 0x14002de9b
cmp ebx, 0x19
je 0x14002dea4
mov dword [rbp - 0x74], r10d
jmp 0x14002dd62
mov dword [rbp - 0x74], r10d
xor edx, edx
mov rcx, qword [r14 + 0x38]
call fcn.14001e760
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
je 0x14002dd52
cmp eax, 0x65
jne 0x14002ddfe
lea r11d, [r10 + 1]
mov dword [rsp + 0x38], r10d
mov dword [rbp - 0x74], r11d
mov r15d, r10d
jmp 0x14002dd58
test eax, eax
jg 0x14002df03
jne 0x14002deee
cmp ebx, 0x16
je 0x14002df03
mov rax, qword [r14 + 0x38]
mov ecx, r10d
cmp byte [rax], r10b
setne cl
mov dword [rbp - 0x74], ecx
jmp 0x14002dd52
mov dword [rbp - 0x74], r10d
xor edx, edx
mov rcx, qword [r14 + 0x38]
call fcn.14001e8a0
jmp 0x14002deb3
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]
jge 0x14002d9ee
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 4]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp dword [r13 + 0x10], r10d
jle 0x14002dffd
mov rax, qword [rsi + 0x40]
lea rdi, [rbp - 0x40]
mov qword [rbp - 0x40], rax
mov r14, r10
movzx eax, word [r13 + 0x10]
mov word [rbp - 0x30], ax
mov qword [rbp - 0x38], rbx
jmp 0x14002e04e
sub ebx, 0x1c
je 0x14002df2f
sub ebx, 1
je 0x14002df2f
sub ebx, 1
je 0x14002df2f
cmp ebx, 1
jne 0x1400307e7
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 0x24
jne 0x14002e144
movups xmm0, xmmword [rcx]
mov r8b, byte [rsp + 0x3c]
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0xe0], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0xf0], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0xe0]
movups xmmword [rbp + 0x100], xmm0
movsd qword [rbp + 0x110], xmm1
call fcn.14002cb20
lea eax, [rbx + 3]
xor r10d, r10d
test byte [rbp + 0xe8], al
je 0x14002d94d
mov rdi, qword [rbp + 0xe0]
jmp 0x14002e150
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14002e018
mov rcx, rbx
call fcn.140024f10
test eax, eax
jne 0x140032d2e
mov rcx, qword [rsi + 0x40]
call fcn.14002958c
mov rdi, rax
mov r14, rax
test rax, rax
je 0x140032d2e
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x40]
call fcn.1400295e4
xor r10d, r10d
lea r11d, [r10 + 1]
lea r9d, [r10 + 8]
mov byte [rdi + 0x12], r10b
mov ebx, r10d
cmp byte [r13], 0x1c
jne 0x14002e083
movzx edx, word [rdi + 0x10]
mov ecx, r10d
test edx, edx
je 0x14002e083
mov rax, qword [rdi + 8]
add rax, r9
test byte [rax], r11b
jne 0x14002e080
add ecx, r11d
add rax, 0x38
cmp ecx, edx
jl 0x14002e06e
jmp 0x14002e083
mov ebx, r11d
mov rcx, qword [rsi + 0x38]
lea rax, [rbp + 0x28]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rdi
call fcn.14001e170
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test r14, r14
je 0x14002e0bd
mov rcx, qword [rsp + 0x50]
mov rdx, r14
call fcn.140009378
xor r10d, r10d
test r15d, r15d
jne 0x14002d55d
mov eax, dword [rbp + 0x28]
mov ecx, r10d
mov dword [rsi + 0x2c], eax
mov eax, dword [rbp + 0x28]
test eax, eax
mov byte [rsi + 3], r10b
sete cl
mov dword [rsi + 0x28], r10d
test eax, eax
setne al
mov byte [rsi + 2], al
cmp byte [r13], 0x1e
jne 0x14002e0f5
test ecx, ecx
jmp 0x14002d4fc
test ebx, ebx
jne 0x14002e1a8
test ecx, ecx
je 0x14002e1a8
cmp byte [r13], 0x1b
mov edx, 4
mov r14, qword [rsp + 0x60]
mov ecx, 0x2400
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x30]
lea r11d, [rdx - 3]
lea r8d, [rdx - 2]
lea r9d, [rdx + 4]
jne 0x14002e13a
movzx eax, word [r13 + 0x10]
mov word [rsi + 0xc], ax
mov rsi, qword [rsp + 0x50]
jmp 0x14002d143
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r14]
movsxd rcx, dword [r13 + 4]
xor r9d, r9d
mov rax, qword [r12 + 0x78]
mov r8, rdi
xor edx, edx
mov rbx, qword [rax + rcx*8]
lea rax, [rbp - 0x10]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x10], r10d
call fcn.14001e170
xor r10d, r10d
mov qword [rbx + 0x58], rdi
mov word [rbx + 2], r10w
mov r15d, eax
mov dword [rbx + 0x28], r10d
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x10]
mov dword [rbx + 0x2c], eax
cmp dword [rbp - 0x10], r10d
je 0x14002e1c9
cmp dword [r13 + 8], r10d
je 0x1400329be
mov r11d, 1
mov rdi, qword [rsp + 0x58]
mov eax, dword [r13 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
jmp 0x14002d50d
test r15d, r15d
jne 0x14002d55d
jmp 0x14002d11d
mov ecx, ebx
sub ecx, 0x21
je 0x1400314c9
sub ecx, 1
je 0x14002e351
sub ecx, 1
je 0x14002e2ec
sub ecx, 1
je 0x14002e2ec
sub ecx, 1
je 0x14002e2f4
sub ecx, 1
je 0x14002e21e
sub ecx, 1
je 0x14002e21e
sub ecx, 1
je 0x14002e21e
cmp ecx, 1
jne 0x14002d9ee
movsxd rcx, dword [r13 + 4]
cmp bl, 0x28
mov rax, qword [r12 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x40]
mov qword [rbp - 0x40], rax
movzx eax, word [r13 + 0x10]
mov word [rbp - 0x30], ax
sbb al, al
mov byte [rbp - 0x2e], al
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp - 0x38], rcx
mov rdi, qword [rdx + 0x38]
mov rcx, rdi
call fcn.14001d900
mov ebx, eax
test rbx, rbx
je 0x1400329f2
cmp rbx, 0x7fffffff
ja 0x1400329f2
xor r8d, r8d
lea rcx, [rbp + 0x60]
mov rdx, rsi
call fcn.140025644
lea r8, [rbp + 0x60]
mov edx, ebx
mov rcx, rdi
call fcn.140025d2c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
mov rdx, qword [rbp + 0x70]
lea r8, [rbp - 0x40]
mov ecx, dword [rbp + 0x6c]
xor r9d, r9d
call fcn.140029a24
lea rcx, [rbp + 0x60]
mov ebx, eax
call fcn.140025234
mov dl, byte [r13]
lea ecx, [rbx + 1]
mov rdi, qword [rsp + 0x58]
lea r11d, [r15 + 1]
neg ebx
xor r10d, r10d
and dl, r11b
cmovne ebx, ecx
test ebx, ebx
jg 0x14002e1b3
jmp 0x14002d517
add dword [r12 + 0xdc], r11d
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 0x48]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x48], r11d
cmp byte [rbx], r11b
jne 0x14002e31b
mov rcx, rbx
call fcn.140035cd4
xor r10d, r10d
jmp 0x14002e32f
mov rcx, qword [rbx + 0x38]
call fcn.14001e0c8
xor r10d, r10d
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
mov al, byte [rbp - 0x48]
lea r11d, [r15 + 1]
mov byte [rbx + 2], al
cmp dword [rbp - 0x48], r10d
jmp 0x14002db6f
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 0x44]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.14001e0c8
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
cmp dword [rbp - 0x44], r10d
jne 0x14002d94d
mov rcx, rbx
call fcn.14001e5f4
xor r10d, r10d
test rax, rax
js 0x14002e3bf
mov rcx, rax
call fcn.14000d0b4
movsx ecx, ax
lea r11d, [r15 + 1]
cmp ecx, dword [r13 + 0xc]
mov eax, dword [rbp - 0x44]
cmovl eax, r11d
xor r10d, r10d
mov dword [rbp - 0x44], eax
jmp 0x14002db6d
mov eax, dword [rbp - 0x44]
jmp 0x14002db67
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov eax, 0x10
add rbx, r14
test byte [rbx + 8], al
je 0x14002e40c
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0xa0]
call fcn.140011ffc
test eax, eax
je 0x14002e40c
movsxd rax, dword [r13 + 0xc]
mov rdx, qword [rbp + 0xa0]
imul rcx, rax, 0x38
add rcx, r14
call fcn.1400256f8
jmp 0x140031b6f
mov rcx, rbx
call fcn.140025654
xor r10d, r10d
jmp 0x14002ea1f
cmp ebx, 0x3f
ja 0x14002ecf1
je 0x14002ee36
cmp ebx, 0x35
ja 0x14002e8f9
je 0x14002e845
cmp ebx, 0x30
ja 0x14002e825
je 0x14002e800
sub ebx, 0x2b
je 0x14002e75b
sub ebx, 1
je 0x14002e75b
sub ebx, 1
je 0x14002e6e8
sub ebx, 1
je 0x14002e49e
cmp ebx, 1
jne 0x1400307e7
cmp dword [r13 + 4], r10d
je 0x14002e481
cmp qword [rsi + 0x2c8], r10
jmp 0x14002e486
cmp qword [r12 + 0x50], r10
jne 0x1400307e7
cmp qword [rsi + 0x2d0], r10
je 0x14002e1b3
jmp 0x1400307e7
movsxd rax, dword [r13 + 0xc]
mov r15, qword [r13 + 0x10]
imul rdi, rax, 0x38
add rdi, r14
cmp word [r13 + 2], r10w
je 0x14002e4d5
mov rcx, qword [r15 + 0x20]
mov rax, qword [r12 + 0x100]
jmp 0x14002e4d0
cmp qword [rax + 0x38], rcx
je 0x1400326a5
mov rax, qword [rax + 8]
test rax, rax
jne 0x14002e4c2
mov eax, dword [r12 + 0x110]
cmp eax, dword [rsi + 0xa4]
jge 0x140032a04
mov ecx, 0x10
test byte [rdi + 8], cl
jne 0x14002e611
mov edx, dword [r15 + 0x10]
mov ecx, dword [r15 + 0xc]
add ecx, edx
test edx, edx
lea r14d, [rcx + 1]
cmovne r14d, ecx
lea eax, [r14 + 2]
imul ecx, eax, 7
mov eax, dword [r15 + 8]
add ecx, edx
add eax, 7
jns 0x14002e520
add eax, 7
sar eax, 3
lea esi, [rax + rcx*8]
mov rcx, qword [rsp + 0x50]
movsxd rdx, esi
call fcn.14000964c
mov rbx, rax
test rax, rax
je 0x140032d2e
mov rcx, rdi
call fcn.140025234
sub r13, qword [rsp + 0x58]
mov eax, 0x410
mov word [rdi + 8], ax
lea rax, [0x140027770]
mov qword [rdi + 0x30], rax
movabs rax, 0x2aaaaaaaaaaaaaab
mov dword [rdi + 0xc], esi
mov rsi, qword [rsp + 0x50]
mov qword [rdi + 0x10], rbx
imul r13
mov qword [rbx], r12
mov dword [rbx + 0x60], r14d
mov ecx, dword [r15 + 0x10]
mov dword [rbx + 0x64], ecx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x54], edx
mov rax, qword [r12 + 0x68]
mov qword [rbx + 0x20], rax
mov eax, dword [r12 + 0x28]
mov dword [rbx + 0x5c], eax
mov rax, qword [r12 + 0x78]
mov qword [rbx + 0x28], rax
mov eax, dword [r12 + 0x2c]
mov dword [rbx + 0x50], eax
mov rax, qword [r12 + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [r12 + 0x90]
mov dword [rbx + 0x58], eax
mov rax, qword [r15 + 0x20]
mov qword [rbx + 0x38], rax
movsxd rax, r14d
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x14002e604
mov edx, dword [rbp - 0x70]
mov word [rax + 8], dx
mov qword [rax + 0x28], rsi
add rax, 0x38
cmp rax, rcx
jne 0x14002e5f3
mov eax, dword [r12 + 0x110]
xor r10d, r10d
jmp 0x14002e615
mov rbx, qword [rdi + 0x10]
inc eax
lea r14, [rbx + 0x70]
mov dword [r12 + 0x110], eax
mov rax, qword [r12 + 0x100]
mov qword [rbx + 8], rax
mov rax, qword [rsi + 0x38]
mov qword [rbx + 0x40], rax
mov eax, dword [r12 + 0x3c]
mov dword [rbx + 0x68], eax
mov rax, qword [r12]
mov qword [rsp + 0x60], r14
mov ecx, dword [rax + 0x74]
mov dword [rbx + 0x6c], ecx
mov rax, qword [r12 + 0x120]
mov qword [rbx + 0x48], rax
mov qword [r12 + 0x120], r10
mov dword [r12 + 0x3c], r10d
mov qword [r12 + 0x100], rbx
mov qword [r12 + 0x68], r14
movsxd rcx, dword [rbx + 0x60]
mov dword [r12 + 0x28], ecx
movzx eax, word [rbx + 0x64]
mov dword [r12 + 0x2c], eax
imul rdx, rcx, 0x38
add rdx, r14
mov qword [r12 + 0x78], rdx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rbx + 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 qword [sym.imp.VCRUNTIME140.dll_memset]
mov rdi, qword [r15]
mov qword [r12 + 0x88], rdi
mov eax, dword [r15 + 8]
mov r15d, dword [rsp + 0x38]
lea r13, [rdi - 0x18]
mov qword [rsp + 0x58], rdi
mov qword [rsp + 0x48], r13
mov dword [r12 + 0x90], eax
jmp 0x140031b6f
movsxd rax, dword [r13 + 4]
mov edi, dword [r13 + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
imul rsi, rax, 0x38
add rbx, r14
mov eax, 0x10
test byte [rbx + 8], al
jne 0x14002e719
mov rcx, rbx
call fcn.140025764
test eax, eax
jne 0x140032d2e
test edi, edi
je 0x14002e73f
mov r8, qword [rsi + r14]
mov edx, edi
mov rcx, qword [rbx + 0x10]
call fcn.14001206c
xor r10d, r10d
test eax, eax
jne 0x14002e1a8
test edi, edi
js 0x14003200d
mov rdx, qword [rsi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.140011d68
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
jmp 0x14002db0b
movsxd rax, dword [r13 + 4]
mov edx, r8d
imul rcx, rax, 0x38
add rcx, r14
call fcn.14002533c
movsxd rcx, dword [r13 + 8]
mov r12d, 2
imul rcx, rcx, 0x38
mov edx, r12d
mov ebx, eax
add rcx, r14
call fcn.14002533c
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [r13], 0x2c
movsxd rcx, eax
lea rax, [0x140000000]
jne 0x14002e7a9
mov r8b, byte [rcx + rax + 0xe5d38]
jmp 0x14002e7b1
mov r8b, byte [rcx + rax + 0xe5cc0]
movsxd rax, dword [r13 + 0xc]
mov r11d, 1
imul rdx, rax, 0x38
mov eax, 0x3e40
movzx ecx, word [rdx + r14 + 8]
and cx, ax
cmp r8b, r12b
jne 0x14002e7d8
or cx, r11w
jmp 0x14002e7e4
movzx eax, r8b
or cx, 4
mov qword [rdx + r14], rax
mov word [rdx + r14 + 8], cx
xor r10d, r10d
mov r8, r12
mov rbx, qword [rsp + 0x30]
mov r9d, 8
jmp 0x14002d139
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r14]
test rdx, rdx
jle 0x14002d022
movsxd rax, dword [r13 + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x14002e1b3
sub ebx, 0x31
je 0x14002e8d2
sub ebx, 1
je 0x14002e8c0
sub ebx, 1
je 0x14002e8a8
cmp ebx, 1
jne 0x1400307e7
movsxd rax, dword [r13 + 4]
imul r14, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add r14, qword [rsp + 0x60]
imul rsi, rax, 0x38
movzx edi, word [r14 + 8]
add rsi, qword [rsp + 0x60]
movzx ebx, word [rsi + 8]
movzx edx, bx
or dx, di
test r11b, dl
je 0x14002eb1e
mov eax, dword [rbp - 0x70]
test byte [r13 + 2], al
je 0x14002eacc
mov al, bl
and al, dil
test r11b, al
je 0x14002eab7
mov eax, 0x100
test ax, bx
jne 0x14002eab7
mov ecx, r10d
jmp 0x14002ec36
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], r11b
je 0x14002e1b3
jmp 0x14002d9ee
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], r11b
jmp 0x14002d9e8
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
test rax, rax
je 0x14002d9ee
jle 0x14002e1b3
dec rax
mov qword [rcx + r14], rax
jmp 0x14002e1b3
sub ebx, 0x36
je 0x14002e845
sub ebx, 1
je 0x14002e845
sub ebx, 1
je 0x14002e845
sub ebx, 1
je 0x14002e845
sub ebx, 1
je 0x14002eaa8
sub ebx, 1
je 0x14002ea7e
sub ebx, 1
je 0x14002ea40
sub ebx, 1
je 0x14002e9b3
cmp ebx, 1
jne 0x1400307e7
mov al, byte [rsi + 0x68]
test al, 0x41
je 0x140032317
cmp byte [r12 + 0xc5], r10b
jne 0x140032317
mov r9, qword [r13 + 0x10]
test r9, r9
jne 0x14002e979
mov r9, qword [r12 + 0xf0]
test r9, r9
je 0x140032311
test al, 0x40
je 0x140032297
mov rdx, r9
mov rcx, r12
call fcn.14002c5c8
mov rcx, qword [rsi + 0xf0]
mov rbx, rax
mov rdx, rax
mov rax, qword [rsi + 0xe8]
call qword [str.__r_]
mov rcx, rbx
call fcn.1400092d0
jmp 0x1400322fb
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], r10b
jne 0x1400301cf
mov rcx, qword [rdi + 0x38]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
mov rax, qword [rsi + 0x48]
call qword [str.__r_]
mov rdx, rbx
mov rcx, r12
mov r15d, eax
mov dword [rsp + 0x38], eax
call fcn.14002a5b8
xor r10d, r10d
test r15d, r15d
jne 0x14002d55d
mov rcx, qword [rdi + 0x38]
mov rax, qword [rsi + 0x50]
call qword [str.__r_]
mov rsi, qword [rsp + 0x50]
xor r10d, r10d
mov rdi, qword [rsp + 0x58]
test eax, eax
jne 0x140031b72
mov r11d, 1
mov eax, dword [r13 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
mov qword [rsp + 0x48], r13
jmp 0x140031b78
movsxd rcx, dword [r13 + 4]
mov rax, qword [rsi + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14001cd5c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
je 0x14002d122
cmp eax, 0x65
jne 0x14002d55d
mov r15d, r10d
mov dword [rsp + 0x38], r10d
jmp 0x14002d94d
movsxd rax, dword [r13 + 4]
movabs rbx, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
cmp rax, rbx
jle 0x14002eaa0
dec rax
mov qword [rcx + r14], rax
test rax, rax
jmp 0x14002e8b5
cmp dword [rbp - 0x5c], r10d
jne 0x14002e1b3
jmp 0x1400307e7
movzx eax, bx
not ax
and eax, r11d
lea ecx, [rax*2 - 1]
jmp 0x14002ec36
mov eax, 0x20
test byte [r13 + 2], al
je 0x14002eb08
movsxd rax, dword [r13 + 8]
mov r14, qword [rsp + 0x60]
imul rcx, rax, 0x38
mov eax, 0x3e40
mov dword [rbp - 0x5c], r11d
add rcx, r14
and word [rcx + 8], ax
or word [rcx + 8], r11w
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
jmp 0x14002d022
mov eax, 0x10
test byte [r13 + 2], al
jne 0x14002e1ae
mov r14, qword [rsp + 0x60]
jmp 0x14002eaf9
mov al, byte [r13 + 2]
and al, 0x47
cmp al, 0x43
jb 0x14002eba5
movzx ecx, bx
test r8b, dl
je 0x14002eb68
mov al, dil
and al, 0x2e
cmp al, r8b
jne 0x14002eb4e
xor edx, edx
mov rcx, r14
call fcn.14002ca6c
movzx ebx, word [rsi + 8]
mov r8d, 2
mov al, bl
movzx ecx, bx
and al, 0x2e
cmp al, r8b
jne 0x14002eb68
xor edx, edx
mov rcx, rsi
call fcn.14002ca6c
movzx ecx, word [rsi + 8]
and cl, byte [r14 + 8]
mov edx, 4
test dl, cl
je 0x14002ec1a
mov rax, qword [r14]
lea r11d, [rdx - 3]
xor r10d, r10d
lea r9d, [rdx + 4]
cmp qword [rsi], rax
jle 0x14002eb94
mov ecx, r11d
jmp 0x14002ec3b
cmp qword [rsi], rax
mov ecx, r10d
setge cl
sub ecx, r11d
jmp 0x14002ec3b
cmp al, 0x42
jne 0x14002ec1a
mov r12b, byte [rsp + 0x3c]
test r8b, dil
jne 0x14002ebf0
test dil, 0x2c
je 0x14002ebf0
mov r8b, r11b
mov dl, r12b
mov rcx, r14
call fcn.140024f6c
movzx eax, di
mov ecx, 0x3e40
xor ax, word [r14 + 8]
mov r8d, 2
and ax, cx
xor di, ax
lea r11d, [r8 - 1]
cmp r14, rsi
jne 0x14002ebf0
movzx ebx, di
or bx, r8w
test r8b, bl
jne 0x14002ec1a
test bl, 0x2c
je 0x14002ec1a
mov r8b, r11b
mov dl, r12b
mov rcx, rsi
call fcn.140024f6c
movzx eax, bx
mov ecx, 0x3e40
xor ax, word [rsi + 8]
and ax, cx
xor bx, ax
mov r8, qword [r13 + 0x10]
mov rdx, r14
mov rcx, rsi
call fcn.140029938
xor r10d, r10d
mov ecx, eax
lea r11d, [r10 + 1]
lea r9d, [r10 + 8]
mov edx, 4
movzx eax, byte [r13]
lea r8, [0x140000000]
test ecx, ecx
jns 0x14002ec55
mov al, byte [rax + r8 + 0xeb044]
jmp 0x14002ec69
jne 0x14002ec61
mov al, byte [rax + r8 + 0xe66e0]
jmp 0x14002ec69
mov al, byte [rax + r8 + 0xe5bd4]
mov word [rsi + 8], bx
movzx r8d, al
mov eax, 0x20
mov word [r14 + 8], di
test byte [r13 + 2], al
je 0x14002ecd4
movsxd rax, dword [r13 + 8]
mov r14, qword [rsp + 0x60]
imul rdx, rax, 0x38
mov dword [rbp - 0x5c], ecx
add rdx, r14
test byte [r13 + 2], r9b
je 0x14002ecae
cmp byte [r13], 0x35
mov eax, r10d
sete al
cmp eax, r8d
je 0x14002fe8d
mov rsi, qword [rsp + 0x50]
mov eax, 0x3e40
and word [rdx + 8], ax
mov eax, 4
or word [rdx + 8], ax
mov rdi, qword [rsp + 0x58]
mov qword [rdx], r8
mov edx, eax
jmp 0x14002dbfe
mov rdi, qword [rsp + 0x58]
test r8d, r8d
jne 0x14002e1b3
mov rsi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x60]
jmp 0x14002dbfe
cmp ebx, 0x4a
ja 0x14002f079
je 0x14002f045
cmp ebx, 0x45
ja 0x14002ef55
je 0x14002ef3e
sub ebx, 0x40
je 0x14002ee36
sub ebx, 1
je 0x14002ee28
sub ebx, 1
je 0x14002edf9
sub ebx, 1
je 0x14002ed39
cmp ebx, 1
je 0x14002ed4c
jmp 0x1400307e7
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], r11b
je 0x14002d9ee
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
imul rcx
mov ecx, dword [r13 + 4]
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test ecx, ecx
jne 0x140032a1b
mov rdx, qword [r12 + 0x100]
test rdx, rdx
je 0x140032a1b
mov rax, qword [rdx + 8]
mov rcx, rdx
dec dword [r12 + 0x110]
mov qword [r12 + 0x100], rax
mov eax, dword [r12 + 0x3c]
add dword [rsi + 0x78], eax
mov dword [rsi + 0x74], eax
call fcn.140028150
mov rdi, qword [r12 + 0x88]
mov edx, 4
mov qword [rsp + 0x58], rdi
lea r11d, [rdx - 3]
cmp dword [r13 + 8], edx
jne 0x14002eddd
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [rdi + rcx*8 + 8]
sub eax, r11d
mov r14, qword [r12 + 0x68]
xor r10d, r10d
cdqe
mov qword [rsp + 0x60], r14
lea rcx, [rax + rax*2]
lea r13, [rdi + rcx*8]
jmp 0x14002d8bf
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, dword [rdi + rcx*8 + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [rbp - 0x70]
lea r13, [rdi + rcx*8]
mov word [rdx + r14 + 8], ax
jmp 0x14002d022
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
jmp 0x14002ee12
movsxd rax, dword [r13 + 0xc]
mov rbx, qword [r13 + 0x10]
imul rdi, rax, 0x38
add rdi, r14
cmp qword [rbx], rdi
je 0x14002ee91
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx + 0x18], r12
sub rdx, 1
mov qword [rbx], rdi
lea r9d, [rax - 1]
js 0x14002ee91
lea r8, [rdx + 6]
mov esi, 8
lea r8, [rbx + r8*8]
mov eax, dword [r13 + 8]
add eax, r9d
sub r9d, r11d
cdqe
imul rcx, rax, 0x38
add rcx, r14
mov qword [r8], rcx
sub r8, rsi
sub rdx, r11
jns 0x14002ee6e
mov rsi, qword [rsp + 0x50]
mov eax, 0x3e40
lea r8, [rbx + 0x30]
and word [rdi + 8], ax
mov rcx, rbx
or word [rdi + 8], r11w
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
mov rax, qword [rax + 0x18]
call qword [str.__r_]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x14002ef0f
jle 0x14002eee7
mov rcx, rdi
call fcn.14002aaa0
mov r8, rax
lea rdx, [0x1400e0460]
mov rcx, r12
call fcn.1400263b0
mov r15d, dword [rbx + 0x24]
mov dword [rsp + 0x38], r15d
mov r9d, dword [r13 + 4]
lea rdx, [r12 + 0x120]
mov r8d, dword [rbx + 0x20]
mov rcx, rsi
call fcn.140028fc0
xor r10d, r10d
mov dword [rbx + 0x24], r10d
test r15d, r15d
jne 0x14002d55d
test byte [rdi + 8], 0x12
je 0x14002d11d
movzx edx, byte [rsp + 0x3c]
mov rcx, rdi
call fcn.140024cdc
mov rcx, rdi
call fcn.14002582c
xor r10d, r10d
test eax, eax
jne 0x140032cf9
jmp 0x14002d11d
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
movsxd rcx, dword [r13 + 4]
mov qword [rax], rcx
jmp 0x14002db0b
sub ebx, 0x46
je 0x14002f02b
sub ebx, 1
je 0x140030db2
sub ebx, 1
je 0x14002ef98
cmp ebx, 1
mov rbx, qword [rsp + 0x30]
jne 0x14002d143
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, r14
and word [rcx + 8], ax
or word [rcx + 8], r11w
jmp 0x14002d13e
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
mov ecx, dword [r13 + 4]
mov r11d, 1
mov edi, dword [r13 + 0xc]
neg ecx
mov edx, dword [r13 + 8]
mov ecx, 0x100
sbb si, si
lea rbx, [rax + 8]
and si, cx
xor r10d, r10d
add si, r11w
mov dword [rax + 0xc], r10d
sub edi, edx
mov ecx, 0x2400
jmp 0x14002efff
lea rbx, [rbx + 0x38]
test word [rbx], cx
je 0x14002eff8
lea rcx, [rbx - 8]
call fcn.1400251b4
xor r10d, r10d
mov ecx, 0x2400
lea r11d, [r10 + 1]
mov dword [rbx + 4], r10d
sub edi, r11d
mov word [rbx], si
test edi, edi
jg 0x14002efda
mov rdi, qword [rsp + 0x58]
mov edx, 4
mov rsi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x30]
mov r8d, 2
mov r9d, 8
jmp 0x14002d143
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x14002db0b
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
mov r8d, dword [r13 + 4]
mov rbx, rax
mov rdx, qword [r13 + 0x10]
xor eax, eax
mov rcx, rbx
mov qword [rsp + 0x20], rax
xor r9d, r9d
call fcn.1400259c4
mov al, byte [rsp + 0x3c]
mov byte [rbx + 0xa], al
jmp 0x14002db0b
sub ebx, 0x4b
je 0x14002f26c
sub ebx, 1
je 0x14002f207
sub ebx, 1
je 0x14002f1a0
sub ebx, 1
je 0x14002f17a
sub ebx, 1
je 0x14002f13a
sub ebx, 1
je 0x140032b13
sub ebx, 1
je 0x14002f100
sub ebx, 1
je 0x14002f0e1
cmp ebx, 1
jne 0x1400307e7
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 0x24
je 0x14002d9ee
call fcn.1400253ec
jmp 0x14002db0b
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1400253c4
movsxd rax, dword [r13 + 8]
add qword [rbx], rax
jmp 0x14002db0b
cmp dword [r13 + 4], r10d
je 0x1400307e7
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r14
test word [rcx + 8], ax
je 0x14002f127
xor edx, edx
jmp 0x14002db06
mov rbx, qword [rsp + 0x30]
mov qword [rcx], r10
mov word [rcx + 8], dx
mov ecx, eax
jmp 0x14002d143
movsxd rax, dword [r13 + 8]
imul r8, rax, 0x38
movsxd rax, dword [r13 + 4]
imul rcx, rax, 0x38
add r8, r14
mov rax, qword [rcx + r14]
mov ecx, 0x2400
test word [r8 + 8], cx
je 0x14002f168
mov rdx, rax
mov rcx, r8
jmp 0x14002db06
mov qword [r8], rax
mov word [r8 + 8], dx
mov rbx, qword [rsp + 0x30]
jmp 0x140030e22
movsxd rax, dword [r13 + 4]
imul rdx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rdx, r14
add rcx, r14
mov r8d, 0x1000
call fcn.140025890
jmp 0x14002db0b
movsxd rax, dword [r13 + 4]
mov esi, dword [r13 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
mov r8d, 0x1000
mov rdx, rdi
mov rcx, rbx
call fcn.140025890
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14002f1eb
mov rcx, rbx
call fcn.140024eb8
xor r10d, r10d
test eax, eax
jne 0x140032d2e
jmp 0x14002f1ee
xor r10d, r10d
mov eax, esi
mov r11d, 1
sub esi, r11d
test eax, eax
je 0x14002f262
add rbx, 0x38
add rdi, 0x38
jmp 0x14002f1ba
movsxd rax, dword [r13 + 4]
mov esi, dword [r13 + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
mov rdx, rdi
mov rcx, rbx
call fcn.140025974
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14002f24c
mov rcx, rbx
call fcn.140024eb8
xor r10d, r10d
test eax, eax
jne 0x140032d2e
jmp 0x14002f24f
xor r10d, r10d
add rdi, 0x38
add rbx, 0x38
mov r11d, 1
sub esi, r11d
jne 0x14002f221
mov rsi, qword [rsp + 0x50]
jmp 0x14002d882
mov eax, dword [r13 + 4]
sub eax, r11d
cdqe
imul rdi, rax, 0x38
add rdi, qword [r12 + 0x80]
mov rcx, rdi
call fcn.14002582c
test eax, eax
jne 0x140032cf9
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
mov eax, 0x2400
add rbx, r14
test word [rbx + 8], ax
je 0x14002f2af
mov rcx, rbx
call fcn.1400251b4
mov r8d, 0x18
mov rdx, rdi
mov rcx, rbx
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
movzx eax, word [rbx + 8]
mov ecx, 0xebff
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
jmp 0x14002e751
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r14
test word [rbx + 8], ax
je 0x14002f30a
mov rcx, rbx
call fcn.140024f10
xor r10d, r10d
mov r15d, eax
test eax, eax
jne 0x14002d55d
mov r8b, byte [rsp + 0x3c]
mov rcx, rbx
mov dl, byte [r13 + 8]
call fcn.140025528
jmp 0x14002d54b
mov eax, 0x82
cmp ebx, eax
ja 0x140031540
je 0x1400314c9
cmp ebx, 0x6c
ja 0x140030675
je 0x1400304c6
cmp ebx, 0x61
ja 0x1400301d9
je 0x14002ff88
cmp ebx, 0x5c
ja 0x14002ff66
je 0x14002ff08
sub ebx, 0x56
je 0x14002fdd2
sub ebx, 1
je 0x14002fd86
sub ebx, r8d
je 0x14002f7bd
sub ebx, 1
je 0x14002f723
cmp ebx, 1
jne 0x1400307e7
movsxd rax, dword [r13 + 4]
mov rdx, r10
mov rdi, qword [r13 + 0x10]
mov r12, r10
imul r8, rax, 0x38
mov eax, dword [r13 + 8]
mov r15d, r10d
sub eax, r11d
mov qword [rsp + 0x70], rdx
cdqe
add r8, r14
imul rsi, rax, 0x38
mov rax, qword [rsp + 0x68]
add rsi, r8
mov qword [rbp - 0x68], r8
mov qword [rbp - 0x58], rsi
mov r9b, byte [rax + 0xc3]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov byte [rbp - 0x78], r9b
add rcx, r14
mov qword [rbp + 0x20], rcx
test rdi, rdi
je 0x14002f449
mov al, byte [rdi]
lea rbx, [r8 + 8]
mov sil, byte [rsp + 0x3c]
mov r14d, 0x20
mov r13d, 0xfffb
lea rcx, [rbx - 8]
mov r8b, sil
mov dl, al
call fcn.14002cb20
cmp byte [rdi], 0x45
jne 0x14002f422
movzx eax, word [rbx]
test al, 4
je 0x14002f422
and ax, r13w
or ax, r14w
mov word [rbx], ax
mov r11d, 1
add rbx, 0x38
add rdi, r11
xor r10d, r10d
mov al, byte [rdi]
test al, al
jne 0x14002f3fd
mov r9b, byte [rbp - 0x78]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rbp - 0x68]
mov rsi, qword [rbp - 0x58]
lea r14, [rsi + 0x24]
movzx ecx, word [r14 - 0x1c]
test r11b, cl
je 0x14002f472
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r14], eax
add r15d, r11d
jmp 0x14002f5cf
test cl, 0x24
je 0x14002f54b
mov r8, qword [r14 - 0x24]
mov rdx, r8
test r8, r8
jns 0x14002f48a
not rdx
add r15d, r11d
cmp rdx, 0x7f
ja 0x14002f4bb
mov rax, r8
and rax, r11
cmp rax, r8
jne 0x14002f4b0
mov eax, 4
cmp r9b, al
jb 0x14002f4b0
lea eax, [rdx + 8]
jmp 0x14002f543
add r12, r11
mov eax, r11d
jmp 0x14002f543
cmp rdx, 0x7fff
ja 0x14002f4cb
mov eax, 2
jmp 0x14002f4ed
cmp rdx, 0x7fffff
ja 0x14002f4df
add r12, 3
mov eax, 3
jmp 0x14002f543
cmp rdx, 0x7fffffff
ja 0x14002f4f2
mov eax, 4
add r12, rax
jmp 0x14002f543
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x14002f50c
add r12, 6
mov eax, 5
jmp 0x14002f543
mov edx, 8
add r12, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x14002f53e
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
lea eax, [rdx - 1]
cvtsi2sd xmm0, r8
or cx, dx
mov word [r14 - 0x1c], cx
movsd qword [r14 - 0x24], xmm0
jmp 0x14002f543
mov eax, 6
mov dword [r14], eax
jmp 0x14002f5cb
mov eax, 8
test al, cl
je 0x14002f563
add r15d, r11d
mov dword [r14], 7
add r12, rax
jmp 0x14002f5cf
mov edi, dword [r14 - 0x18]
mov eax, ecx
shr eax, 1
and eax, r11d
bt cx, 0xe
lea esi, [rdi + 6]
lea esi, [rax + rsi*2]
jae 0x14002f5ad
lea rbx, [r14 - 0x24]
movsxd rax, dword [rbx]
lea esi, [rsi + rax*2]
test r12, r12
je 0x14002f5a5
mov rcx, rbx
call fcn.140024f10
xor r10d, r10d
test eax, eax
jne 0x140032d29
add edi, dword [rbx]
lea r11d, [r10 + 1]
jmp 0x14002f5ad
add rdx, rax
mov qword [rsp + 0x70], rdx
mov eax, edi
mov ecx, r11d
add r12, rax
mov eax, esi
jmp 0x14002f5bc
add ecx, r11d
shr rax, 7
test rax, rax
jne 0x14002f5b9
add r15d, ecx
mov dword [r14], esi
mov r8, qword [rbp - 0x68]
lea rax, [r14 - 0x24]
cmp rax, r8
je 0x14002f5ea
mov r9b, byte [rbp - 0x78]
sub r14, 0x38
mov rdx, qword [rsp + 0x70]
jmp 0x14002f44d
cmp r15d, 0x7e
jle 0x14002f61f
mov edx, r11d
movsxd rax, r15d
jmp 0x14002f5fb
add edx, r11d
shr rax, 7
test rax, rax
jne 0x14002f5f8
add r15d, edx
mov ecx, r11d
movsxd rax, r15d
jmp 0x14002f612
add ecx, r11d
shr rax, 7
test rax, rax
jne 0x14002f60f
cmp edx, ecx
jge 0x14002f622
add r15d, r11d
mov r14, qword [rsp + 0x70]
mov rsi, qword [rbp + 0x20]
movsxd rdi, r15d
movsxd rax, dword [rsi + 0x20]
lea rbx, [rdi + r12]
lea rcx, [rbx + r14]
cmp rcx, rax
jg 0x14002f649
mov rax, qword [rsi + 0x18]
mov qword [rsi + 0x10], rax
jmp 0x14002f671
mov rax, qword [rsp + 0x50]
movsxd rax, dword [rax + 0x7c]
cmp rcx, rax
jg 0x140032cf4
mov edx, ebx
mov rcx, rsi
call fcn.140024e38
test eax, eax
jne 0x140032d29
lea r11d, [rax + 1]
mov dword [rsi + 0xc], ebx
mov eax, 0x10
mov word [rsi + 8], ax
test r14, r14
je 0x14002f68e
mov eax, 0x4010
mov dword [rsi], r14d
mov word [rsi + 8], ax
mov rbx, qword [rsi + 0x10]
mov r13d, dword [rbp - 0x70]
lea rsi, [rbx + rdi]
cmp r15d, r13d
jae 0x14002f6a7
mov byte [rbx], r15b
mov eax, r11d
jmp 0x14002f6b8
mov rdx, rdi
mov rcx, rbx
call fcn.14000cb58
mov r11d, 1
mov r14, qword [rbp - 0x68]
mov r15, qword [rbp - 0x58]
movzx eax, al
add rbx, rax
mov edi, dword [r14 + 0x24]
cmp edi, r13d
jae 0x14002f6d7
mov byte [rbx], dil
mov eax, r11d
jmp 0x14002f6e2
mov rdx, rdi
mov rcx, rbx
call fcn.14000cb58
movzx eax, al
mov r8d, edi
mov rdx, r14
mov rcx, rsi
add rbx, rax
call fcn.1400292ac
mov eax, eax
add r14, 0x38
add rsi, rax
mov r11d, 1
cmp r14, r15
jbe 0x14002f6c6
mov r13, qword [rsp + 0x48]
mov r15d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x60]
jmp 0x14002d7ab
movsxd rax, dword [r13 + 4]
mov rdi, qword [r13 + 0x10]
imul rbx, rax, 0x38
mov al, byte [rdi]
add rbx, r14
mov r8b, byte [rsp + 0x3c]
mov dl, al
mov rcx, rbx
call fcn.14002cb20
cmp byte [rdi], 0x45
mov edx, 4
jne 0x14002f79e
movzx ecx, word [rbx + 8]
test dl, cl
je 0x14002f79e
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x14002f782
and cx, ax
or cx, 0x20
jmp 0x14002f795
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov edx, 4
mov word [rbx + 8], cx
mov r11d, 1
xor r10d, r10d
add rdi, r11
mov al, byte [rdi]
test al, al
je 0x14002d8ba
add rbx, 0x38
jmp 0x14002f734
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 0x60]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 0x80], rcx
lea rcx, [rbp - 0x80]
mov eax, dword [r13 + 8]
mov dword [rbp - 0x60], eax
call fcn.14002925c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
movsxd rax, dword [r13 + 0xc]
mov r8, qword [rbp - 0x80]
imul rsi, rax, 0x38
mov rbx, qword [r8 + 0x60]
mov eax, dword [r12 + 0x30]
add rsi, r14
mov qword [rbp + 0x20], rsi
mov qword [rsp + 0x70], rbx
cmp dword [r8 + 0x28], eax
je 0x14002f963
cmp byte [r8 + 2], r10b
je 0x14002f883
cmp byte [r8], 3
jne 0x14002f856
movsxd rax, dword [r8 + 0x2c]
imul rdx, rax, 0x38
mov ecx, dword [rdx + r14 + 0xc]
mov dword [r8 + 0x74], ecx
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x70], ecx
mov rcx, qword [rdx + r14 + 0x10]
mov rax, qword [rbp - 0x80]
mov qword [rax + 0x68], rcx
mov rcx, qword [rbp - 0x80]
jmp 0x14002f8ce
mov ecx, 0x2400
test word [rsi + 8], cx
je 0x14002f873
mov rcx, rsi
call fcn.1400251b4
mov rsi, qword [rsp + 0x50]
jmp 0x14002db0b
mov r11d, 1
mov word [rsi + 8], r11w
jmp 0x14002f00b
mov rbx, qword [r8 + 0x38]
mov rcx, rbx
call fcn.14001d89c
mov ecx, dword [rbx + 0x40]
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x70], ecx
mov rcx, rbx
mov rdx, qword [rbp - 0x80]
add rdx, 0x74
call fcn.14001ddb4
mov rcx, qword [rbp - 0x80]
mov qword [rcx + 0x68], rax
mov rax, qword [rsp + 0x50]
mov rcx, qword [rbp - 0x80]
mov eax, dword [rax + 0x7c]
cmp dword [rcx + 0x70], eax
ja 0x140032cf9
mov rbx, qword [rsp + 0x70]
xor r10d, r10d
mov eax, dword [r12 + 0x30]
mov dword [rcx + 0x28], eax
mov rax, qword [rbp - 0x80]
mov rcx, qword [rax + 0x68]
mov eax, dword [rbp - 0x70]
cmp byte [rcx], al
jae 0x14002f8f1
movzx eax, byte [rcx]
mov dword [rbx], eax
mov eax, 1
jmp 0x14002f8fc
mov rdx, rbx
call fcn.14000cd4c
xor r10d, r10d
movzx ecx, al
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x48], ecx
mov rax, qword [rbp - 0x80]
mov word [rax + 0x52], r10w
mov r8, qword [rbp - 0x80]
mov eax, dword [rbx]
cmp dword [r8 + 0x74], eax
jae 0x14002f95d
mov qword [r8 + 0x68], r10
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x74], r10d
mov eax, dword [rbx]
cmp eax, 0x18003
ja 0x14002f93a
mov r8, qword [rbp - 0x80]
cmp eax, dword [r8 + 0x70]
jbe 0x14002f963
mov r11d, 1
mov eax, dword [rdi + 0xc]
test eax, eax
jle 0x140032c52
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea r13, [rdi + rax*8]
jmp 0x14002d512
mov r13, qword [r8 + 0x68]
jmp 0x14002f9d6
movzx eax, word [r8 + 0x52]
mov r9d, dword [rbp - 0x60]
cmp eax, r9d
ja 0x14002fc00
mov eax, dword [rbx]
cmp dword [r8 + 0x48], eax
jae 0x14002fbb7
mov r13, qword [r8 + 0x68]
mov qword [rbp - 0x68], r13
test r13, r13
jne 0x14002f9da
xor edx, edx
lea r8d, [r13 + 0x38]
lea rcx, [rbp + 0xa8]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov rcx, qword [rbp - 0x80]
lea r8, [rbp + 0xa8]
mov edx, dword [rbx]
mov rcx, qword [rcx + 0x38]
call fcn.140025d2c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
mov r13, qword [rbp + 0xb8]
mov eax, dword [rbx]
mov r8, qword [rbp - 0x80]
mov qword [rbp - 0x68], r13
movzx r15d, word [r8 + 0x52]
mov r11d, 1
mov rdx, qword [rsp + 0x70]
mov edi, r15d
mov esi, dword [rbp - 0x70]
mov r12d, eax
mov r14d, dword [rbx + r15*4]
mov ebx, dword [r8 + 0x48]
add rbx, r13
add r12, r13
lea r13, [0x140000000]
movzx eax, byte [rbx]
mov dword [rsp + 0x78], eax
mov dword [r8 + rdi*4 + 0x78], eax
cmp dword [rsp + 0x78], esi
jae 0x14002fa2d
movzx eax, byte [rsp + 0x78]
add rbx, r11
movzx eax, byte [rax + r13 + 0xe7570]
jmp 0x14002fa6f
lea rdx, [rsp + 0x78]
mov rcx, rbx
call fcn.14000cd4c
mov rcx, qword [rbp - 0x80]
movzx eax, al
add rbx, rax
mov eax, dword [rsp + 0x78]
mov dword [rcx + rdi*4 + 0x78], eax
mov eax, dword [rsp + 0x78]
cmp eax, esi
jb 0x14002fa5b
add eax, 0xfffffff4
shr eax, 1
jmp 0x14002fa64
movzx eax, byte [rax + r13 + 0xe7570]
mov rdx, qword [rsp + 0x70]
mov r11d, 1
add r15d, r11d
add r14, rax
movsxd rdi, r15d
mov dword [rdx + rdi*4], r14d
cmp r15d, dword [rbp - 0x60]
ja 0x14002fa90
cmp rbx, r12
jae 0x14002fa90
mov r8, qword [rbp - 0x80]
jmp 0x14002fa08
mov rcx, qword [rbp - 0x80]
mov rsi, qword [rbp + 0x20]
mov r13, qword [rbp - 0x68]
cmp rbx, r12
jb 0x14002faab
ja 0x14002fab3
mov eax, dword [rcx + 0x70]
cmp r14, rax
jne 0x14002fab3
mov eax, dword [rcx + 0x70]
cmp r14, rax
jbe 0x14002fb21
xor r10d, r10d
cmp dword [rdx], r10d
jne 0x14002fac3
mov r15d, r10d
mov rbx, r12
jmp 0x14002fb24
cmp qword [rcx + 0x68], r10
jne 0x14002fb08
mov eax, 0x2400
test word [rbp + 0xb0], ax
jne 0x14002fae0
cmp dword [rbp + 0xc8], r10d
je 0x14002fb08
lea rcx, [rbp + 0xa8]
call fcn.1400251f8
mov r15d, dword [rsp + 0x38]
xor r10d, r10d
mov r12, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
jmp 0x14002f93a
mov r15d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
jmp 0x14002f940
xor r10d, r10d
mov word [rcx + 0x52], r15w
sub ebx, r13d
mov rax, qword [rbp - 0x80]
mov dword [rax + 0x48], ebx
mov r8, qword [rbp - 0x80]
cmp qword [r8 + 0x68], r10
jne 0x14002fb8f
mov eax, 0x2400
test word [rbp + 0xb0], ax
jne 0x14002fb54
cmp dword [rbp + 0xc8], r10d
je 0x14002fb8f
lea rcx, [rbp + 0xa8]
call fcn.1400251f8
mov r8, qword [rbp - 0x80]
xor r10d, r10d
mov r9d, dword [rbp - 0x60]
mov edx, dword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
mov r13, qword [rsp + 0x48]
mov r15d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
jmp 0x14002fbbe
mov r9d, dword [rbp - 0x60]
mov edx, dword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
mov r13, qword [rsp + 0x48]
mov r15d, dword [rsp + 0x38]
mov r12, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
jmp 0x14002fbc4
mov edx, r10d
mov dword [rsp + 0x78], edx
mov r11d, 1
movzx eax, word [r8 + 0x52]
cmp eax, r9d
ja 0x14002fc09
cmp byte [r13 + 1], 0xf5
jne 0x14002fbec
mov rdx, qword [r13 + 0x10]
mov r8d, 0x800
mov rcx, rsi
call fcn.140025890
jmp 0x14002f869
mov ecx, 0x2400
test word [rsi + 8], cx
je 0x14002f879
jmp 0x14002f861
mov edx, dword [r8 + r9*4 + 0x78]
mov dword [rsp + 0x78], edx
mov eax, 0x2400
test word [rsi + 8], ax
je 0x14002fc28
mov rcx, rsi
call fcn.1400251b4
mov r8, qword [rbp - 0x80]
mov r9d, dword [rbp - 0x60]
mov edx, dword [rsp + 0x78]
lea eax, [r9 + 1]
mov eax, dword [rbx + rax*4]
cmp dword [r8 + 0x74], eax
jb 0x14002fcdc
mov eax, r9d
mov edi, dword [rbx + rax*4]
add rdi, qword [r8 + 0x68]
cmp edx, 0xc
jae 0x14002fc58
mov r8, rsi
mov rcx, rdi
call fcn.14002932c
jmp 0x14002e74c
mov al, byte [rsp + 0x3c]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [rsi + 0xc], ebx
mov byte [rsi + 0xa], al
lea edx, [rbx + 2]
cmp dword [rsi + 0x20], edx
jge 0x14002fc91
mov eax, 1
xor r8d, r8d
mov rcx, rsi
mov word [rsi + 8], ax
call fcn.140024cf4
test eax, eax
jne 0x140032d2e
mov rcx, qword [rsi + 0x10]
jmp 0x14002fc99
mov rcx, qword [rsi + 0x18]
mov qword [rsi + 0x10], rcx
mov r8d, ebx
mov rdx, rdi
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov rax, qword [rsi + 0x10]
lea rcx, [0x140000000]
xor r10d, r10d
mov byte [rbx + rax], r10b
mov rax, qword [rsi + 0x10]
lea r11d, [r10 + 1]
mov byte [rbx + rax + 1], r10b
mov eax, dword [rsp + 0x78]
and rax, r11
movzx eax, word [rcx + rax*2 + 0xe6008]
mov word [rsi + 8], ax
jmp 0x14002f262
mov al, byte [rsp + 0x3c]
mov byte [rsi + 0xa], al
test byte [r13 + 2], 0xc0
mov edx, dword [rsp + 0x78]
je 0x14002fd07
cmp edx, 0xc
jb 0x14002fcfc
mov eax, 1
test al, dl
je 0x14002fd2c
mov eax, dword [rbp - 0x70]
test byte [r13 + 2], al
jne 0x14002fd2c
jmp 0x14002fd0a
mov eax, dword [rbp - 0x70]
cmp edx, eax
jb 0x14002fd17
lea r8d, [rdx - 0xc]
shr r8d, 1
jmp 0x14002fd27
lea rcx, [0x140000000]
movzx r8d, byte [rdx + rcx + 0xe7570]
test r8d, r8d
jne 0x14002fd40
mov r8, rsi
lea rcx, [0x1400e6f00]
call fcn.14002932c
jmp 0x14002f869
mov eax, dword [rbp - 0x60]
mov r9, rsi
mov rcx, qword [rbp - 0x80]
mov edx, dword [rbx + rax*4]
mov rcx, qword [rcx + 0x38]
call fcn.140025c4c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
mov edx, dword [rsp + 0x78]
mov r8, rsi
mov rcx, qword [rsi + 0x10]
call fcn.14002932c
mov eax, 0xefff
and word [rsi + 8], ax
jmp 0x14002f869
movsxd rax, dword [r13 + 4]
mov edx, dword [r13 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.14002533c
movsxd rdx, dword [r13 + 0x10]
movsxd rcx, eax
movsxd rax, dword [r13 + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r14
test word [rcx + 8], ax
jne 0x14002db06
mov qword [rcx], rdx
xor r10d, r10d
mov edx, 4
mov word [rcx + 8], dx
jmp 0x14002db24
test byte [r13 + 2], r11b
jne 0x14002fddd
mov rdi, r10
jmp 0x14002fde4
mov rdi, qword [r13 - 8]
add rdi, rdx
mov rsi, qword [rsp + 0x48]
mov r14d, r10d
mov r13, qword [r13 + 0x10]
mov rbx, r10
movsxd rax, dword [rsi + 0xc]
mov edx, dword [rsi + 4]
mov r8d, dword [rsi + 8]
mov dword [rbp - 0x68], edx
mov dword [rbp - 0x58], r8d
mov qword [rbp + 0x20], rax
test rax, rax
jle 0x140032684
lea r15, [r13 + 0x20]
test rdi, rdi
je 0x14002fe20
mov ecx, dword [rdi + rbx*4]
jmp 0x14002fe23
mov ecx, r14d
mov rax, qword [r13 + 0x18]
lea r12d, [rcx + r8]
mov r8, qword [r15]
lea esi, [rcx + rdx]
imul rdx, r12, 0x38
imul rcx, rsi, 0x38
movzx eax, byte [rax + rbx]
add rdx, qword [rsp + 0x60]
and eax, r11d
mov dword [rsp + 0x70], eax
add rcx, qword [rsp + 0x60]
call fcn.140029938
xor r10d, r10d
mov dword [rbp - 0x5c], eax
mov r9d, eax
lea r11d, [r10 + 1]
test eax, eax
jne 0x14002fe9c
mov edx, dword [rbp - 0x68]
lea r9d, [rax + 8]
mov r8d, dword [rbp - 0x58]
add r15, r9
add r14d, r11d
add rbx, r11
cmp rbx, qword [rbp + 0x20]
jl 0x14002fe16
mov r13, qword [rsp + 0x48]
mov r15d, dword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
jmp 0x14002d9bf
mov rax, qword [r13 + 0x18]
mov r8d, 2
mov r14, qword [rsp + 0x60]
test byte [rbx + rax], r8b
je 0x14002fece
imul rax, rsi, 0x38
test byte [rax + r14 + 8], r11b
jne 0x14002fec7
imul rax, r12, 0x38
test byte [rax + r14 + 8], r11b
je 0x14002fece
neg r9d
mov dword [rbp - 0x5c], r9d
mov edx, 4
mov r13, qword [rsp + 0x48]
mov ecx, 0x2400
mov r15d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x30]
cmp dword [rsp + 0x70], r10d
je 0x14002f020
neg r9d
mov dword [rbp - 0x5c], r9d
jmp 0x14002f020
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x38]
cmp dword [r13 + 0xc], r10d
je 0x14002ff2d
mov rcx, rdx
call fcn.14001e5f4
mov qword [rbp + 0x30], rax
jmp 0x14002ff4f
lea r8, [rbp + 0x30]
mov qword [rbp + 0x30], r10
mov rcx, rsi
call fcn.140022f9c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
mov rcx, qword [rbp + 0x30]
mov qword [rax], rcx
jmp 0x140031b6f
mov ecx, ebx
sub ecx, 0x5d
je 0x1400300b7
sub ecx, 1
je 0x140030016
sub ecx, 1
je 0x14002fff2
cmp ecx, 1
jne 0x14002d9ee
mov eax, dword [r12 + 0xc8]
and al, 3
cmp al, r11b
je 0x140032c5d
movsxd r12, dword [r13 + 0xc]
mov edi, r10d
mov r15d, dword [r13 + 8]
mov rax, r12
shl rax, 5
mov r14, r10
add rax, qword [rsi + 0x20]
cmp bl, 0x61
mov rbx, qword [rsp + 0x48]
mov r13, qword [rax + 8]
jne 0x1400300e9
mov rax, qword [rax + 0x18]
movzx esi, word [rbx + 2]
and esi, r9d
or esi, edx
mov cl, byte [rax + 0x70]
mov rax, qword [rsp + 0x68]
cmp cl, byte [rax + 0xc3]
jae 0x1400300ec
mov byte [rax + 0xc3], cl
jmp 0x1400300ec
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x14002ff88
mov eax, dword [r13 + 8]
cmp dword [rdi + 0x4c], eax
jne 0x14002ff88
jmp 0x1400301b8
movsxd rbx, dword [r13 + 4]
mov r8d, dword [r13 + 0xc]
mov edx, dword [r13 + 8]
shl rbx, 5
add rbx, qword [rsi + 0x20]
mov rcx, qword [rbx + 8]
call fcn.140022eec
mov r11d, 1
mov dword [rsp + 0x38], eax
mov r15d, eax
lea r8d, [r11 + 1]
cmp dword [r13 + 8], r11d
jne 0x140030061
movzx eax, word [r13 + 2]
mov ecx, dword [r13 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
or dword [rsi + 0x2c], r11d
jmp 0x140030072
cmp dword [r13 + 8], r8d
jne 0x140030072
mov rcx, qword [rbx + 0x18]
mov al, byte [r13 + 0xc]
mov byte [rcx + 0x70], al
xor r10d, r10d
cmp dword [r13 + 4], r11d
jne 0x1400300a1
mov rax, qword [rsi + 8]
jmp 0x140030093
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r11d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140030081
and dword [r12 + 0xc8], 0xfffffffc
test r15d, r15d
je 0x14002e7f0
mov rsi, qword [rsp + 0x48]
mov r14, r11
jmp 0x14002d568
movsxd rax, dword [r13 + 4]
lea r8, [rbp + 0x50]
mov rcx, qword [rsi + 0x20]
mov edx, dword [r13 + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140022e60
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
movsxd rcx, dword [rbp + 0x50]
jmp 0x14002ef4d
mov esi, r10d
mov eax, 0x10
test byte [rbx + 2], al
je 0x140030112
imul rbx, r15, 0x38
add rbx, qword [rsp + 0x60]
mov rcx, rbx
call fcn.1400253c4
mov r15d, dword [rbx]
xor r10d, r10d
mov rbx, qword [rsp + 0x48]
mov al, byte [rbx + 1]
cmp al, 0xf7
jne 0x140030124
mov r14, qword [rbx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x14003012b
cmp al, 0xfd
jne 0x14003012b
mov edi, dword [rbx + 0x10]
mov edx, dword [rbx + 4]
mov r9d, r12d
mov r12, qword [rsp + 0x68]
mov r8d, edi
mov rcx, r12
mov byte [rsp + 0x20], r10b
call fcn.14002c940
mov rdi, rax
test rax, rax
je 0x140032d2e
mov rcx, qword [rdi + 0x38]
mov eax, 1
mov byte [rdi + 2], al
mov r9, r14
mov eax, 4
mov qword [rsp + 0x20], rcx
or dword [rdi + 8], eax
mov r8d, esi
mov edx, r15d
mov dword [rdi + 0x4c], r15d
mov rcx, r13
call fcn.14001d748
mov r13, qword [rsp + 0x48]
mov r15d, eax
mov rsi, qword [rsp + 0x50]
mov qword [rdi + 0x40], r14
mov r14, qword [rsp + 0x60]
cmp byte [r13 + 1], 0xf7
mov dword [rsp + 0x38], eax
setne al
xor r10d, r10d
mov byte [rdi + 4], al
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
lea r8d, [r10 + 2]
lea r9d, [r10 + 8]
mov cl, byte [r13 + 2]
mov rax, qword [rdi + 0x38]
and cl, 3
mov byte [rax + 3], cl
test r15d, r15d
jne 0x14002d55d
mov rdi, qword [rsp + 0x58]
jmp 0x14002d9ee
cmp ebx, 0x67
ja 0x1400304aa
je 0x140030205
sub ebx, 0x62
je 0x14003042b
sub ebx, 1
je 0x140030253
sub ebx, 1
je 0x140030253
sub ebx, 1
je 0x140030205
cmp ebx, 1
jne 0x1400307e7
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, r14
imul rsi, rax, 0x38
add rcx, r14
add rsi, r14
mov al, byte [rcx + 8]
or al, byte [rbx + 8]
test r11b, al
je 0x14003056d
mov ecx, 0x2400
test word [rsi + 8], cx
jne 0x14002f861
mov word [rsi + 8], r11w
mov rsi, qword [rsp + 0x50]
jmp 0x1400307e7
cmp dword [r13 + 0xc], r10d
jle 0x14003027a
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
mov dword [rcx + r14 + 0xc], r10d
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x1400df5d8]
mov qword [rcx + r14 + 0x10], rax
movsxd rdx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rsi, qword [rax + rdx*8]
test rsi, rsi
je 0x1400302b9
mov rcx, qword [rsi + 0x10]
test rcx, rcx
je 0x1400302b9
mov edx, dword [rsi + 0x4c]
xor r8d, r8d
mov qword [rsi + 0x18], r10
mov dword [rsi + 0x28], r10d
call fcn.140022b30
mov r15d, eax
mov dword [rsp + 0x38], eax
mov edx, 4
jmp 0x14003040d
mov r8d, dword [r13 + 8]
or r9d, 0xffffffff
mov rcx, r12
mov byte [rsp + 0x20], r10b
call fcn.14002c940
mov rsi, rax
test rax, rax
je 0x140032d2e
mov eax, 1
mov dword [rsp + 0x28], 0x41e
or dword [rsi + 8], eax
lea r14, [rsi + 0x10]
movzx ecx, word [r13 + 2]
mov r9, r14
mov rax, qword [rsp + 0x50]
or ecx, 5
mov dword [rsp + 0x20], ecx
mov r8, rax
xor edx, edx
mov rcx, qword [rax]
call fcn.14001b024
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x1400303e8
mov rcx, qword [r14]
lea edx, [rax + 1]
xor r8d, r8d
call fcn.14001c1a4
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x1400303e8
mov r15, qword [r13 + 0x10]
lea r12, [rsi + 0x4c]
mov qword [rsi + 0x40], r15
test r15, r15
je 0x1400303b6
mov rdi, qword [r14]
movzx ebx, word [r13 + 2]
mov rcx, rdi
or ebx, 2
call fcn.140019630
mov r8d, ebx
mov rdx, r12
mov rcx, rdi
call fcn.1400226a8
mov rcx, rdi
mov dword [rsp + 0x38], eax
mov ebx, eax
call fcn.1400196f0
xor edi, edi
test ebx, ebx
jne 0x1400303a6
mov rax, qword [rsi + 0x38]
lea r8d, [rbx + 4]
mov edx, dword [r12]
mov r9, r15
mov rcx, qword [r14]
mov qword [rsp + 0x20], rax
call fcn.14001d748
mov r15d, eax
mov dword [rsp + 0x38], eax
jmp 0x1400303ab
mov r15d, dword [rsp + 0x38]
mov byte [rsi + 4], dil
mov rdi, qword [rsp + 0x58]
jmp 0x1400303e3
mov rax, qword [rsi + 0x38]
mov ebx, 1
mov rcx, qword [r14]
xor r9d, r9d
mov edx, ebx
mov dword [r12], ebx
mov qword [rsp + 0x20], rax
lea r8d, [rbx + 3]
call fcn.14001d748
mov r15d, eax
mov dword [rsp + 0x38], eax
mov byte [rsi + 4], bl
mov r12, qword [rsp + 0x68]
movzx eax, word [r13 + 2]
mov edx, 4
mov r14, qword [rsp + 0x60]
sub ax, 8
neg ax
mov eax, dword [rsi + 8]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, edx
or ecx, eax
mov dword [rsi + 8], ecx
xor r10d, r10d
test r15d, r15d
jne 0x14002d55d
lea r11d, [r10 + 1]
mov byte [rsi + 2], r11b
mov rsi, qword [rsp + 0x50]
jmp 0x14002d8bf
movsxd rcx, dword [r13 + 8]
or r9d, 0xffffffff
mov rax, qword [r12 + 0x78]
mov edx, dword [r13 + 4]
mov byte [rsp + 0x20], r10b
mov rbx, qword [rax + rcx*8]
mov rcx, r12
movsx r8d, word [rbx + 0x50]
call fcn.14002c940
test rax, rax
je 0x140032d33
mov ecx, 1
mov r8d, 4
or dword [rax + 8], ecx
mov byte [rax + 2], cl
mov r9, qword [rbx + 0x40]
mov qword [rax + 0x40], r9
mov cl, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, dword [rax + 8]
mov edx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], edx
xor ecx, dword [rbx + 8]
and ecx, r8d
xor dword [rax + 8], ecx
mov rax, qword [rax + 0x38]
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.14001d748
mov r15d, eax
mov dword [rsp + 0x38], eax
jmp 0x14002db0b
sub ebx, 0x68
je 0x140030205
sub ebx, 1
je 0x1400304c6
sub ebx, 1
je 0x1400304c6
cmp ebx, 1
jne 0x1400307e7
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.14002cc6c
movsxd rcx, dword [r13 + 8]
movzx ebx, ax
imul rsi, rcx, 0x38
add rsi, r14
mov rcx, rsi
call fcn.14002cc6c
movsxd rcx, dword [r13 + 0xc]
and al, bl
imul rdx, rcx, 0x38
movzx ecx, word [rsi + 8]
or cx, word [rdi + 8]
add r14, rdx
mov edx, 4
test dl, al
je 0x140030a30
movzx ecx, byte [r13]
mov rdx, qword [rsi]
mov r8, qword [rdi]
mov qword [rbp], rdx
sub ecx, 0x69
je 0x1400309cb
sub ecx, 1
je 0x1400309b6
sub ecx, 1
je 0x1400309a8
xor r10d, r10d
cmp ecx, 1
je 0x14003097c
test r8, r8
je 0x140030b0b
cmp r8, 0xffffffffffffffff
lea eax, [r10 + 1]
cmove r8, rax
mov rax, rdx
cqo
idiv r8
mov qword [rbp], rdx
jmp 0x140030a0f
call fcn.1400252b4
mov rcx, rbx
mov qword [rbp - 0x50], rax
call fcn.1400252b4
mov dil, byte [r13]
mov rbx, rax
cmp dil, 0x65
jne 0x140030594
and qword [rbp - 0x50], rax
jmp 0x14003064f
cmp dil, 0x66
jne 0x1400305a3
or qword [rbp - 0x50], rbx
jmp 0x14003064f
xor r10d, r10d
test rbx, rbx
je 0x140030652
jns 0x1400305d1
mov rcx, rbx
mov eax, 0xcf
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 0x1400305f2
cmp qword [rbp - 0x50], r10
jge 0x1400305e9
cmp dil, 0x67
je 0x1400305e9
or rax, 0xffffffffffffffff
jmp 0x1400305ec
mov rax, r10
mov qword [rbp - 0x50], rax
jmp 0x140030652
mov r12d, 8
lea rdx, [rbp - 0x50]
mov r8d, r12d
lea rcx, [rbp + 8]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov rcx, rbx
cmp dil, 0x67
jne 0x140030618
shl qword [rbp + 8], cl
jmp 0x14003063e
mov r8, qword [rbp + 8]
xor eax, eax
shr r8, cl
mov qword [rbp + 8], r8
cmp qword [rbp - 0x50], rax
jge 0x14003063e
or rdx, 0xffffffffffffffff
lea ecx, [rax + 0x40]
sub cl, bl
shl rdx, cl
or rdx, r8
mov qword [rbp + 8], rdx
mov r8, r12
lea rdx, [rbp + 8]
lea rcx, [rbp - 0x50]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
xor r10d, r10d
mov rax, qword [rbp - 0x50]
mov edx, 4
mov qword [rsi], rax
mov eax, 0x3e40
and word [rsi + 8], ax
or word [rsi + 8], dx
mov rsi, qword [rsp + 0x50]
jmp 0x14002d8b4
cmp ebx, 0x78
ja 0x140030e68
je 0x140030e2d
cmp ebx, 0x72
ja 0x140030b9c
je 0x140030b54
sub ebx, 0x6d
je 0x1400304c6
sub ebx, 1
je 0x140030785
sub ebx, 1
je 0x140030747
sub ebx, 1
je 0x1400306e3
cmp ebx, 1
jne 0x1400307e7
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
je 0x14002e1b3
jmp 0x14002d022
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
test word [rbx + 8], cx
je 0x140030721
mov rcx, rbx
call fcn.1400251b4
xor r10d, r10d
mov ecx, 0x2400
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
lea r8d, [r10 + 2]
lea r9d, [r10 + 8]
jmp 0x140030726
mov word [rbx + 8], r11w
test byte [rdi + 8], r11b
jne 0x1400307e2
mov rcx, rdi
mov word [rbx + 8], dx
call fcn.1400252b4
not rax
mov qword [rbx], rax
jmp 0x14002e751
mov r8d, dword [r13 + 8]
or r9d, 0xffffffff
mov edx, dword [r13 + 4]
mov rcx, r12
mov byte [rsp + 0x20], r11b
call fcn.14002c940
test rax, rax
je 0x140032d33
mov rcx, qword [r13 + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov rcx, rsi
mov edx, dword [r13 + 0xc]
call fcn.1400340d4
jmp 0x14002d54b
movsxd rax, dword [r13 + 4]
imul r15, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 0xc]
add r15, r14
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
movzx r14d, word [r15 + 8]
mov al, r14b
or al, byte [rdi + 8]
test r11b, al
je 0x1400307f1
test word [rbx + 8], cx
je 0x1400307d3
mov rcx, rbx
call fcn.1400251b4
mov r15d, dword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
jmp 0x14002e751
mov r15d, dword [rsp + 0x38]
mov r14, qword [rsp + 0x60]
mov word [rbx + 8], r11w
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x30]
jmp 0x14002d143
test r14b, 0x12
jne 0x140030827
mov r13b, byte [rsp + 0x3c]
xor r8d, r8d
mov dl, r13b
mov rcx, r15
call fcn.140024f6c
test eax, eax
jne 0x140032d33
movzx r14d, word [r15 + 8]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x4000
jmp 0x14003085a
mov eax, 0x4000
test ax, r14w
je 0x140030855
mov rcx, r15
call fcn.140024f10
test eax, eax
jne 0x140032d33
movzx r14d, word [r15 + 8]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x4000
mov r13b, byte [rsp + 0x3c]
movzx esi, word [rdi + 8]
test sil, 0x12
jne 0x14003088a
xor r8d, r8d
mov dl, r13b
mov rcx, rdi
call fcn.140024f6c
xor edx, edx
test eax, eax
jne 0x140032d2e
movzx esi, word [rdi + 8]
mov eax, 0xfffd
and si, ax
jmp 0x14003089b
test ax, si
je 0x140030899
mov rcx, rdi
call fcn.140024f10
jmp 0x140030872
xor edx, edx
mov rax, qword [rsp + 0x50]
mov r13d, dword [r15 + 0xc]
add r13d, dword [rdi + 0xc]
movsxd r12, r13d
movsxd rax, dword [rax + 0x7c]
cmp r12, rax
jg 0x140032cf4
mov r8d, edx
cmp rbx, rdi
lea edx, [r13 + 3]
mov rcx, rbx
sete r8b
call fcn.140024cf4
test eax, eax
jne 0x140032d29
mov eax, 0x3e40
mov r9d, 2
and word [rbx + 8], ax
or word [rbx + 8], r9w
cmp rbx, rdi
je 0x140030905
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
mov word [rdi + 8], si
movsxd rcx, dword [rdi + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [r15 + 0xc]
mov rdx, qword [r15 + 0x10]
call qword [sym.imp.VCRUNTIME140.dll_memcpy]
xor r10d, r10d
mov word [r15 + 8], r14w
mov rax, qword [rbx + 0x10]
mov edx, r10d
lea r11d, [r10 + 1]
mov byte [r12 + rax], r10b
lea r8d, [r10 + 2]
mov rcx, qword [rbx + 0x10]
add rcx, rdx
add rdx, r11
mov byte [rcx + r12 + 1], r10b
cmp rdx, r8
jl 0x140030936
mov r15d, dword [rsp + 0x38]
mov eax, 0x200
or word [rbx + 8], ax
mov al, byte [rsp + 0x3c]
mov rsi, qword [rsp + 0x50]
mov dword [rbx + 0xc], r13d
mov r13, qword [rsp + 0x48]
mov byte [rbx + 0xa], al
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x58]
jmp 0x14002e7f0
test r8, r8
je 0x140030b0b
cmp r8, 0xffffffffffffffff
jne 0x14003099e
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x140030a3f
mov rax, rdx
cqo
idiv r8
jmp 0x140030a0b
mov rdx, r8
lea rcx, [rbp]
call fcn.14000cfa8
jmp 0x1400309c2
mov rdx, r8
lea rcx, [rbp]
call fcn.14000cf78
xor r10d, r10d
test eax, eax
jne 0x140030a3f
jmp 0x140030a0f
xor r10d, r10d
test r8, r8
js 0x1400309ec
test rdx, rdx
jle 0x140030a07
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x140030a07
jmp 0x140030a3f
test rdx, rdx
jns 0x140030a07
movabs rax, 0x8000000000000001
lea rcx, [r8 + 1]
sub rax, rdx
cmp rax, rcx
jg 0x140030a3f
lea rax, [rdx + r8]
mov qword [rbp], rax
mov rax, qword [rbp]
mov ecx, 0x3e40
mov qword [r14], rax
mov edx, 4
movzx eax, word [r14 + 8]
and ax, cx
or ax, dx
jmp 0x140030af4
mov r11d, 1
test r11b, cl
jne 0x140030b34
mov rcx, rdi
call fcn.140025310
mov rcx, rsi
movaps xmm7, xmm0
call fcn.140025310
movzx ecx, byte [r13]
movaps xmm6, xmm0
sub ecx, 0x69
je 0x140030ac7
sub ecx, 1
je 0x140030ac1
sub ecx, 1
je 0x140030abb
cmp ecx, 1
je 0x140030aac
mov rcx, rdi
call fcn.1400252b4
mov rcx, rsi
mov rbx, rax
call fcn.1400252b4
xor r10d, r10d
mov qword [rbp], rax
lea r11d, [r10 + 1]
test rbx, rbx
je 0x140030b39
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm6, xmm6
cmove rbx, r11
idiv rbx
cvtsi2sd xmm6, rdx
jmp 0x140030acb
ucomisd xmm7, xmm8
jp 0x140030ab5
je 0x140030b08
divsd xmm6, xmm7
jmp 0x140030acb
mulsd xmm6, xmm7
jmp 0x140030acb
subsd xmm6, xmm7
jmp 0x140030acb
addsd xmm6, xmm7
movaps xmm0, xmm6
call fcn.14000bd34
xor r10d, r10d
lea edx, [r10 + 4]
test eax, eax
jne 0x140030b10
movzx eax, word [r14 + 8]
mov ecx, 0x3e40
and ax, cx
movsd qword [r14], xmm6
or ax, 8
mov rsi, qword [rsp + 0x50]
mov word [r14 + 8], ax
mov r14, qword [rsp + 0x60]
jmp 0x14002d8b4
xor r10d, r10d
mov edx, 4
mov r11d, 1
mov ecx, 0x2400
test word [r14 + 8], cx
je 0x140030b40
mov rcx, r14
call fcn.1400251b4
mov rsi, qword [rsp + 0x50]
jmp 0x1400307c9
xor r10d, r10d
jmp 0x140030b16
mov edx, 4
jmp 0x140030b16
mov rdi, qword [rsp + 0x58]
mov word [r14 + 8], r11w
mov r14, qword [rsp + 0x60]
jmp 0x14002f010
mov r8d, dword [r13 + 0xc]
or r9d, 0xffffffff
mov edx, dword [r13 + 4]
mov rcx, r12
mov byte [rsp + 0x20], 3
call fcn.14002c940
xor r10d, r10d
test rax, rax
je 0x140032d33
lea r11d, [r10 + 1]
mov byte [rax + 2], r11b
mov ecx, dword [r13 + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x140105cb4]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], r11b
jmp 0x14002d517
sub ebx, 0x73
je 0x140030cdf
sub ebx, 1
je 0x140030cb5
sub ebx, r8d
je 0x140030c04
cmp ebx, 1
jne 0x1400307e7
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 0x140030be1
movzx eax, word [r13 + 8]
mov word [rdx + 0xc], ax
jmp 0x14002d022
mov ecx, 0x2400
mov rbx, qword [rsp + 0x30]
cmp eax, dword [r13 + 0xc]
jle 0x140030bfa
movzx eax, word [r13 + 0xc]
mov word [rdx + 0xc], ax
mov edx, 4
jmp 0x14002d143
mov rax, qword [r12 + 0x78]
movsxd rcx, dword [r13 + 0x1c]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], r10b
jne 0x14002d9ee
mov rax, qword [rbx + 0x40]
mov edi, dword [r13 + 4]
mov qword [rbp - 0x40], rax
movzx eax, word [r13 + 0x28]
mov word [rbp - 0x30], ax
movsxd rax, dword [r13 + 0x24]
imul rcx, rax, 0x38
mov byte [rbp - 0x2e], r10b
add rcx, r14
mov dword [rbp + 0x10], r10d
mov qword [rbp - 0x38], rcx
lea r9, [rbp + 0x10]
mov rdx, rbx
lea r8, [rbp - 0x40]
mov rcx, rsi
call fcn.14002a3d0
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
mov eax, dword [rbp + 0x10]
test eax, eax
jg 0x140030cac
je 0x14002e1a8
test edi, edi
jle 0x14002d11d
mov rcx, qword [rbx + 0x38]
xor edx, edx
dec edi
call fcn.14001e760
xor r10d, r10d
mov r15d, eax
test eax, eax
je 0x140030c4a
cmp eax, 0x65
jne 0x14002d55d
mov r15d, r10d
mov dword [rsp + 0x38], r10d
add r13, 0x18
jmp 0x14002e1a8
movsxd rax, dword [r13 + 4]
mov rcx, r12
mov rdx, qword [r12 + 0x78]
mov rdx, qword [rdx + rax*8]
call fcn.14002804c
movsxd rcx, dword [r13 + 4]
xor r10d, r10d
mov rax, qword [r12 + 0x78]
mov qword [rax + rcx*8], r10
jmp 0x14002d122
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
mov rcx, qword [r13 + 0x10]
xor edx, edx
mov rbx, rax
test rcx, rcx
jne 0x140030cfc
mov eax, edx
jmp 0x140030d09
call qword [sym.imp.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 byte [rsp + 0x3c], cl
je 0x140030da4
mov qword [rsp + 0x20], rdx
mov r9b, cl
mov rdx, qword [r13 + 0x10]
mov rcx, rbx
or r8d, 0xffffffff
call fcn.1400259c4
xor ecx, ecx
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x140032cf9
lea r9d, [rax + 2]
test byte [rbx + 8], r9b
je 0x140030d6c
mov al, byte [rsp + 0x3c]
cmp byte [rbx + 0xa], al
je 0x140030d6c
mov dl, al
mov rcx, rbx
call fcn.14000b764
xor ecx, ecx
test eax, eax
jne 0x140032d33
mov eax, 0x800
mov dword [rbx + 0x20], ecx
or word [rbx + 8], ax
cmp byte [r13 + 1], 0xf9
jne 0x140030d90
mov rdx, qword [r13 + 0x10]
test rdx, rdx
je 0x140030d90
mov rcx, rsi
call fcn.140009378
mov byte [r13 + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [r13 + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [r13 + 4], eax
cmp eax, dword [rsi + 0x7c]
jg 0x140032cf9
mov byte [r13], 0x47
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
mov r8, rax
xor r10d, r10d
mov eax, 0xa02
mov word [r8 + 8], ax
mov rcx, qword [r13 + 0x10]
mov al, byte [rsp + 0x3c]
mov qword [r8 + 0x10], rcx
mov ecx, dword [r13 + 4]
mov dword [r8 + 0xc], ecx
mov byte [r8 + 0xa], al
cmp dword [r13 + 0xc], r10d
jle 0x14002d122
movsxd rcx, dword [r13 + 0xc]
lea r11d, [r10 + 1]
movzx eax, word [r13 + 2]
lea r9d, [r10 + 8]
mov rbx, qword [rsp + 0x30]
imul rdx, rcx, 0x38
mov ecx, 0x2400
cmp qword [rdx + r14], rax
lea edx, [r10 + 4]
jne 0x140030e22
mov eax, 0xa10
mov word [r8 + 8], ax
mov r8d, 2
jmp 0x14002d143
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
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 0x14002d7b0
sub ebx, 0x79
je 0x14003130e
sub ebx, 1
je 0x1400311df
sub ebx, 1
je 0x140031104
sub ebx, 1
je 0x1400310ef
sub ebx, 1
je 0x1400310a7
sub ebx, 1
je 0x140031062
sub ebx, 1
je 0x140030fe1
sub ebx, 1
je 0x140030ef3
cmp ebx, 1
jne 0x1400307e7
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 2], r11b
mov dword [rbx + 0x28], r10d
cmp byte [rbx], r10b
jne 0x14002d9ee
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x18]
call fcn.1400092d0
xor r10d, r10d
mov qword [rbx + 0x18], r10
lea r11d, [r10 + 1]
mov byte [rbx], r11b
jmp 0x14002d517
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
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 0x140030f25
lea r11d, [r10 + 1]
mov word [rax + 8], r11w
jmp 0x14002d882
cmp byte [rbx + 3], r10b
je 0x140030f34
mov rax, qword [rbx + 0x58]
jmp 0x140030fd5
mov r8d, 2
cmp byte [rbx], r8b
jne 0x140030f7b
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp + 0x48]
mov rbx, qword [rcx]
mov rax, qword [rbx]
mov rax, qword [rax + 0x60]
call qword [str.__r_]
mov rdx, rbx
mov rcx, r12
mov r15d, eax
mov dword [rsp + 0x38], eax
call fcn.14002a5b8
xor r10d, r10d
test r15d, r15d
jne 0x14002d55d
mov rax, qword [rbp + 0x48]
jmp 0x140030fd9
mov rax, qword [rbx + 0x38]
cmp byte [rax], r10b
je 0x140030fa4
mov rcx, rbx
call fcn.140029200
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
lea r8d, [rax + 2]
jmp 0x140030fac
mov r15d, r10d
mov dword [rsp + 0x38], r10d
cmp byte [rbx + 2], r10b
je 0x140030fc2
mov r11d, 1
mov word [rdi + 8], r11w
jmp 0x140030972
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.14001d89c
mov rax, qword [rbx + 0x30]
xor r10d, r10d
mov qword [rbp + 0x48], rax
mov qword [rdi], rax
jmp 0x14002d11d
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
mov rcx, qword [r12 + 0x78]
mov rdi, rax
movsxd rdx, dword [r13 + 4]
mov rdx, qword [rcx + rdx*8]
mov rbx, qword [rdx + 0x38]
mov rcx, rbx
call fcn.14001d89c
mov edx, dword [rbx + 0x40]
cmp edx, dword [rsi + 0x7c]
ja 0x140032cf9
mov r8, rdi
mov rcx, rbx
call fcn.140025d2c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
cmp dword [r13 + 0xc], r10d
jne 0x14002d11d
mov eax, 0x1000
test word [rdi + 8], ax
je 0x14002d11d
mov rcx, rdi
call fcn.140024eb8
xor r10d, r10d
test eax, eax
jne 0x140032d33
jmp 0x14002d11d
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r14
mov rcx, qword [rax + rcx*8]
call fcn.140035df4
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
movsxd rcx, dword [r13 + 0xc]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r10d
jmp 0x14002d122
mov rax, qword [r12 + 0x78]
lea r9, [rbp + 0x18]
movsxd rcx, dword [r13 + 4]
mov r8d, dword [r13 + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rdx, rax, 0x38
mov dword [rbp + 0x18], r10d
add rdx, r14
call fcn.140035ea8
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
cmp dword [rbp + 0x18], r10d
lea r11d, [rax + 1]
jmp 0x14002db6f
mov eax, dword [r12 + 0x3c]
add dword [rsi + 0x78], eax
mov dword [rsi + 0x74], eax
mov dword [r12 + 0x3c], r10d
jmp 0x1400307e7
cmp byte [r13 + 1], 0xfa
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov r15d, dword [r13 + 8]
mov rdi, qword [rax + rcx*8]
jne 0x14003115c
cmp qword [rsi + 0x130], r10
je 0x14003115c
mov rax, qword [rsi + 0x20]
movsx rcx, byte [rdi + 1]
mov rsi, qword [r13 + 0x10]
shl rcx, 5
mov r14, qword [rcx + rax]
test byte [r13 + 2], r8b
je 0x140031162
cmp byte [rdi + 4], r10b
je 0x140031162
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.14001d89c
mov rax, qword [rbx + 0x30]
mov qword [rdi + 0x58], rax
jmp 0x140031162
mov r14, r10
mov rsi, r10
mov dl, byte [r13 + 2]
mov rcx, qword [rdi + 0x38]
call fcn.1400222c4
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov qword [rdi + 0x28], r10
test eax, eax
jne 0x140032d5a
lea r11d, [rax + 1]
test r11b, r15b
je 0x1400326af
add dword [r12 + 0x3c], r11d
mov rax, qword [rsp + 0x50]
mov rax, qword [rax + 0x130]
test rax, rax
je 0x1400326af
mov ecx, dword [rbp - 0x70]
test byte [rsi + 0x40], cl
jne 0x1400326af
mov rcx, qword [rdi + 0x58]
lea edx, [r10 + 9]
mov r9, qword [rsi]
mov r8, r14
mov rsi, qword [rsp + 0x50]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsi + 0x128]
call qword [str.__r_]
jmp 0x1400307c4
movsxd rax, dword [r13 + 8]
movsxd rcx, dword [r13 + 4]
imul rdx, rax, 0x38
mov rax, qword [r12 + 0x78]
add rdx, r14
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
cmp byte [r13 + 1], 0xfa
mov r8, qword [rcx + r14]
mov qword [rbp - 0x38], r8
jne 0x14003122e
cmp qword [rsi + 0x130], r10
je 0x14003122e
movsx rcx, byte [rbx + 1]
mov rax, qword [rsi + 0x20]
mov rdi, qword [r13 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x140031234
mov rdi, r10
mov rsi, r10
movzx ecx, word [r13 + 2]
test r11b, cl
je 0x140031248
add dword [r12 + 0x3c], r11d
movzx ecx, word [r13 + 2]
mov eax, 0x20
test al, cl
je 0x14003125f
mov rax, qword [rsp + 0x50]
mov qword [rax + 0x38], r8
movzx ecx, word [r13 + 2]
mov rax, qword [rdx + 0x10]
mov qword [rbp - 0x30], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp - 0x1c], eax
mov eax, 0x10
test al, cl
je 0x14003127c
mov r9d, dword [rbx + 0x2c]
jmp 0x14003127f
mov r9d, r10d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x140031291
mov eax, dword [rdx]
mov dword [rbp - 0x18], eax
jmp 0x140031295
mov dword [rbp - 0x18], r10d
movzx r8d, cx
lea rdx, [rbp - 0x40]
mov qword [rbp - 0x40], r10
and r8d, 0xa
mov rcx, qword [rbx + 0x38]
call fcn.140021eb0
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov byte [rbx + 3], r10b
mov r15d, eax
mov dword [rbx + 0x28], r10d
test eax, eax
jne 0x14002d55d
test rdi, rdi
je 0x14003200d
mov al, byte [r13 + 2]
mov r8, rsi
mov rcx, qword [rbp - 0x38]
and al, 4
mov rsi, qword [rsp + 0x50]
neg al
mov r9, qword [rdi]
sbb edx, edx
mov qword [rsp + 0x20], rcx
and edx, 5
mov rcx, qword [rsi + 0x128]
add edx, 0x12
mov rax, qword [rsi + 0x130]
call qword [str.__r_]
jmp 0x14002e751
mov rdx, r13
mov qword [rsp + 0x70], r10
mov rcx, r12
mov dword [rbp - 0x58], r10d
call fcn.14002ccb0
movsxd rdx, dword [r13 + 4]
mov r8d, 2
mov rcx, qword [r12 + 0x78]
mov rsi, rax
mov rdi, qword [rcx + rdx*8]
test byte [rdi + 8], r8b
jne 0x1400313aa
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp - 0x58]
call fcn.14001e108
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
cmp dword [rbp - 0x58], r10d
je 0x140031372
lea eax, [r15 + 1]
mov qword [rsp + 0x70], rax
lea r8d, [r15 + 2]
jmp 0x1400313ad
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.14001d89c
mov rax, qword [rbx + 0x30]
movabs rcx, 0x7fffffffffffffff
mov qword [rsp + 0x70], rax
mov r8d, 2
cmp rax, rcx
jl 0x1400313a2
or dword [rdi + 8], r8d
jmp 0x1400313aa
inc rax
mov qword [rsp + 0x70], rax
xor r10d, r10d
movsxd rdx, dword [r13 + 0xc]
test edx, edx
je 0x14003142d
mov rcx, qword [r12 + 0x100]
test rcx, rcx
je 0x1400313de
mov rax, qword [rcx + 8]
jmp 0x1400313cf
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1400313c8
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x1400313e5
imul rbx, rdx, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1400253c4
mov rax, qword [rbx]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x140032c68
mov r8d, 2
test byte [rdi + 8], r8b
jne 0x140032c68
mov rcx, qword [rsp + 0x70]
inc rax
cmp rcx, rax
cmovl rcx, rax
xor r10d, r10d
mov qword [rsp + 0x70], rcx
mov qword [rbx], rcx
test byte [rdi + 8], r8b
je 0x1400314a4
mov ebx, r10d
lea rdx, [rsp + 0x70]
mov ecx, 8
call fcn.14000b4d0
mov r8, qword [rsp + 0x70]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
inc r8
lea rax, [rbp - 0x58]
mov qword [rsp + 0x70], r8
xor edx, edx
mov rcx, qword [rdi + 0x38]
mov qword [rsp + 0x20], rax
call fcn.14001e170
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
cmp dword [rbp - 0x58], r10d
jne 0x14003149e
inc ebx
cmp ebx, 0x64
jl 0x140031436
lea r15d, [rax + 0xd]
jmp 0x14002d55d
mov r8d, 2
mov byte [rdi + 3], r10b
mov r11d, 1
mov dword [rdi + 0x28], r10d
mov rax, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x58]
mov qword [rsi], rax
mov rsi, qword [rsp + 0x50]
jmp 0x14002e7f0
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x38]
mov dword [rbp - 0xc], r10d
cmp bl, 0x82
jne 0x1400314f0
or dword [rdi + 0x2c], 0xffffffff
cmp byte [rcx], r10b
je 0x1400301cf
lea rdx, [rbp - 0xc]
call fcn.14001e108
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
mov al, byte [rbp - 0xc]
mov byte [rdi + 2], al
mov byte [rdi + 3], r10b
mov dword [rdi + 0x28], r10d
test r15d, r15d
jne 0x14002d55d
cmp dword [r13 + 8], r10d
jle 0x14002d11d
cmp dword [rbp - 0xc], r10d
je 0x14002d11d
jmp 0x14002e1a8
mov r15d, dword [rsp + 0x38]
xor r10d, r10d
jmp 0x14002e1ae
mov eax, 0x97
cmp ebx, eax
ja 0x140031da8
je 0x140031d6d
mov eax, 0x8d
cmp ebx, eax
ja 0x1400319d1
je 0x1400319ae
mov eax, 0x88
cmp ebx, eax
ja 0x14003180d
je 0x1400317ec
sub ebx, 0x83
je 0x14003174b
sub ebx, 1
je 0x1400316f6
sub ebx, 1
je 0x14003165a
sub ebx, 1
je 0x1400315a5
cmp ebx, 1
jne 0x1400307e7
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
call fcn.14002924c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
cmp byte [rbx + 2], r10b
jne 0x140031645
mov qword [rbp + 0x40], r10
lea r8, [rbp + 0x40]
mov rdx, qword [rbx + 0x38]
mov rcx, rsi
call fcn.14002a294
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
cmp byte [r13], 0x86
jne 0x140031631
mov rax, qword [r12 + 0x78]
lea r11d, [r15 + 1]
movsxd rcx, dword [r13 + 0xc]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r10b
mov rax, qword [rbp + 0x40]
mov qword [rdx + 0x58], rax
mov byte [rdx + 3], r11b
mov rax, qword [r13 + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x14002d517
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
mov rcx, qword [rbp + 0x40]
jmp 0x14002ef4d
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140025654
jmp 0x14002db0b
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp - 0x40]
mov rax, qword [r12 + 0x78]
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov qword [rbp - 0x40], rax
movzx eax, word [r13 + 0xc]
mov word [rbp - 0x30], ax
movsxd rax, dword [r13 + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x38]
mov byte [rbp - 0x2e], r10b
add rcx, r14
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x38], rcx
mov rcx, rdi
call fcn.14001e170
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
cmp dword [rbp + 0x38], r10d
jne 0x1400316e1
lea edx, [rax + 4]
mov rcx, rdi
call fcn.1400222c4
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
jmp 0x1400316ec
cmp word [r13 + 2], r10w
jne 0x140032c73
and qword [rbx + 0x28], 0
jmp 0x14002d11d
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 eax, 0x4000
add rbx, r14
test word [rbx + 8], ax
je 0x14003172f
mov rcx, rbx
call fcn.140024f10
xor r10d, r10d
mov r15d, eax
test eax, eax
jne 0x14002d55d
mov rdx, rbx
mov rcx, rdi
call fcn.140035100
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jmp 0x14002e1cc
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, r14
test byte [r13 + 2], r11b
je 0x14003176e
add dword [r12 + 0x3c], r11d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003178f
mov rcx, rbx
call fcn.140024f10
xor r10d, r10d
mov r15d, eax
test eax, eax
jne 0x14002d55d
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [r13 + 2]
mov qword [rbp - 0x38], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp - 0x40], rax
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r13 + 0x10]
add rcx, r14
mov word [rbp - 0x20], ax
mov eax, 0x10
mov qword [rbp - 0x28], rcx
test al, r8b
je 0x1400317cc
mov r9d, dword [rdi + 0x2c]
jmp 0x1400317cf
mov r9d, r10d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp - 0x40]
and r8d, 0xa
call fcn.140021eb0
xor r10d, r10d
mov dword [rdi + 0x28], r10d
jmp 0x14003173d
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], r10b
je 0x14002d9ee
call fcn.1400291b0
jmp 0x14002d54b
invalid
invalid
invalid
sub ebx, 0x89
je 0x14003190f
sub ebx, 1
je 0x1400318ae
sub ebx, 1
je 0x14003187d
cmp ebx, 1
jne 0x1400307e7
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
movsxd rcx, dword [r13 + 4]
lea rdx, [rbp + 0x14]
mov r8d, dword [r13 + 0xc]
mov rbx, rax
shl rcx, 5
xor eax, eax
add rcx, qword [rsi + 0x20]
mov dword [rbp + 0x14], eax
mov rcx, qword [rcx + 8]
call fcn.140022924
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
jne 0x14002d55d
mov eax, dword [rbp + 0x14]
mov qword [rbx], rax
jmp 0x14002d122
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r11b
jne 0x1400318a0
mov rdx, qword [rcx + 0x38]
mov rcx, rsi
call fcn.1400345ac
jmp 0x14002db0b
mov rcx, qword [rcx + 0x38]
call fcn.140022bec
jmp 0x14002d54b
mov eax, dword [r13 + 0xc]
mov rcx, qword [rsi + 0x20]
neg eax
mov edx, dword [r13 + 4]
lea rax, [rbp - 0x68]
sbb r8, r8
mov dword [rbp - 0x68], r10d
and r8, rax
movsxd rax, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140022b30
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
cmp dword [r13 + 0xc], r10d
je 0x140031907
movsxd rdx, dword [rbp - 0x68]
add dword [r12 + 0x3c], edx
cmp dword [r13 + 0xc], r10d
jle 0x140031907
movsxd rax, dword [r13 + 0xc]
imul rcx, rax, 0x38
add qword [rcx + r14], rdx
test r15d, r15d
jmp 0x14002d557
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
mov rbx, rax
mov eax, 1
mov word [rbx + 8], ax
mov ecx, dword [rsi + 0xd8]
add ecx, eax
cmp dword [rsi + 0xcc], ecx
jg 0x140032c7e
movsxd rdi, dword [r13 + 0xc]
lea r8, [rbp - 8]
mov rcx, qword [rsi + 0x20]
xor eax, eax
mov edx, dword [r13 + 4]
mov r9, rdi
shl r9, 5
mov dword [rbp - 8], eax
mov rcx, qword [r9 + rcx + 8]
call fcn.140022e00
mov r15d, eax
mov dword [rsp + 0x38], eax
mov edx, 4
xor r10d, r10d
mov word [rbx + 8], dx
movsxd rax, dword [rbp - 8]
mov qword [rbx], rax
test r15d, r15d
jne 0x14002d55d
mov r8d, dword [rbp - 8]
test r8d, r8d
je 0x14002d8b4
mov r9d, dword [r13 + 4]
mov edx, edi
mov rcx, rsi
call fcn.140047a6c
lea r11d, [r15 + 1]
lea eax, [r11 + rdi]
mov byte [rbp - 0x77], al
jmp 0x14002d7ab
add byte [rsi + 0x6a], r11b
xor r9d, r9d
mov rdx, qword [r13 + 0x10]
xor r8d, r8d
mov rcx, rsi
mov qword [rsp + 0x20], r10
call fcn.140054ee0
dec byte [rsi + 0x6a]
jmp 0x14002d54b
sub ebx, 0x8e
je 0x140031c2e
sub ebx, 1
je 0x140031c1d
sub ebx, 1
je 0x140031c08
sub ebx, 1
je 0x140031bf3
sub ebx, 1
je 0x140031bde
sub ebx, 1
je 0x140031ac6
sub ebx, 1
je 0x140031a87
sub ebx, 1
je 0x140031a4c
cmp ebx, 1
jne 0x1400307e7
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
lea r9d, [rbx + 7]
xor r10d, r10d
mov rbx, qword [rsp + 0x30]
mov word [rax + 8], r9w
lea r11d, [r9 - 7]
mov rcx, qword [r13 + 0x10]
mov rdx, qword [rcx]
mov qword [rax], rdx
jmp 0x14002d133
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
mov r9, qword [r12 + 0x100]
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 0x14002f190
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 8]
imul rdi, rax, 0x38
add rbx, r14
mov eax, 0x10
test byte [rbx + 8], al
jne 0x140031ab4
mov rcx, rbx
call fcn.140025764
test eax, eax
jne 0x140032d33
mov rdx, qword [rdi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.140011d68
jmp 0x14002e751
movsxd rax, dword [r13 + 0xc]
lea r9, [rbp + 0x2c]
mov rdx, qword [rsi + 0x20]
mov r8, qword [r13 + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [r13 + 4]
add r8, 4
imul rbx, rax, 0x38
mov ecx, dword [rdi + r14]
movzx eax, word [r13 + 2]
add ecx, r11d
mov qword [rsp + 0x28], r9
add rbx, r14
mov r9d, dword [r13 + 8]
shl rax, 5
mov dword [rsp + 0x20], ecx
mov rcx, rsi
mov rdx, qword [rax + rdx + 8]
call fcn.140023a40
mov rcx, rbx
mov rsi, rax
call fcn.140025654
mov ecx, dword [rbp + 0x2c]
test ecx, ecx
je 0x140031b58
test rsi, rsi
je 0x140032d2e
dec ecx
lea rax, [fcn.1400092d0]
movsxd rdx, ecx
mov r9d, 1
sub qword [rdi + r14], rdx
or r8d, 0xffffffff
mov rdx, rsi
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.1400259c4
movzx edx, byte [rsp + 0x3c]
mov rcx, rbx
call fcn.140024cdc
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
xor r10d, r10d
mov r11d, 1
mov eax, dword [rsi + 0x170]
test eax, eax
jne 0x140032d1f
mov rdx, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x30]
cmp rbx, rdx
jb 0x14002d12d
mov rax, qword [rsi + 0x1e0]
test rax, rax
je 0x14002d127
mov ecx, dword [rsi + 0x1f0]
add rdx, rcx
mov rcx, qword [rsi + 0x1e8]
mov qword [rsp + 0x40], rdx
call qword [str.__r_]
xor r10d, r10d
test eax, eax
jne 0x140032ca0
mov rdx, qword [rsp + 0x40]
cmp rbx, rdx
jae 0x140031b99
jmp 0x14002d127
mov r8, qword [r13 + 0x10]
mov rcx, rsi
mov edx, dword [r13 + 4]
call fcn.1400638dc
jmp 0x14002db0b
mov r8, qword [r13 + 0x10]
mov rcx, rsi
mov edx, dword [r13 + 4]
call fcn.140044c5c
jmp 0x14002db0b
mov r8, qword [r13 + 0x10]
mov rcx, rsi
mov edx, dword [r13 + 4]
call fcn.14004515c
jmp 0x14002db0b
mov edx, dword [r13 + 4]
mov rcx, rsi
call fcn.1400433a0
jmp 0x14002d54b
movsxd rbx, dword [r13 + 4]
mov rcx, qword [rsi + 0x20]
cmp qword [r13 + 0x10], r10
jne 0x140031c8b
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.14004b5f0
and dword [rsi + 0x2c], 0xffffffef
lea r8, [r12 + 0xa8]
mov r9d, 1
mov edx, ebx
mov rcx, rsi
call fcn.1400594c4
mov r11d, 1
mov dword [rsp + 0x38], eax
or dword [rsi + 0x2c], r11d
mov r15d, eax
and dword [r12 + 0xc8], 0xfffffffc
xor r10d, r10d
jmp 0x140031d5f
mov dword [rbp - 0x30], ebx
lea rax, [r12 + 0xa8]
mov qword [rbp - 0x40], rsi
mov qword [rbp - 0x38], rax
mov dword [rbp - 0x28], r10d
shl rbx, 5
mov rcx, qword [rcx + rbx + 8]
call fcn.14001adf8
mov r8, qword [rsi + 0x20]
lea r9, str.sqlite_master
mov dword [rbp - 0x20], eax
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rax, qword [r13 + 0x10]
mov rcx, rsi
mov qword [rsp + 0x20], rax
mov r8, qword [r8 + rbx]
call fcn.14000b284
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x140032cba
lea r11d, [rax + 1]
mov dword [rbp - 0x2c], eax
lea r9, [rbp - 0x40]
mov byte [rsi + 0xb5], r11b
lea r8, [fcn.1400592b0]
mov dword [rbp - 0x24], eax
mov rdx, rbx
mov qword [rsp + 0x20], rax
mov rcx, rsi
call fcn.140054ee0
mov r15d, eax
mov dword [rsp + 0x38], eax
xor eax, eax
test r15d, r15d
jne 0x140031d46
mov r15d, dword [rbp - 0x2c]
mov dword [rsp + 0x38], r15d
test r15d, r15d
jne 0x140031d46
cmp dword [rbp - 0x24], eax
jne 0x140031d46
mov ecx, 0x1670d
call fcn.14007f2e8
mov r15d, eax
mov dword [rsp + 0x38], eax
mov rdx, rbx
mov rcx, rsi
call fcn.140009378
xor r10d, r10d
mov byte [rsi + 0xb5], r10b
lea r11d, [r10 + 1]
test r15d, r15d
jne 0x140032cc0
jmp 0x14002d517
mov eax, dword [rsi + 0x30]
bt rax, 0x13
movsxd rax, dword [r13 + 8]
jae 0x140031d87
add qword [rsi + 0x2d0], rax
jmp 0x1400307e7
mov rbx, qword [rsp + 0x30]
cmp dword [r13 + 4], r10d
je 0x140031d9e
add qword [rsi + 0x2c8], rax
jmp 0x14002d143
add qword [r12 + 0x50], rax
jmp 0x14002d143
mov eax, 0xa2
cmp ebx, eax
ja 0x1400321fe
je 0x1400321a3
mov eax, 0x9d
cmp ebx, eax
ja 0x1400320a2
je 0x140032129
sub ebx, 0x98
je 0x14003201d
sub ebx, 1
je 0x140031fbd
sub ebx, 1
je 0x140031e8d
sub ebx, 1
je 0x140031e8d
cmp ebx, 1
jne 0x1400307e7
xor r11d, r11d
movsxd rax, dword [r13 + 0xc]
mov rbx, qword [r13 + 0x10]
imul r8, rax, 0x38
add r8, r14
cmp qword [rbx + 0x10], r8
je 0x140031e62
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx + 0x10], r8
sub rdx, 1
lea r10d, [rax - 1]
js 0x140031e62
mov esi, 1
lea r9, [rdx + 6]
lea r9, [rbx + r9*8]
lea edi, [rsi + 7]
mov eax, dword [r13 + 8]
add eax, r10d
sub r10d, esi
cdqe
imul rcx, rax, 0x38
add rcx, r14
mov qword [r9], rcx
sub r9, rdi
sub rdx, rsi
jns 0x140031e3a
mov rsi, qword [rsp + 0x50]
mov rdi, qword [rsp + 0x58]
mov eax, 1
mov rcx, rbx
add dword [r8 + 0xc], eax
lea r8, [rbx + 0x30]
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
cmp dword [r13 + 4], r11d
je 0x140031f2a
mov rax, qword [rax + 0x30]
jmp 0x140031f2e
movzx edi, word [r13 + 2]
mov rcx, qword [rsp + 0x50]
mov esi, edi
lea rdx, [rdi*8 + 0x68]
call fcn.1400096c8
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x140032d2e
add rsi, 6
mov qword [rbx + 0x10], rax
lea r8d, [rax + 1]
lea rcx, [rbx + rsi*8]
mov rsi, qword [rsp + 0x50]
mov rdx, rsi
mov qword [rbx], rcx
call fcn.140025644
mov rcx, qword [r13 + 0x10]
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [rbx + 8], rcx
mov rcx, r13
sub rcx, qword [rsp + 0x58]
imul rcx
mov byte [rbx + 0x29], dil
mov rdi, qword [rsp + 0x58]
sar rdx, 2
mov rax, rdx
mov qword [rbx + 0x18], r12
shr rax, 0x3f
add rdx, rax
xor r11d, r11d
mov dword [rbx + 0x20], edx
mov byte [rbx + 0x28], r11b
mov dword [rbx + 0x24], r11d
mov word [r13], 0xf09c
mov qword [r13 + 0x10], rbx
jmp 0x140031e01
mov rax, qword [rax + 0x18]
call qword [str.__r_]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x14002d122
jle 0x140031f6a
mov rcx, qword [rbx]
call fcn.14002aaa0
mov r8, rax
lea rdx, [0x1400e0460]
mov rcx, r12
call fcn.1400263b0
mov r15d, dword [rbx + 0x24]
xor r10d, r10d
mov dword [rsp + 0x38], r15d
cmp byte [rbx + 0x28], r10b
je 0x140031f92
cmp dword [r13 - 0x14], r10d
je 0x140031f8e
movsxd rax, dword [r13 - 0x14]
mov edx, 1
imul rcx, rax, 0x38
add rcx, r14
call fcn.1400256f8
xor r10d, r10d
mov byte [rbx + 0x28], r10b
mov rcx, qword [rbx]
call fcn.140025234
mov rax, qword [rbx]
xor r10d, r10d
mov r11d, 1
mov word [rax + 8], r11w
mov dword [rbx + 0x24], r10d
test r15d, r15d
jne 0x1400300aa
jmp 0x14002d517
movsxd rax, dword [r13 + 4]
mov rdx, r13
imul rbx, rax, 0x38
movsxd rax, dword [r13 + 0xc]
mov rcx, r12
imul rdi, rax, 0x38
call fcn.14002ccb0
mov rcx, qword [rbx + r14]
xor r10d, r10d
mov qword [rbp + 0x58], rcx
mov rsi, rax
test rcx, rcx
jle 0x140032017
mov rdx, qword [rdi + r14]
lea rcx, [rbp + 0x58]
test rdx, rdx
cmovle rdx, r10
call fcn.14000cf28
xor r10d, r10d
test eax, eax
jne 0x140032017
mov rax, qword [rbp + 0x58]
mov qword [rsi], rax
mov rsi, qword [rsp + 0x50]
jmp 0x14002d11d
or qword [rsi], 0xffffffffffffffff
jmp 0x14003200d
mov rcx, qword [r12 + 0x100]
test rcx, rcx
je 0x14003204a
mov rax, qword [rcx + 8]
jmp 0x140032037
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140032030
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x140032055
movsxd rax, dword [r13 + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.1400253c4
movsxd rax, dword [r13 + 8]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1400253c4
mov rax, qword [rbx]
xor r10d, r10d
mov ecx, 0x2400
mov rbx, qword [rsp + 0x30]
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
lea r8d, [r10 + 2]
lea r9d, [r10 + 8]
cmp qword [rdi], rax
jge 0x140032098
mov qword [rdi], rax
mov rdi, qword [rsp + 0x58]
jmp 0x14002d143
sub ebx, 0x9e
je 0x140032129
sub ebx, 1
je 0x1400320f3
sub ebx, 1
je 0x1400320d8
cmp ebx, 1
jne 0x1400307e7
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
call fcn.14001d8f8
jmp 0x14002db0b
movsxd rcx, dword [r13 + 4]
mov rax, qword [r12 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
call fcn.14001d8f0
jmp 0x14002db0b
cmp dword [r13 + 4], r10d
jne 0x14003210a
mov edx, dword [r13 + 8]
mov rcx, rsi
call fcn.14002a48c
jmp 0x14002db0b
mov eax, dword [r13 + 8]
add eax, r11d
xor eax, dword [r12 + 0xc8]
and eax, 3
xor dword [r12 + 0xc8], eax
jmp 0x1400307e7
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
cmp dword [r13 + 0xc], r10d
je 0x140032165
movsxd rax, dword [r13 + 0xc]
mov r8, qword [r13 + 0x10]
imul rdx, rax, 0x38
add rdx, r14
call fcn.140025138
mov r15d, eax
mov dword [rsp + 0x38], eax
movsxd rax, dword [r13 + 0xc]
imul rbx, rax, 0x38
add rbx, r14
jmp 0x140032175
mov rdx, qword [r13 + 0x10]
call fcn.140025084
mov r15d, eax
mov dword [rsp + 0x38], eax
mov rcx, rbx
test r15d, r15d
jne 0x140032cd8
movzx edx, byte [rsp + 0x3c]
call fcn.140024cdc
mov rcx, rbx
call fcn.14002582c
xor r10d, r10d
test eax, eax
jne 0x140032cf9
jmp 0x14002d122
mov r8b, byte [r13 + 0xc]
test r8b, r8b
jne 0x1400321ba
mov eax, dword [rsi + 0x30]
bt rax, 0xa
jb 0x14002f170
movsxd rax, dword [r13 + 4]
mov rcx, qword [rsi + 0x20]
mov edx, dword [r13 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140023ea0
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test eax, eax
je 0x14002d122
cmp al, 6
jne 0x14002d55d
mov r8, qword [r13 + 0x10]
lea rdx, str.database_table_is_locked:__s
jmp 0x140032ce7
sub ebx, 0xa3
je 0x140032654
sub ebx, 1
je 0x1400325e5
sub ebx, 1
je 0x1400325c3
sub ebx, 1
je 0x14003252b
sub ebx, 1
je 0x140032434
sub ebx, 1
je 0x1400323a8
sub ebx, 1
je 0x14003237a
sub ebx, 1
jne 0x14002e93d
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
mov rcx, qword [rsi + 0x20]
mov rdi, rax
movsxd rdx, dword [r13 + 4]
shl rdx, 5
mov rbx, qword [rdx + rcx + 8]
xor ecx, ecx
mov eax, ecx
cmp dword [r13 + 0xc], ecx
je 0x140032283
mov rcx, rbx
call fcn.14001adf8
cmp eax, dword [r13 + 0xc]
cmovb eax, dword [r13 + 0xc]
mov edx, eax
mov rcx, rbx
call fcn.14001bc48
mov eax, eax
mov qword [rdi], rax
jmp 0x14002e751
cmp dword [rsi + 0xd4], r11d
jle 0x1400322e1
mov r8, r9
lea rdx, str.____s
mov rcx, rsi
call fcn.14000b284
mov rdx, qword [rsi + 0xf0]
mov rbx, rax
mov r9, rax
mov r8, r12
mov rax, qword [rsi + 0xe8]
mov ecx, 1
call qword [str.__r_]
mov rdx, rbx
mov rcx, rsi
call fcn.1400093d4
jmp 0x1400322fb
mov rdx, qword [rsi + 0xf0]
mov r8, r12
mov rax, qword [rsi + 0xe8]
mov ecx, r11d
call qword [str.__r_]
mov r8d, 2
mov ecx, 0x2400
xor r10d, r10d
lea r11d, [r8 - 1]
lea edx, [r8 + 2]
mov r9d, 8
mov eax, dword [r13 + 4]
cmp eax, dword [0x140101734]
jl 0x140032367
cmp byte [r13], 0xab
je 0x1400307e7
mov edx, r11d
cmp dword [r12 + 0x90], r11d
jle 0x140032364
mov eax, 0x18
mov rcx, qword [r12 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x140032353
mov dword [rax + rcx + 4], r10d
add edx, r11d
add rax, 0x18
cmp edx, dword [r12 + 0x90]
jl 0x140032340
mov eax, r10d
inc eax
mov dword [r13 + 4], eax
add dword [r12 + 0xec], r11d
jmp 0x14002e1b3
mov rdx, r13
mov rcx, r12
call fcn.14002ccb0
movsxd rdx, dword [r13 + 4]
mov rbx, rax
mov rcx, qword [rsi + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
call fcn.14001adf8
mov ecx, eax
mov qword [rbx], rcx
jmp 0x14002db0b
mov edi, dword [rsi + 0x30]
mov eax, 0x4000000
or qword [rsi + 0x30], rax
and edi, eax
mov rax, qword [r13 + 0x10]
mov edx, r11d
mov rsi, qword [rax + 0x10]
movsxd rax, dword [r13 + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.140024cdc
xor r10d, r10d
mov r15d, eax
test eax, eax
jne 0x14002d55d
mov rax, qword [rsi]
mov rcx, rsi
mov rdx, qword [rbx + 0x10]
mov rax, qword [rax + 0x98]
call qword [str.__r_]
mov dword [rsp + 0x38], eax
mov r15d, eax
test edi, edi
jne 0x14003240f
mov rax, qword [rsp + 0x50]
btr qword [rax + 0x30], 0x1a
mov rdx, rsi
mov rcx, r12
call fcn.14002a5b8
and dword [r12 + 0xc8], 0xfffffffc
xor r10d, r10d
test r15d, r15d
jne 0x14002d55d
jmp 0x14003200d
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, r14
cmp byte [rdi + 2], r10b
je 0x14003245f
mov rcx, rbx
call fcn.140025654
jmp 0x14002e751
mov rax, qword [rdi + 0x38]
lea rcx, [rbp + 0x60]
xor edx, edx
mov rsi, qword [rax]
lea r8d, [rdx + 0x38]
mov r14, qword [rsi]
call qword [sym.imp.VCRUNTIME140.dll_memset]
mov ecx, 1
mov qword [rbp + 0x60], rbx
test byte [r13 + 2], cl
je 0x14003249b
mov rcx, rbx
call fcn.140025654
xor eax, eax
mov dword [rbx], eax
mov eax, 0x4001
jmp 0x1400324aa
movzx eax, word [rbx + 8]
mov edx, 0x3e40
and ax, dx
or ax, cx
mov word [rbx + 8], ax
lea rdx, [rbp + 0x60]
mov r8d, dword [r13 + 8]
mov rcx, qword [rdi + 0x38]
mov rax, qword [r14 + 0x58]
call qword [str.__r_]
mov rdx, rsi
mov rcx, r12
mov r15d, eax
mov dword [rsp + 0x38], eax
call fcn.14002a5b8
xor eax, eax
cmp dword [rbp + 0x84], eax
jle 0x140032506
mov rcx, rbx
call fcn.14002aaa0
mov r8, rax
lea rdx, [0x1400e0460]
mov rcx, r12
call fcn.1400263b0
mov r15d, dword [rbp + 0x84]
mov dword [rsp + 0x38], r15d
movzx edx, byte [rsp + 0x3c]
mov rcx, rbx
call fcn.140024cdc
mov rcx, rbx
call fcn.14002582c
xor r10d, r10d
test eax, eax
jne 0x140032cf9
jmp 0x14002d704
mov rax, qword [r13 + 0x10]
mov qword [rsp + 0x70], r10
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1400329a8
mov rdi, qword [rbx]
test rdi, rdi
je 0x1400329a8
mov rax, qword [rdi + 0x30]
lea rdx, [rsp + 0x70]
mov rcx, rbx
call qword [str.__r_]
mov rdx, rbx
mov rcx, r12
mov r15d, eax
mov dword [rsp + 0x38], eax
call fcn.14002a5b8
xor r10d, r10d
test r15d, r15d
jne 0x14002d55d
mov rax, qword [rsp + 0x70]
lea r9d, [r15 + 2]
mov byte [rsp + 0x20], r9b
xor r8d, r8d
or r9d, 0xffffffff
mov rcx, r12
mov qword [rax], rbx
mov edx, dword [r13 + 4]
call fcn.14002c940
mov rcx, qword [rsp + 0x70]
xor r10d, r10d
test rax, rax
je 0x140032d13
lea r11d, [r15 + 1]
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r11d
jmp 0x14002d882
add dword [rsi + 0xd8], r11d
mov rcx, rsi
mov r8, qword [r13 + 0x10]
mov edx, dword [r13 + 4]
call fcn.1400681a0
dec dword [rsi + 0xd8]
jmp 0x14002d54b
xor edx, edx
lea rcx, [rbp + 0x60]
lea r8d, [rdx + 0x38]
call qword [sym.imp.VCRUNTIME140.dll_memset]
movsxd rax, dword [r13 + 8]
lea rcx, [rbp + 0x60]
imul rdx, rax, 0x38
mov qword [rbp + 0x88], rsi
add rdx, r14
call fcn.1400258f0
lea rcx, [rbp + 0x60]
mov dword [rsp + 0x38], eax
mov r15d, eax
call fcn.14002aaa0
test rax, rax
je 0x140032643
mov edx, dword [r13 + 4]
lea r9, [r12 + 0xa8]
mov r8, rax
mov rcx, rsi
call fcn.140067e28
mov r15d, eax
mov dword [rsp + 0x38], eax
lea rcx, [rbp + 0x60]
call fcn.140025234
xor r10d, r10d
jmp 0x140031907
mov rbx, qword [r13 + 0x10]
mov rcx, rsi
mov rdx, rbx
call fcn.14006835c
xor r10d, r10d
mov dword [rsp + 0x38], eax
mov r15d, eax
test rbx, rbx
je 0x140031907
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.14002a5b8
jmp 0x14003264c
mov r14, qword [rsp + 0x60]
mov r13, rsi
mov rsi, qword [rsp + 0x50]
mov edx, 4
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x30]
jmp 0x140030e22
mov r15d, dword [rsp + 0x38]
jmp 0x1400301cf
mov r15d, dword [rsp + 0x38]
mov rsi, qword [rsp + 0x50]
mov r14, qword [rsp + 0x60]
jmp 0x14002d882
mov rsi, r12
jmp 0x14002d11d
mov rbx, qword [rsp + 0x30]
xor r10d, r10d
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
jmp 0x14002d143
mov r15d, r9d
jmp 0x14002d55d
mov rsi, qword [rsp + 0x48]
mov eax, 5
lea r14d, [rax - 4]
cmp r15b, al
jne 0x14002d568
mov rcx, r13
mov dword [r12 + 0x38], r15d
sub rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x34], edx
jmp 0x140032c3e
mov rdx, qword [r12 + 0xa8]
test rdx, rdx
je 0x140032744
mov rcx, rsi
call fcn.140009378
lea rdx, str.database_schema_has_changed
mov rcx, rsi
call fcn.1400098a0
mov qword [r12 + 0xa8], rax
mov rax, qword [rsi + 0x20]
movsxd rdx, dword [r13 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp - 0x68]
cmp dword [rcx], eax
je 0x14003277e
mov rcx, rsi
call fcn.140044dcc
and dword [r12 + 0xc8], 0xfffffffd
mov r14d, 1
or dword [r12 + 0xc8], r14d
lea r15d, [r14 + 0x10]
mov rsi, qword [rsp + 0x48]
xor r10d, r10d
jmp 0x14002d568
movzx eax, byte [rsi + 0x5f]
mov ebx, dword [r13 + 4]
mov ecx, dword [r13 + 8]
cmp ebx, eax
je 0x14003288e
test ecx, ecx
je 0x1400327d6
mov edx, 0x204
mov rcx, rsi
call fcn.14007cd68
mov r14d, 1
mov al, r14b
jmp 0x14003281e
test ebx, ebx
je 0x140032800
cmp dword [rsi + 0xd0], r10d
jle 0x140032800
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r12
call fcn.1400263b0
mov r15d, 5
xor r10d, r10d
jmp 0x14002d55d
mov edx, r11d
mov rcx, r12
call fcn.140028a6c
mov r15d, eax
mov r14d, 1
test eax, eax
jne 0x140032c39
mov al, bl
mov rcx, r12
mov byte [rsi + 0x5f], al
call fcn.140028abc
mov r8d, 5
cmp eax, r8d
jne 0x14003286f
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rdi
mov r15d, r8d
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, r14d
sub al, bl
mov dword [r12 + 0x34], edx
mov byte [rsi + 0x5f], al
mov dword [r12 + 0x38], r8d
jmp 0x140032c39
mov rcx, rsi
call fcn.14007c774
mov eax, dword [r12 + 0x38]
neg eax
sbb r15d, r15d
and r15d, 0xffffff9c
add r15d, 0x65
jmp 0x140032c39
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.1400263b0
mov r14d, 1
mov r15d, r14d
jmp 0x140032799
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov r12, qword [rsp + 0x68]
jmp 0x1400327ea
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x1400328cc
mov r12, r15
mov rcx, r13
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r15 + 0x34], edx
xor r10d, r10d
mov rdx, qword [rsp + 0x50]
mov r15d, r8d
mov byte [rdx + 0x5f], r10b
mov dword [r12 + 0x38], r8d
mov rsi, qword [rsp + 0x48]
mov r14d, 1
mov r13, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140032e3f
mov r12, qword [rsp + 0x68]
lea rdx, str.no_such_savepoint:__s
mov rcx, r12
mov r8, rsi
call fcn.1400263b0
jmp 0x1400328b7
cmp ebx, edx
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
mov r15d, r14d
call fcn.1400263b0
jmp 0x140032799
movzx eax, byte [r13 + 2]
mov ecx, 5
cmp word [r13 + 2], cx
lea r9d, [rcx - 3]
cmove eax, r9d
mov byte [r12 + 0xc2], al
jmp 0x14002d55d
mov r15d, 6
jmp 0x14002d55d
mov r15d, 0x14
jmp 0x14002d55d
mov r9d, 0x1614a
lea rax, [0x1400e5a14]
mov ebx, 0xb
mov ecx, ebx
mov qword [rsp + 0x20], rax
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14000b400
mov r15d, ebx
jmp 0x1400327f8
mov ecx, 0x16610
call fcn.14007f2e8
mov r15d, eax
jmp 0x1400327f8
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r12
mov r15d, r11d
call fcn.1400263b0
jmp 0x1400327f8
mov dword [r12 + 0x38], ecx
mov al, byte [r13 + 8]
mov byte [r12 + 0xc2], al
mov dword [r12 + 0x34], ebx
test ecx, ecx
je 0x140032ac5
mov rcx, r12
cmp word [r13 + 2], r10w
je 0x140032a8d
movzx r8d, word [r13 + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0xe65a8]
call fcn.1400263b0
mov r9, qword [r13 + 0x10]
test r9, r9
je 0x140032a9d
mov r8, qword [r12 + 0xa8]
lea rdx, str._z:__s
mov rcx, rsi
call fcn.14000b284
mov qword [r12 + 0xa8], rax
jmp 0x140032a9d
mov r8, qword [r13 + 0x10]
lea rdx, [0x1400e0460]
call fcn.1400263b0
mov rax, qword [r12 + 0xa8]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r12 + 0xf0]
mov r8d, ebx
mov ecx, dword [r13 + 4]
mov qword [rsp + 0x20], rax
call fcn.14000b400
mov rcx, r12
call fcn.140028abc
mov rsi, qword [rsp + 0x48]
mov r15d, eax
mov rdx, qword [rsp + 0x50]
mov eax, 5
mov r13, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
lea r14d, [rax - 4]
cmp r15d, eax
jne 0x140032afc
mov dword [r12 + 0x38], eax
jmp 0x140032e3f
mov eax, dword [r12 + 0x38]
neg eax
sbb r15d, r15d
and r15d, 0xffffff9c
add r15d, 0x65
jmp 0x140032e3f
xor edx, edx
mov rcx, r12
call fcn.140028a6c
xor r10d, r10d
mov r15d, eax
test eax, eax
jne 0x14002d55d
mov rax, qword [r12]
cmp dword [rax + 0x2c4], r10d
je 0x140032b4e
cmp dword [r12 + 0x40], r10d
je 0x140032b4e
lea edx, [r15 + 1]
mov rcx, r12
call fcn.140028978
xor r10d, r10d
mov eax, dword [r12 + 0x30]
mov r15d, 2
add eax, r15d
mov edi, r10d
or eax, 1
mov dword [r12 + 0x30], eax
movsxd rax, dword [r13 + 4]
imul rsi, rax, 0x38
add rsi, r14
lea r14d, [r15 - 1]
mov qword [r12 + 0xa0], rsi
cmp dword [r13 + 8], r10d
jle 0x140032bd3
lea rbx, [rsi + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x140032ba9
movsxd rax, edi
imul rcx, rax, 0x38
add rcx, rsi
call fcn.140024eb8
test eax, eax
jne 0x140032d2e
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
cmp ax, r15w
jne 0x140032bc3
lea rcx, [rbx - 8]
call fcn.140024e58
add edi, r14d
add rbx, 0x38
cmp edi, dword [r13 + 8]
jl 0x140032b88
xor r10d, r10d
mov rsi, qword [rsp + 0x50]
cmp byte [rsi + 0x61], r10b
jne 0x140032d33
mov eax, 4
test byte [rsi + 0x68], al
je 0x140032c08
mov rdx, qword [rsi + 0xf0]
mov ecx, eax
mov rax, qword [rsi + 0xe8]
xor r9d, r9d
mov r8, r12
call qword [str.__r_]
mov rcx, r13
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x58]
mov r15d, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r14d
mov dword [r12 + 0x34], edx
mov rsi, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x50]
mov r13, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x30]
jmp 0x140032e3f
mov r9d, 0x15975
jmp 0x1400329c4
mov r15d, 0x204
jmp 0x14002d55d
mov r15d, 0xd
jmp 0x1400327f8
mov r15d, 0x30b
jmp 0x14002d55d
mov rsi, qword [rsp + 0x48]
mov r15d, 6
xor r10d, r10d
mov r14, rax
lea r9d, [r15 - 4]
mov byte [r12 + 0xc2], r9b
jmp 0x14002d568
or r13, 0xffffffffffffffff
mov r15d, 9
mov rsi, qword [rsp + 0x48]
mov r14d, 1
jmp 0x14002d56d
mov r15d, 7
mov rcx, rsi
call fcn.140044e48
mov r13, qword [rsp + 0x40]
cmp r15d, 7
je 0x140032d38
xor r10d, r10d
jmp 0x140032caa
call fcn.14002aaa0
mov r8, rax
lea rdx, [0x1400e0460]
mov rcx, r12
call fcn.1400263b0
jmp 0x1400327f8
mov r12, qword [rsp + 0x68]
lea rdx, str.string_or_blob_too_big
mov rcx, r12
call fcn.1400263b0
mov r15d, 0x12
jmp 0x1400327f8
mov rax, qword [rdi + 0x38]
call qword [str.__r_]
jmp 0x140032d33
mov r13, qword [rsp + 0x40]
jmp 0x140032ca4
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x50]
mov r13, qword [rsp + 0x40]
mov rcx, rsi
call fcn.140009a00
lea rdx, [0x1400e10f8]
mov rcx, r12
call fcn.1400263b0
mov r15d, 7
jmp 0x140032cd3
mov r15d, dword [rsp + 0x38]
jmp 0x14002d55d
mov r15d, dword [rsp + 0x38]
jmp 0x14002ddfe
cmp r15d, 0x210a
jne 0x140032d87
mov ecx, 0x16e39
call fcn.14007f2e8
mov r15d, eax
xor r10d, r10d
cmp qword [r12 + 0xa8], r10
jne 0x140032db4
cmp r15d, 0xc0a
je 0x140032db4
mov ecx, r15d
call fcn.14007ceb4
mov r8, rax
lea rdx, [0x1400e0460]
mov rcx, r12
call fcn.1400263b0
mov edx, r15d
mov dword [r12 + 0x38], r15d
mov rcx, rbx
call fcn.14000bdfc
mov r9, qword [r12 + 0xf0]
mov rcx, rsi
sub rcx, qword [rsp + 0x58]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r12 + 0xa8]
mov ecx, r15d
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.14000b400
mov rcx, r12
call fcn.140028abc
cmp r15d, 0xc0a
jne 0x140032e24
mov rcx, rbx
call fcn.140009a00
movzx eax, byte [rbp - 0x77]
mov r15d, r14d
test al, al
je 0x140032e3c
mov edx, eax
mov rcx, rbx
sub edx, r14d
call fcn.140044dcc
mov rdx, rbx
cmp rdi, r13
jb 0x140032e8e
mov rax, qword [rdx + 0x1e0]
test rax, rax
je 0x140032e8e
mov ecx, dword [rdx + 0x1f0]
add r13, rcx
mov rcx, qword [rdx + 0x1e8]
call qword [str.__r_]
mov rdx, qword [rsp + 0x50]
xor r10d, r10d
test eax, eax
je 0x140032e3f
or r13, 0xffffffffffffffff
lea r15d, [r10 + 9]
jmp 0x14002d572
mov r12, qword [rsp + 0x68]
mov rdx, qword [rsp + 0x50]
jmp 0x14003291d
add dword [r12 + 0xe4], edi
mov rcx, r12
call fcn.14002769c
mov eax, r15d
mov rcx, qword [rbp + 0x128]
xor rcx, rsp
call fcn.1400b8190
lea r11, [rsp + 0x260]
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]
movaps xmm8, xmmword [r11 - 0x30]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret