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

Disassembly:
push rbx
push rbp
push rsi
push r12
push r13
push r14
push r15
sub rsp, 0xd0
mov eax, dword [rsp + 0x130]
mov rbx, rdx
mov r14, qword [rcx + 0x10]
mov rbp, rcx
mov r13, qword [rcx]
mov r12b, 1
mov dword [rsp + 0x44], eax
inc eax
mov dword [rsp + 0x130], eax
mov dword [rsp + 0x40], r9d
mov qword [rsp + 0x98], r8
lea r15d, [rax + 1]
mov qword [rsp + 0xa0], rdx
mov eax, dword [rcx + 0x38]
mov dword [rsp + 0x7c], r15d
mov dword [rsp + 0x6c], r15d
inc r15d
mov esi, r15d
mov dword [rsp + 0x38], r15d
inc r15d
mov qword [rsp + 0x90], rcx
mov dword [rsp + 0x58], r15d
inc r15d
mov dword [rsp + 0x78], r15d
inc r15d
mov dword [rsp + 0x54], r15d
inc r15d
cmp eax, r15d
mov qword [rsp + 0xc0], r13
mov dword [rsp + 0x3c], r15d
cmovle eax, r15d
mov dword [rcx + 0x38], eax
test r14, r14
je 0x1400643ce
mov qword [rsp + 0x48], r14
jmp 0x1400643f9
cmp qword [rcx + 0xa0], 0
jne 0x1400643e3
test byte [r13 + 0x5c], 8
jne 0x1400643e3
mov byte [rcx + 0x23], r12b
call fcn.14003e420
mov qword [rsp + 0x48], rax
mov r14, rax
test rax, rax
je 0x14006557e
test rbx, rbx
je 0x14006557e
cmp dword [rbx + 0x38], 0
je 0x14006557e
mov rdx, qword [rbx]
lea r8, [0x1400cb420]
mov r9d, 0x5c
lea rcx, str.sqlite__
call fcn.140077400
test eax, eax
je 0x14006557e
mov rcx, qword [rbx + 0x70]
xor eax, eax
mov qword [rsp + 0x120], rdi
mov edi, 0xfff0bdc0
mov dword [rsp + 0x68], edi
test rcx, rcx
je 0x14006446f
mov edi, eax
mov dword [rsp + 0x68], eax
mov rax, qword [r13 + 0x20]
add rax, 0x18
cmp qword [rax], rcx
je 0x14006446f
nop
inc edi
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x140064460
mov dword [rsp + 0x68], edi
mov rax, qword [r13 + 0x20]
xor r9d, r9d
mov r8, qword [rbx]
mov r13, rbx
movsxd rcx, edi
shl rcx, 5
lea edx, [r9 + 0x1c]
mov rcx, qword [rcx + rax]
mov qword [rsp + 0x20], rcx
mov rcx, rbp
call fcn.140067910
test eax, eax
jne 0x140065576
mov rax, qword [rbx]
xor r9d, r9d
mov r8d, dword [rbx + 0x38]
mov edx, edi
mov rcx, rbp
mov qword [rsp + 0x20], rax
call fcn.1400679d0
mov ebx, dword [rsp + 0x138]
mov r9, r13
mov eax, dword [rbp + 0x34]
mov edx, ebx
mov dword [rsp + 0x88], ebx
mov r8d, edi
inc ebx
mov dword [rsp + 0x20], 0x6a
mov dword [rsp + 0x138], ebx
lea ecx, [rbx + 1]
cmp eax, ecx
cmovle eax, ecx
mov rcx, rbp
mov dword [rbp + 0x34], eax
call fcn.14007ea20
mov r8, qword [r13]
mov rcx, r14
mov edx, dword [rsp + 0x58]
call fcn.14003e870
mov rdi, qword [r13 + 0x10]
mov qword [rsp + 0x60], rdi
test rdi, rdi
je 0x14006528e
mov rcx, qword [rsp + 0x98]
movzx eax, r12b
test rcx, rcx
je 0x140064532
cmp rcx, rdi
jne 0x14006527c
xor ecx, ecx
cmp qword [rdi + 0x48], rcx
cmovne ecx, eax
test byte [r13 + 0x40], 0x20
mov dword [rsp + 0x84], ecx
je 0x14006455d
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
jne 0x14006455d
movzx edi, word [rdi + 0x5e]
mov r8, r13
mov esi, edi
jmp 0x140064575
mov rax, qword [rsp + 0x60]
movzx edi, word [rdi + 0x60]
mov r8, rax
mov esi, edi
test byte [rax + 0x64], 8
je 0x140064575
movzx esi, word [rax + 0x5e]
mov r8, qword [r8]
lea r13d, [rsi - 1]
mov edx, dword [rsp + 0x78]
mov rcx, r14
mov dword [rsp + 0x70], r13d
call fcn.14003e870
mov ecx, dword [rbp + 0x38]
lea eax, [r15 + r13]
mov rdx, qword [rsp + 0x60]
lea r12, [r14 + 0x18]
cmp ecx, eax
mov qword [rsp + 0xb0], r12
lea r15, [r14 + 0xb8]
cmovle ecx, eax
mov dword [rbp + 0x38], ecx
mov rax, qword [r12]
movsxd rcx, dword [r15]
mov edx, dword [rdx + 0x58]
cmp dword [rax + 0x3c], ecx
jg 0x1400645e9
mov eax, dword [rsp + 0x68]
mov r9d, edx
mov edx, 0x6a
mov dword [rsp + 0x20], eax
mov r8d, ebx
mov rcx, r14
call fcn.14003e7a0
mov rbp, qword [rsp + 0x48]
add rbp, 0x68
jmp 0x14006461a
lea eax, [rcx + 1]
xor r8d, r8d
mov dword [r15], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x68]
lea rbp, [r14 + 0x68]
mov dword [rax + rcx*8 + 8], edx
mov edx, dword [rsp + 0x68]
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8], 0x6a
mov dword [rax + rcx*8 + 4], ebx
mov qword [rax + rcx*8 + 0x10], r8
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0x60]
mov qword [rsp + 0x30], rbp
mov rbx, qword [rcx + 0x10]
call fcn.1400728d0
mov rdx, rax
test rax, rax
je 0x14006466e
mov rcx, qword [rbx]
cmp byte [rcx + 0x61], 0
je 0x140064655
mov r8, rax
mov edx, 0xfffffff7
call fcn.14003f690
jmp 0x14006466e
movsxd rax, dword [rbx + 0xb8]
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x68]
mov byte [rax + rcx*8 - 0x17], 0xf7
mov qword [rax + rcx*8 - 8], rdx
mov rax, qword [r12]
movsxd rcx, dword [r15]
mov ebx, dword [rsp + 0x7c]
cmp dword [rax + 0x3c], ecx
jg 0x14006469a
xor eax, eax
mov r9d, ebx
mov r8d, edi
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x43]
call fcn.14003e7a0
xor r10d, r10d
jmp 0x1400646c4
lea eax, [rcx + 1]
xor r10d, r10d
mov dword [r15], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbp]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [r12]
mov r9d, dword [rsp + 0x130]
mov rdi, qword [rsp + 0x60]
movsxd rcx, dword [r15]
lea edx, [r9 + 2]
movzx r8d, word [rdi + 0x5e]
cmp dword [rax + 0x3c], ecx
jg 0x140064705
mov r9d, edx
mov dword [rsp + 0x20], r10d
mov edx, 0x43
mov rcx, r14
call fcn.14003e7a0
mov r9d, dword [rsp + 0x130]
jmp 0x14006472d
lea eax, [rcx + 1]
mov dword [r15], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbp]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [r12]
movsxd rdx, dword [r15]
cmp dword [rax + 0x3c], edx
jg 0x140064757
mov dword [rsp + 0x20], r9d
xor r8d, r8d
mov r9d, ebx
mov edx, 0xa4
mov rcx, r14
call fcn.14003e7a0
mov edx, eax
xor ebx, ebx
jmp 0x14006477d
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r15], eax
mov rax, qword [rbp]
mov dword [rax + rcx*8 + 8], ebx
xor ebx, ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov qword [rax + rcx*8], 0xa4
mov dword [rax + rcx*8 + 0xc], r9d
mov rcx, qword [r14]
cmp byte [rcx + 0x61], 0
je 0x140064799
lea r8, [0x1400cd5a0]
mov edx, 0xfffffff8
call fcn.14003f690
jmp 0x1400647de
test edx, edx
jns 0x1400647a2
mov edx, dword [r15]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbp]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1400647cf
mov r9d, 0xfffffff8
lea r8, [0x1400cd5a0]
mov rcx, r14
call fcn.14003f930
jmp 0x1400647de
lea rax, [0x1400cd5a0]
mov byte [rdx + 1], 0xf8
mov qword [rdx + 0x10], rax
movsxd rax, dword [r15]
test eax, eax
jle 0x1400647f4
lea rcx, [rax + rax*2]
mov rax, qword [rbp]
mov word [rax + rcx*8 - 0x16], 2
movsxd r8, dword [r15]
mov rax, qword [r12]
mov dword [rsp + 0x80], r8d
cmp dword [rax + 0x3c], r8d
jg 0x14006482d
mov r8d, dword [rsp + 0x138]
xor r9d, r9d
mov rcx, r14
mov dword [rsp + 0x20], ebx
lea edx, [r9 + 0x25]
call fcn.14003e7a0
mov dword [rsp + 0x80], eax
jmp 0x14006485c
mov edx, dword [rsp + 0x138]
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
mov dword [r15], eax
mov rax, qword [rbp]
mov dword [rax + rcx*8], 0x25
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbx
mov rax, qword [r12]
movsxd rcx, dword [r15]
cmp dword [rax + 0x3c], ecx
jg 0x140064882
mov r9d, dword [rsp + 0x6c]
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], ebx
lea edx, [r8 + 0x43]
call fcn.14003e7a0
jmp 0x1400648a9
mov edx, dword [rsp + 0x6c]
lea eax, [rcx + 1]
mov dword [r15], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbp]
mov qword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbx
mov ebx, dword [r15]
test r13d, r13d
jle 0x140064ea5
mov rcx, r14
call fcn.14003efe0
mov rcx, qword [rsp + 0xc0]
mov ebx, eax
mov edx, esi
mov dword [rsp + 0x74], eax
lea rdx, [rdx*4 - 4]
call fcn.1400167e0
mov qword [rsp + 0xb8], rax
mov r13, rax
test rax, rax
je 0x14006524c
mov rcx, qword [r12]
movsxd rdx, dword [r15]
cmp dword [rcx + 0x3c], edx
jg 0x140064916
xor eax, eax
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0xd]
call fcn.14003e7a0
xor r8d, r8d
jmp 0x140064939
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov dword [r15], eax
mov rax, qword [rbp]
mov qword [rax + rcx*8], 0xd
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [r15]
lea eax, [rsi - 1]
mov dword [rsp + 0x50], ecx
cmp eax, 1
jne 0x1400649a7
cmp word [rdi + 0x5e], ax
jne 0x1400649a7
cmp byte [rdi + 0x62], 0
je 0x1400649a7
mov rax, qword [r12]
cmp dword [rax + 0x3c], ecx
jg 0x14006497c
mov dword [rsp + 0x20], r8d
mov r9d, ebx
mov r8d, dword [rsp + 0x3c]
mov edx, 0x33
mov rcx, r14
call fcn.14003e7a0
xor r8d, r8d
jmp 0x1400649a7
mov edx, dword [rsp + 0x3c]
lea eax, [rcx + 1]
mov dword [r15], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbp]
mov dword [rax + rcx*8], 0x33
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rcx, r8
mov r12d, r8d
mov qword [rsp + 0xa8], rcx
nop word [rax + rax]
mov rax, qword [rdi + 0x40]
mov r10, qword [rsp + 0x90]
mov rdi, qword [rcx + rax]
mov rax, qword [r10]
movzx ebp, byte [rax + 0x5e]
movzx ebx, byte [rax + 0xb5]
test rdi, rdi
je 0x1400649fe
mov r8d, ebx
mov rdx, rdi
mov rcx, rax
call fcn.140073210
mov r10, qword [rsp + 0x90]
mov rsi, rax
jmp 0x140064a02
mov rsi, qword [rax + 0x10]
test rsi, rsi
je 0x140064a1a
lea rcx, [rbp*4]
add rcx, rbp
lea rsi, [rsi + rcx*8]
add rsi, 0xffffffffffffffd8
test bl, bl
jne 0x140064a3f
test rsi, rsi
je 0x140064a2a
cmp qword [rsi + 0x18], 0
jne 0x140064a3f
mov r9, rdi
mov r8, rsi
movzx edx, bpl
mov rcx, r10
call fcn.1400730b0
mov rsi, rax
mov rdi, qword [rsp + 0xb0]
movsxd rdx, dword [r15]
mov ebp, dword [rsp + 0x6c]
mov rcx, qword [rdi]
cmp dword [rcx + 0x3c], edx
jg 0x140064a77
xor eax, eax
mov r9d, ebp
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x43]
call fcn.14003e7a0
mov r8, qword [rsp + 0x30]
xor r9d, r9d
jmp 0x140064aa6
mov r8, qword [rsp + 0x30]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
xor r9d, r9d
mov dword [r15], eax
mov rax, qword [r8]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [rdi]
movsxd rcx, dword [r15]
cmp dword [rax + 0x3c], ecx
jg 0x140064ae0
mov eax, dword [rsp + 0x38]
mov r9d, r12d
mov r8d, dword [rsp + 0x138]
mov edx, 0x62
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.14003e7a0
mov r8, qword [rsp + 0x30]
xor r9d, r9d
mov r10d, dword [rsp + 0x38]
jmp 0x140064b13
mov edx, dword [rsp + 0x138]
lea eax, [rcx + 1]
mov r10d, dword [rsp + 0x38]
lea rcx, [rcx + rcx*2]
mov dword [r15], eax
mov rax, qword [r8]
mov dword [rax + rcx*8], 0x62
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [rdi]
mov edx, dword [rsp + 0x3c]
movsxd rbx, dword [r15]
add edx, r12d
cmp dword [rax + 0x3c], ebx
jg 0x140064b44
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov r8d, r10d
mov rcx, r14
lea edx, [r9 + 0x34]
call fcn.14003e7a0
mov r8, qword [rsp + 0x30]
mov ebx, eax
jmp 0x140064b6b
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [r15], eax
mov rax, qword [r8]
mov dword [rax + rcx*8], 0x34
mov dword [rax + rcx*8 + 4], r10d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r9
mov rcx, qword [r14]
mov eax, ebx
cmp byte [rcx + 0x61], 0
je 0x140064b8a
mov r8, rsi
mov edx, 0xfffffffe
call fcn.14003f690
mov r8, qword [rsp + 0x30]
jmp 0x140064bcc
test ebx, ebx
jns 0x140064b93
mov eax, dword [r15]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r8]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x140064bbf
mov r9d, 0xfffffffe
mov r8, rsi
mov rcx, r14
call fcn.14003f930
mov r8, qword [rsp + 0x30]
jmp 0x140064bcc
test rsi, rsi
je 0x140064bcc
mov qword [rdx + 0x10], rsi
mov byte [rdx + 1], 0xfe
mov dword [r13], ebx
movsxd rax, dword [r15]
test eax, eax
jle 0x140064be5
lea rcx, [rax + rax*2]
mov rax, qword [r8]
mov word [rax + rcx*8 - 0x16], 0x80
mov rcx, qword [rsp + 0xa8]
inc r12d
mov rdi, qword [rsp + 0x60]
add rcx, 8
add r13, 4
mov qword [rsp + 0xa8], rcx
cmp r12d, dword [rsp + 0x70]
jl 0x1400649c0
mov r12, qword [rsp + 0xb0]
movsxd rcx, dword [r15]
mov r13d, dword [rsp + 0x70]
mov rax, qword [r12]
cmp dword [rax + 0x3c], ecx
jg 0x140064c4a
xor eax, eax
mov r9d, ebp
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov rcx, r14
lea edx, [rax + 0x43]
call fcn.14003e7a0
mov r8, qword [rsp + 0x30]
xor r10d, r10d
jmp 0x140064c74
lea eax, [rcx + 1]
xor r10d, r10d
mov dword [r15], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r8]
mov dword [rax + rcx*8], 0x43
mov dword [rax + rcx*8 + 4], r13d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [r12]
movsxd rcx, dword [r15]
cmp dword [rax + 0x3c], ecx
jg 0x140064ca3
mov r9d, dword [rsp + 0x74]
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], r10d
lea edx, [r8 + 0xd]
call fcn.14003e7a0
mov r8, qword [rsp + 0x30]
xor r10d, r10d
jmp 0x140064cca
mov ebp, dword [rsp + 0x74]
lea eax, [rcx + 1]
mov dword [r15], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r8]
mov qword [rax + rcx*8], 0xd
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r10
mov rax, qword [r14]
mov ebx, r10d
mov r9d, dword [rsp + 0x50]
mov edx, dword [r15]
cmp byte [rax + 0x61], 0
lea ecx, [r9 - 1]
je 0x140064cea
mov dword [0x1400e8a18], edx
jmp 0x140064cff
test ecx, ecx
mov eax, edx
cmovns eax, r9d
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r8]
mov dword [rax + rcx*8 - 0x10], edx
mov rax, qword [rsp + 0x48]
mov rdi, qword [rsp + 0xb8]
mov esi, dword [rsp + 0x138]
mov ebp, dword [rsp + 0x3c]
mov qword [rsp + 0x48], rax
nop dword [rax]
mov rax, qword [r14]
mov edx, dword [r15]
mov ecx, dword [rdi]
cmp byte [rax + 0x61], 0
je 0x140064d37
lea rax, [0x1400e8a10]
jmp 0x140064d4c
test ecx, ecx
lea eax, [rdx - 1]
cmovns eax, ecx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r8]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
lea edx, [rbx + rbp]
mov rax, qword [r12]
movsxd rcx, dword [r15]
cmp dword [rax + 0x3c], ecx
jg 0x140064d7f
mov dword [rsp + 0x20], edx
mov r9d, ebx
mov edx, 0x62
mov r8d, esi
mov rcx, r14
call fcn.14003e7a0
mov r8, qword [rsp + 0x30]
xor r10d, r10d
jmp 0x140064da4
lea eax, [rcx + 1]
mov dword [r15], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r8]
mov dword [rax + rcx*8], 0x62
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r10
inc ebx
add rdi, 4
cmp ebx, r13d
jl 0x140064d20
mov rax, qword [r12]
mov rsi, qword [rsp + 0xb8]
mov ebp, dword [rsp + 0x74]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x140064dd7
mov eax, dword [r15]
not ebp
movsxd rcx, ebp
mov dword [rdx + rcx*4], eax
mov r13, qword [rsp + 0xc0]
cmp qword [r13 + 0x2a8], 0
je 0x140064df9
mov rdx, rsi
mov rcx, r13
call fcn.1400162c0
jmp 0x140064e97
cmp rsi, qword [r13 + 0x190]
jb 0x140064e28
cmp rsi, qword [r13 + 0x198]
jae 0x140064e28
mov rax, qword [r13 + 0x188]
mov rcx, qword [rsp + 0x48]
mov qword [rsi], rax
mov qword [r13 + 0x188], rsi
mov qword [rsp + 0x48], rcx
jmp 0x140064e97
cmp dword [0x1400e60a0], 0
je 0x140064e84
mov rcx, qword [0x1400e8c28]
test rcx, rcx
je 0x140064e43
call qword [0x1400e6130]
mov rcx, rsi
call qword [0x1400e60e8]
dec qword [0x1400e89b8]
movsxd rcx, eax
sub qword [0x1400e8970], rcx
mov rcx, rsi
call qword [0x1400e60d8]
mov rcx, qword [0x1400e8c28]
test rcx, rcx
je 0x140064e78
call qword [0x1400e6140]
mov rcx, qword [rsp + 0x48]
mov qword [rsp + 0x48], rcx
jmp 0x140064e97
mov rcx, rsi
call qword [0x1400e60d8]
mov rax, qword [rsp + 0x48]
mov qword [rsp + 0x48], rax
mov rdi, qword [rsp + 0x60]
mov ebx, dword [rsp + 0x50]
mov rbp, qword [rsp + 0x30]
mov rax, qword [r12]
movsxd rdx, dword [r15]
mov esi, dword [rsp + 0x38]
mov r13d, dword [rsp + 0x130]
cmp dword [rax + 0x3c], edx
jg 0x140064edb
mov r9d, r13d
mov dword [rsp + 0x20], esi
mov edx, 0xa4
mov r8d, 1
mov rcx, r14
call fcn.14003e7a0
mov edx, eax
jmp 0x140064f09
lea rcx, [rdx + rdx*2]
xor r8d, r8d
lea eax, [rdx + 1]
mov dword [r15], eax
mov rax, qword [rbp]
mov dword [rax + rcx*8], 0xa4
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], r8
mov rcx, qword [r14]
cmp byte [rcx + 0x61], 0
je 0x140064f25
lea r8, [0x1400cf670]
mov edx, 0xfffffff8
call fcn.14003f690
jmp 0x140064f6a
test edx, edx
jns 0x140064f2e
mov edx, dword [r15]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbp]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x140064f5b
mov r9d, 0xfffffff8
lea r8, [0x1400cf670]
mov rcx, r14
call fcn.14003f930
jmp 0x140064f6a
lea rax, [0x1400cf670]
mov byte [rdx + 1], 0xf8
mov qword [rdx + 0x10], rax
movsxd rax, dword [r15]
test eax, eax
jle 0x140064f80
lea rcx, [rax + rax*2]
mov rax, qword [rbp]
mov word [rax + rcx*8 - 0x16], 2
mov rax, qword [r12]
movsxd rcx, dword [r15]
cmp dword [rax + 0x3c], ecx
jg 0x140064fac
xor eax, eax
mov r9d, ebx
mov ebx, dword [rsp + 0x138]
mov rcx, r14
mov r8d, ebx
mov dword [rsp + 0x20], eax
lea edx, [rax + 7]
call fcn.14003e7a0
jmp 0x140064fdf
mov edx, dword [rsp + 0x138]
lea eax, [rcx + 1]
mov dword [r15], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbp]
xor r8d, r8d
mov dword [rax + rcx*8 + 8], ebx
mov ebx, edx
mov dword [rax + rcx*8], 7
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [r12]
movsxd rdx, dword [r15]
cmp dword [rax + 0x3c], edx
jg 0x14006500d
mov eax, dword [rsp + 0x54]
mov r9d, r13d
xor r8d, r8d
mov dword [rsp + 0x20], eax
mov edx, 0xa4
mov rcx, r14
call fcn.14003e7a0
mov edx, eax
xor r13d, r13d
jmp 0x14006503a
mov r8d, dword [rsp + 0x54]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r15], eax
mov rax, qword [rbp]
mov dword [rax + rcx*8 + 8], r13d
xor r13d, r13d
mov qword [rax + rcx*8 + 0x10], r13
mov qword [rax + rcx*8], 0xa4
mov dword [rax + rcx*8 + 0xc], r8d
mov rcx, qword [r14]
cmp byte [rcx + 0x61], 0
je 0x140065056
lea r8, [0x1400cd410]
mov edx, 0xfffffff8
call fcn.14003f690
jmp 0x14006509b
test edx, edx
jns 0x14006505f
mov edx, dword [r15]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbp]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x14006508c
mov r9d, 0xfffffff8
lea r8, [0x1400cd410]
mov rcx, r14
call fcn.14003f930
jmp 0x14006509b
lea rax, [0x1400cd410]
mov byte [rdx + 1], 0xf8
mov qword [rdx + 0x10], rax
movsxd rax, dword [r15]
test eax, eax
jle 0x1400650b1
lea rcx, [rax + rax*2]
mov rax, qword [rbp]
mov word [rax + rcx*8 - 0x16], 1
mov rax, qword [r12]
movsxd rdx, dword [r15]
mov r8d, dword [rsp + 0x58]
cmp dword [rax + 0x3c], edx
jg 0x1400650dc
mov r9d, 3
mov dword [rsp + 0x20], esi
mov rcx, r14
lea edx, [r9 + 0x62]
call fcn.14003e7a0
mov edx, eax
jmp 0x140065107
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [r15], eax
mov rax, qword [rbp]
mov dword [rax + rcx*8], 0x65
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], 3
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], r13
mov rcx, qword [r14]
cmp byte [rcx + 0x61], 0
je 0x140065120
lea r8, [0x1400d40d4]
xor edx, edx
call fcn.14003f690
jmp 0x14006514a
test edx, edx
jns 0x140065129
mov edx, dword [r15]
dec edx
movsxd rax, edx
lea r8, [0x1400d40d4]
xor r9d, r9d
lea rcx, [rax + rax*2]
mov rax, qword [rbp]
lea rdx, [rax + rcx*8]
mov rcx, r14
call fcn.14003f930
mov rax, qword [r12]
movsxd rcx, dword [r15]
cmp dword [rax + 0x3c], ecx
jg 0x14006517d
mov r9d, dword [rsp + 0x44]
mov edx, 0x75
mov r8d, dword [rsp + 0x40]
mov rcx, r14
mov dword [rsp + 0x20], r13d
call fcn.14003e7a0
mov edx, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x44]
jmp 0x1400651ae
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov r8d, dword [rsp + 0x44]
lea rcx, [rcx + rcx*2]
mov dword [r15], eax
mov rax, qword [rbp]
mov dword [rax + rcx*8], 0x75
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], r13
mov rax, qword [r12]
movsxd rcx, dword [r15]
cmp dword [rax + 0x3c], ecx
jg 0x1400651d4
mov dword [rsp + 0x20], r8d
mov r9d, esi
mov r8d, edx
mov rcx, r14
mov edx, 0x76
call fcn.14003e7a0
jmp 0x1400651fb
lea eax, [rcx + 1]
mov dword [r15], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbp]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r13
movsxd rax, dword [r15]
test eax, eax
jle 0x140065211
lea rcx, [rax + rax*2]
mov rax, qword [rbp]
mov word [rax + rcx*8 - 0x16], 8
mov rax, qword [r14]
mov edx, dword [r15]
cmp byte [rax + 0x61], 0
je 0x140065229
lea rax, [0x1400e8a10]
mov dword [rax + 8], edx
jmp 0x140065257
mov ecx, dword [rsp + 0x80]
lea eax, [rdx - 1]
test ecx, ecx
cmovns eax, ecx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbp]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
jmp 0x140065257
mov ebx, dword [rsp + 0x138]
mov esi, dword [rsp + 0x38]
mov rcx, qword [rsp + 0x98]
mov r13, qword [rsp + 0xa0]
mov r12d, dword [rsp + 0x84]
mov rbp, qword [rsp + 0x90]
mov r15d, dword [rsp + 0x3c]
mov rdi, qword [rdi + 0x28]
mov qword [rsp + 0x60], rdi
test rdi, rdi
jne 0x140064520
cmp qword [rsp + 0x98], 0
jne 0x140065576
test r12b, r12b
je 0x140065576
mov rax, qword [r14 + 0x18]
xor ebp, ebp
movsxd rcx, dword [r14 + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x1400652e3
mov r9d, dword [rsp + 0x54]
lea edx, [rbp + 0x66]
mov r8d, dword [rsp + 0x88]
mov rcx, r14
mov dword [rsp + 0x20], ebp
call fcn.14003e7a0
mov rbx, qword [rsp + 0x48]
mov edx, dword [rsp + 0x54]
add rbx, 0x68
jmp 0x14006531c
mov edx, dword [rsp + 0x88]
lea eax, [rcx + 1]
mov dword [r14 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r14 + 0x68]
lea rbx, [r14 + 0x68]
mov dword [rax + rcx*8 + 4], edx
mov edx, dword [rsp + 0x54]
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8], 0x66
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [r14 + 0x18]
movsxd rdi, dword [r14 + 0xb8]
cmp dword [rax + 0x3c], edi
jg 0x140065346
xor r9d, r9d
mov dword [rsp + 0x20], ebp
mov r8d, edx
mov rcx, r14
lea edx, [r9 + 0x16]
call fcn.14003e7a0
mov edi, eax
jmp 0x140065370
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [r14 + 0xb8], eax
mov rax, qword [rbx]
mov dword [rax + rcx*8], 0x16
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], 0
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [r14 + 0x18]
movsxd rcx, dword [r14 + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14006539a
mov r9d, dword [rsp + 0x78]
xor r8d, r8d
mov rcx, r14
mov dword [rsp + 0x20], ebp
lea edx, [r8 + 0x46]
call fcn.14003e7a0
jmp 0x1400653c4
mov edx, dword [rsp + 0x78]
lea eax, [rcx + 1]
mov dword [r14 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx]
mov qword [rax + rcx*8], 0x46
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [r14 + 0x18]
movsxd r9, dword [r14 + 0xb8]
cmp dword [rax + 0x3c], r9d
jg 0x1400653f5
mov r8d, dword [rsp + 0x58]
mov r9d, 3
mov rcx, r14
mov dword [rsp + 0x20], esi
lea edx, [r9 + 0x62]
call fcn.14003e7a0
mov r9d, eax
jmp 0x140065427
mov edx, dword [rsp + 0x58]
lea rcx, [r9 + r9*2]
lea eax, [r9 + 1]
mov dword [r14 + 0xb8], eax
mov rax, qword [rbx]
mov dword [rax + rcx*8], 0x65
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], 3
mov dword [rax + rcx*8 + 0xc], esi
mov qword [rax + rcx*8 + 0x10], rbp
mov rcx, qword [r14]
cmp byte [rcx + 0x61], 0
je 0x140065440
lea r8, [0x1400d40d4]
xor edx, edx
call fcn.14003f690
jmp 0x14006546f
test r9d, r9d
jns 0x14006544f
mov r9d, dword [r14 + 0xb8]
dec r9d
movsxd rax, r9d
lea r8, [0x1400d40d4]
xor r9d, r9d
lea rcx, [rax + rax*2]
mov rax, qword [rbx]
lea rdx, [rax + rcx*8]
mov rcx, r14
call fcn.14003f930
mov rax, qword [r14 + 0x18]
movsxd rcx, dword [r14 + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x1400654a5
mov r9d, dword [rsp + 0x44]
mov edx, 0x75
mov r8d, dword [rsp + 0x40]
mov rcx, r14
mov dword [rsp + 0x20], ebp
call fcn.14003e7a0
mov edx, dword [rsp + 0x40]
mov r8d, dword [rsp + 0x44]
jmp 0x1400654d8
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov r8d, dword [rsp + 0x44]
lea rcx, [rcx + rcx*2]
mov dword [r14 + 0xb8], eax
mov rax, qword [rbx]
mov dword [rax + rcx*8], 0x75
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [r14 + 0x18]
movsxd rcx, dword [r14 + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140065502
mov dword [rsp + 0x20], r8d
mov r9d, esi
mov r8d, edx
mov rcx, r14
mov edx, 0x76
call fcn.14003e7a0
jmp 0x14006552c
lea eax, [rcx + 1]
mov dword [r14 + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx]
mov dword [rax + rcx*8], 0x76
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rbp
movsxd rax, dword [r14 + 0xb8]
test eax, eax
jle 0x140065545
lea rcx, [rax + rax*2]
mov rax, qword [rbx]
mov word [rax + rcx*8 - 0x16], 8
mov rax, qword [r14]
mov edx, dword [r14 + 0xb8]
cmp byte [rax + 0x61], 0
je 0x14006555e
lea rax, [0x1400e8a10]
jmp 0x140065573
lea eax, [rdx - 1]
test edi, edi
cmovns eax, edi
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rbx]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rdi, qword [rsp + 0x120]
add rsp, 0xd0
pop r15
pop r14
pop r13
pop r12
pop rsi
pop rbp
pop rbx
ret