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

Disassembly:
mov qword [rsp + 0x20], r9
mov word [rsp + 0x18], r8w
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xd8
mov rax, qword [rcx + 0x28]
mov rsi, qword [rcx]
movsxd rdi, edx
mov r14, qword [rsi + 0x18]
xor ebp, ebp
mov qword [rsp + 0x70], rax
mov rax, qword [rcx + 0x10]
lea r10, [rdi + rdi*4]
mov dword [rsp + 0x44], ebp
add r10, r10
mov qword [rsp + 0x90], r14
movzx edx, byte [rcx + r10*8 + 0x5c]
lea r15, [rcx + r10*8 + 0x30]
lea ecx, [rbp + 1]
mov qword [rsp + 0x78], r15
imul rdx, rdx, 0x58
mov r13d, dword [rdx + rax + 0x34]
lea r12, [rdx + rax + 8]
mov eax, dword [r15]
mov ebx, eax
mov qword [rsp + 0x68], r12
mov dword [rsp + 0x128], r13d
shr ebx, 0x19
and ebx, 1
mov dword [rsp + 0x30], ebx
bt eax, 0x17
jae 0x18006cb0c
mov dword [rsp + 0x3c], ecx
test r8b, 0x40
je 0x18006cb10
mov dword [rsp + 0x3c], ebp
mov rcx, r14
call fcn.1800216b0
mov rcx, r14
mov dword [rsp + 0x50], eax
mov dword [r15 + 0x20], eax
mov dword [r15 + 0x1c], eax
call fcn.1800216b0
mov dword [rsp + 0x80], eax
mov dword [r15 + 0x24], eax
cmp byte [r15 + 0x2c], bpl
jbe 0x18006cb67
test byte [r12 + 0x29], 8
je 0x18006cb67
mov r9d, dword [rsi + 0x58]
xor r8d, r8d
mov rcx, r14
inc r9d
lea edx, [r8 + 7]
mov dword [rsp + 0x20], ebp
mov dword [rsi + 0x58], r9d
mov dword [r15 + 0x10], r9d
call fcn.180021570
mov ecx, dword [r15]
mov qword [rsp + 0x98], 0xa
bt ecx, 0x1b
jae 0x18006cf0a
mov rax, qword [r15 + 8]
mov ecx, dword [rsi + 0x48]
mov r8d, dword [rsi + 0x4c]
movsxd rdx, dword [rax]
mov r9, qword [rax + 8]
mov r15, qword [rax + 0x20]
inc dword [rsi + 0x64]
lea r10d, [rdx + 2]
mov qword [rsp + 0x60], rax
mov qword [rsp + 0x48], r9
mov dword [rsp + 0x34], r10d
mov dword [rsp + 0x30], r8d
cmp r10d, ecx
jg 0x18006cbc5
lea eax, [r8 + r10]
sub ecx, r10d
mov dword [rsi + 0x4c], eax
mov dword [rsi + 0x48], ecx
jmp 0x18006cbd7
mov eax, dword [rsi + 0x58]
lea r8d, [rax + 1]
add eax, r10d
mov dword [rsp + 0x30], r8d
mov dword [rsi + 0x58], eax
mov edi, 1
mov r12, rdx
cmp edx, edi
jl 0x18006cc84
mov r14d, edx
nop word [rax + rax]
mov ebx, ebp
mov rax, rbp
test r12, r12
jle 0x18006cc67
nop word [rax + rax]
cmp dword [r15 + rax*8], edi
je 0x18006cc12
inc rax
inc ebx
cmp rax, r12
jl 0x18006cc00
jmp 0x18006cc67
lea rax, [rax + rax*2]
lea r13d, [r8 + rdi + 1]
movsxd rcx, dword [r9 + rax*4 + 8]
mov rax, qword [rsp + 0x70]
mov r8d, r13d
mov rax, qword [rax + 0x28]
imul rcx, rcx, 0x38
mov rcx, qword [rcx + rax]
mov rdx, qword [rcx + 0x18]
mov rcx, rsi
call fcn.1800351b0
cmp eax, r13d
je 0x18006cc62
mov rcx, qword [rsi + 0x18]
test rcx, rcx
je 0x18006cc62
mov r9d, r13d
mov r8d, eax
mov edx, 0xf
mov dword [rsp + 0x20], ebp
call fcn.180021570
mov r9, qword [rsp + 0x48]
cmp ebx, r14d
je 0x18006cc7c
mov r8d, dword [rsp + 0x30]
inc edi
cmp edi, r14d
jle 0x18006cbf0
mov r14, qword [rsp + 0x90]
mov rax, qword [rsp + 0x60]
movsxd rbx, dword [r14 + 0x18]
mov r13d, dword [rax + 0x28]
cmp dword [r14 + 0x1c], ebx
jg 0x18006cca3
mov rcx, r14
call fcn.1800214d0
test eax, eax
jne 0x18006ccdb
mov rax, qword [r14 + 0x20]
inc dword [r14 + 0x18]
lea rcx, [rbx + rbx*2]
mov dword [rax + rcx*8 + 4], r13d
mov r13d, dword [rsp + 0x30]
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov word [rax + rcx*8], 7
mov dword [rax + rcx*8 + 8], r13d
mov byte [r14 + 0xa2], bpl
jmp 0x18006cce0
mov r13d, dword [rsp + 0x30]
movsxd rbx, dword [r14 + 0x18]
cmp dword [r14 + 0x1c], ebx
jg 0x18006ccf6
mov rcx, r14
call fcn.1800214d0
test eax, eax
jne 0x18006cd2c
mov rcx, qword [r14 + 0x20]
inc dword [r14 + 0x18]
lea rdx, [rbx + rbx*2]
lea eax, [rdi - 1]
mov byte [rcx + rdx*8 + 3], bpl
mov dword [rcx + rdx*8 + 0xc], ebp
mov dword [rcx + rdx*8 + 4], eax
lea eax, [r13 + 1]
mov qword [rcx + rdx*8 + 0x10], rbp
mov dword [rcx + rdx*8 + 8], eax
mov word [rcx + rdx*8], 7
mov byte [r14 + 0xa2], bpl
mov rax, qword [rsp + 0x60]
movsxd rbx, dword [r14 + 0x18]
mov edi, 0xfffffffe
cmp dword [rax + 0x38], ebp
mov r13, qword [rax + 0x30]
mov ecx, 0xfffffff5
cmovne edi, ecx
cmp dword [r14 + 0x1c], ebx
jg 0x18006cd62
mov rcx, r14
call fcn.1800214d0
test eax, eax
je 0x18006cd62
mov ebx, 1
jmp 0x18006cda4
mov rax, qword [r14 + 0x20]
inc dword [r14 + 0x18]
mov r8d, dword [rsp + 0x128]
mov r9d, dword [rsp + 0x50]
mov edx, dword [rsp + 0x30]
lea rcx, [rbx + rbx*2]
mov byte [rax + rcx*8 + 3], bpl
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rbp
mov word [rax + rcx*8], 0x7d
mov byte [r14 + 0xa2], bpl
mov r9d, edi
mov r8, r13
mov edx, ebx
mov rcx, r14
call fcn.180021e90
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x38], ebp
test r12, r12
jle 0x18006ce40
mov r11, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x78]
mov r14, qword [rsp + 0x70]
add r11, 8
lea r10, [r15 + 4]
cmp byte [r10], bpl
je 0x18006ce2b
movsxd rcx, dword [r11]
imul rcx, rcx, 0x38
add rcx, qword [r14 + 0x28]
je 0x18006ce2b
movzx edx, byte [rcx + 0x1a]
test dl, 4
jne 0x18006ce2b
cmp dword [rbx + 0x10], ebp
je 0x18006ce01
mov rax, qword [rcx]
test byte [rax + 2], 1
je 0x18006ce2b
movsxd rax, dword [rcx + 8]
or dl, 4
mov byte [rcx + 0x1a], dl
test eax, eax
js 0x18006ce2b
mov rdx, rax
mov rax, qword [rcx + 0x20]
imul rdx, rdx, 0x38
add rdx, qword [rax + 0x28]
dec byte [rdx + 0x1b]
jne 0x18006ce2b
mov rcx, rbx
call fcn.18006c4c0
add r10, 8
add r11, 0xc
dec r12
jne 0x18006cdd8
mov r14, qword [rsp + 0x90]
mov r15, qword [rsp + 0x78]
mov r13d, dword [rsp + 0x128]
mov r10d, dword [rsp + 0x34]
mov byte [r15 + 0x2d], 0x7f
mov dword [r15 + 0x30], r13d
mov eax, dword [r14 + 0x18]
mov dword [r15 + 0x34], eax
mov eax, dword [rsp + 0x30]
mov r11d, 0xa
lea rcx, [rsi + 0x80]
mov r8d, r11d
lea r9d, [r10 + rax - 1]
nop dword [rax]
mov edx, dword [rcx]
cmp edx, eax
jl 0x18006cead
cmp edx, r9d
jg 0x18006cead
cmp byte [rcx - 8], bpl
je 0x18006ceab
movzx eax, byte [rsi + 0x25]
cmp al, 8
jae 0x18006cea3
movzx eax, al
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x25]
mov eax, dword [rsp + 0x30]
mov byte [rcx - 8], bpl
mov dword [rcx], ebp
add rcx, 0x18
dec r8
jne 0x18006ce80
cmp r10d, dword [rsi + 0x48]
jle 0x18006cec3
mov dword [rsi + 0x48], r10d
mov dword [rsi + 0x4c], eax
dec dword [rsi + 0x64]
lea rcx, [rsi + 0x80]
mov r8, r11
mov edx, dword [rcx]
test edx, edx
je 0x18006cefc
mov eax, dword [rsi + 0x64]
cmp dword [rcx - 4], eax
jle 0x18006cefc
cmp byte [rcx - 8], bpl
je 0x18006cefa
movzx eax, byte [rsi + 0x25]
cmp al, 8
jae 0x18006cef6
movzx eax, al
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x25]
mov byte [rcx - 8], bpl
mov dword [rcx], ebp
add rcx, 0x18
dec r8
jne 0x18006ced0
jmp 0x18006d77e
bt ecx, 0xc
jae 0x18006cfd1
movzx eax, byte [rsi + 0x25]
test al, al
jne 0x18006cf25
inc dword [rsi + 0x58]
mov r12d, dword [rsi + 0x58]
jmp 0x18006cf32
dec al
movzx eax, al
mov byte [rsi + 0x25], al
mov r12d, dword [rsi + rax*4 + 0x28]
mov rax, qword [rsp + 0x70]
mov dword [rsp + 0x44], r12d
mov rdx, qword [rax + 0x28]
mov eax, dword [rax + 0x1c]
test eax, eax
je 0x18006cf70
mov r9, qword [rsp + 0x138]
nop
cmp dword [rdx + 0xc], r13d
jne 0x18006cf68
test qword [rdx + 0x28], r9
jne 0x18006cf68
cmp dword [rdx + 0x10], 0xffffffff
jne 0x18006cf68
test byte [rdx + 0x18], 3
jne 0x18006cf73
add rdx, 0x38
dec eax
jne 0x18006cf50
mov rdx, rbp
mov r9d, r12d
mov r8, r15
mov rcx, rsi
call fcn.18006c620
mov ebx, dword [r15 + 0x20]
mov edx, 0x15
mov rcx, r14
mov r9d, ebx
mov r8d, eax
mov edi, eax
mov dword [rsp + 0x20], ebp
call fcn.180021570
mov r9d, ebx
mov r8d, r13d
mov edx, 0x33
mov rcx, r14
mov dword [rsp + 0x20], edi
call fcn.180021570
mov r9d, edi
or r8d, 0xffffffff
mov edx, r13d
mov rcx, rsi
call fcn.180034d20
mov byte [r15 + 0x2d], 0x85
jmp 0x18006d77e
bt ecx, 0xd
jae 0x18006d257
mov rax, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x128]
mov dword [rsp + 0x38], 0x85
mov ecx, dword [rax + 0x1c]
mov r12, qword [rax + 0x28]
mov edi, ebp
mov r13, r12
mov eax, ecx
test ecx, ecx
je 0x18006d02c
cmp dword [r13 + 0xc], r8d
jne 0x18006d024
mov rdx, qword [rsp + 0x138]
test qword [r13 + 0x28], rdx
jne 0x18006d024
cmp dword [r13 + 0x10], 0xffffffff
jne 0x18006d024
test byte [r13 + 0x18], 0x24
jne 0x18006d037
add r13, 0x38
dec eax
jne 0x18006d002
mov rdx, qword [rsp + 0x138]
mov r13, rbp
test ecx, ecx
je 0x18006d066
nop dword [rax + rax]
cmp dword [r12 + 0xc], r8d
jne 0x18006d05e
test qword [r12 + 0x28], rdx
jne 0x18006d05e
cmp dword [r12 + 0x10], 0xffffffff
jne 0x18006d05e
test byte [r12 + 0x18], 0x18
jne 0x18006d069
add r12, 0x38
dec ecx
jne 0x18006d040
mov r12, rbp
test ebx, ebx
je 0x18006d076
mov rax, r13
mov r13, r12
mov r12, rax
test r13, r13
je 0x18006d0e3
mov rbx, qword [r13]
lea r8, [rsp + 0x3c]
mov rcx, rsi
mov rdx, qword [rbx + 0x18]
mov dword [rsp + 0x68], 0x2d2b2c2e
call fcn.180036670
movzx ecx, byte [rbx]
mov r9d, dword [rsp + 0x50]
movzx edx, byte [rsp + rcx + 0x1b]
mov r8d, dword [rsp + 0x128]
mov rcx, r14
mov edi, eax
mov dword [rsp + 0x20], eax
call fcn.180021570
mov r8d, 1
mov edx, edi
mov rcx, rsi
call fcn.180034e10
mov edx, dword [rsp + 0x3c]
call fcn.180037b30
mov rdx, r13
mov rcx, r15
call fcn.18006c4c0
mov edi, ebp
jmp 0x18006d105
mov r9d, dword [rsp + 0x50]
mov edx, 0x3e
mov eax, 0x40
test ebx, ebx
mov rcx, r14
mov dword [rsp + 0x20], ebp
cmovne eax, edx
mov edx, eax
call fcn.180021570
test r12, r12
je 0x18006d182
mov rbx, qword [r12]
inc dword [rsi + 0x58]
mov edi, dword [rsi + 0x58]
mov rdx, qword [rbx + 0x18]
mov r8d, edi
mov rcx, rsi
call fcn.180036710
movzx r11d, byte [rbx]
cmp r11b, 0x4f
je 0x18006d15c
cmp r11b, 0x4d
je 0x18006d15c
mov r11d, dword [rsp + 0x30]
mov eax, 0x4f
mov r10d, 0x4d
test r11d, r11d
mov rdx, r12
mov rcx, r15
cmovne r10d, eax
mov dword [rsp + 0x38], r10d
call fcn.18006c4c0
jmp 0x18006d187
mov r11d, dword [rsp + 0x30]
mov eax, 0x50
mov ecx, 0x4e
test r11d, r11d
mov rdx, r12
cmovne eax, ecx
mov rcx, r15
mov dword [rsp + 0x38], eax
call fcn.18006c4c0
jmp 0x18006d187
mov r11d, dword [rsp + 0x30]
mov ecx, dword [r14 + 0x18]
test r11d, r11d
sete al
mov dword [r15 + 0x34], ecx
add al, 0x41
mov byte [r15 + 0x2d], al
mov eax, dword [rsp + 0x128]
mov dword [r15 + 0x30], eax
test r13, r13
jne 0x18006d1b6
test r12, r12
jne 0x18006d1b6
lea eax, [r13 + 1]
jmp 0x18006d1b8
mov eax, ebp
mov ebx, dword [rsp + 0x38]
mov byte [r15 + 0x2e], al
cmp ebx, 0x85
je 0x18006d776
movzx eax, byte [rsi + 0x25]
test al, al
jne 0x18006d1dd
inc dword [rsi + 0x58]
mov r12d, dword [rsi + 0x58]
jmp 0x18006d1ea
dec al
movzx eax, al
mov byte [rsi + 0x25], al
mov r12d, dword [rsi + rax*4 + 0x28]
mov r13d, dword [rsp + 0x128]
mov r9d, r12d
mov edx, 0x3c
mov rcx, r14
mov r8d, r13d
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x20], ebp
call fcn.180021570
mov r9d, r12d
or r8d, 0xffffffff
mov edx, r13d
mov rcx, rsi
call fcn.180034d20
mov r9d, dword [rsp + 0x50]
mov r8d, edi
mov edx, ebx
mov rcx, r14
mov dword [rsp + 0x20], r12d
call fcn.180021570
mov r11, qword [r14 + 0x20]
test r11, r11
je 0x18006d77e
movsxd rax, dword [r14 + 0x18]
lea rcx, [rax + rax*2]
mov byte [r11 + rcx*8 - 0x15], 0x6b
jmp 0x18006d77e
test ecx, 0x30000
je 0x18006d801
test byte [rsp + 0x130], 1
mov rbx, qword [r15 + 8]
movsxd r12, dword [r15 + 4]
mov eax, 0x40
mov edx, 0x3e
mov qword [rsp + 0xb0], rbp
mov dword [rsp + 0xb8], eax
mov eax, dword [r15 + 0x18]
mov dword [rsp + 0xbc], edx
mov dword [rsp + 0x38], eax
mov rax, qword [rbx + 0x10]
mov dword [rsp + 0xc0], 0x2e
mov eax, dword [rax + r12*4]
mov dword [rsp + 0xc4], 0x2b
mov dword [rsp + 0xc8], 0x2d
mov dword [rsp + 0xcc], 0x2c
mov dword [rsp + 0xa0], 0x85
mov dword [rsp + 0xa4], 0x51
mov dword [rsp + 0x34], eax
mov dword [rsp + 0xa8], 0x48
mov dword [rsp + 0x60], ebp
mov rdi, rbp
mov qword [rsp + 0x78], rbp
mov qword [rsp + 0x48], rbp
mov edx, ebp
je 0x18006d31e
bt ecx, 0x18
jae 0x18006d31e
cmp dword [rbx + 8], r12d
jle 0x18006d31e
mov edx, 1
mov dword [rsp + 0x60], edx
bt ecx, 0x14
jae 0x18006d357
mov r9, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x70]
mov r8d, eax
mov edx, r13d
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x18
call fcn.180069d80
mov edx, 1
mov qword [rsp + 0x48], rax
mov eax, dword [rsp + 0x34]
test dword [r15], 0x200000
je 0x18006d392
mov r9, qword [rsp + 0x138]
mov rcx, qword [rsp + 0x70]
mov r8d, eax
mov edx, r13d
mov qword [rsp + 0x28], rbx
mov dword [rsp + 0x20], 0x24
call fcn.180069d80
mov edx, 1
mov rdi, rax
mov qword [rsp + 0x78], rax
mov r9, qword [rsp + 0x138]
mov r8, qword [rsp + 0x70]
lea rax, [rsp + 0x88]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], edx
mov rcx, rsi
mov rdx, r15
call fcn.18006c7c0
mov rcx, qword [rbx + 0x48]
mov edx, ebp
cmp byte [r12 + rcx], dl
mov r8d, eax
mov dword [rsp + 0x50], eax
mov eax, dword [r15 + 0x20]
sete dl
mov dword [rsp + 0x68], eax
cmp dword [rsp + 0x30], edx
jne 0x18006d3f4
mov rcx, qword [rsp + 0x48]
mov rax, rdi
mov rdi, rcx
mov qword [rsp + 0x78], rcx
mov qword [rsp + 0x48], rax
jmp 0x18006d3f9
mov rax, qword [rsp + 0x48]
test rdi, rdi
je 0x18006d40f
test byte [rdi + 0x18], 0x28
jne 0x18006d40f
mov dword [rsp + 0x40], ebp
mov ecx, 1
jmp 0x18006d418
mov ecx, 1
mov dword [rsp + 0x40], ecx
test rax, rax
je 0x18006d427
test byte [rax + 0x18], 0x28
mov dword [rsp + 0x34], ebp
je 0x18006d42b
mov dword [rsp + 0x34], ecx
test rdi, rdi
jne 0x18006d439
mov dword [rsp + 0x58], ebp
test r12d, r12d
jle 0x18006d43d
mov dword [rsp + 0x58], ecx
mov rax, qword [rsp + 0x78]
mov rdi, qword [rsp + 0x88]
mov ebx, r12d
test rax, rax
je 0x18006d4c0
mov rax, qword [rax]
lea ebx, [r8 + r12]
mov rcx, rsi
mov rax, qword [rax + 0x18]
mov r8d, ebx
mov rdx, rax
mov qword [rsp + 0x88], rax
call fcn.180036710
mov r9d, dword [rsp + 0x68]
mov r8d, ebx
mov rbx, qword [rsp + 0x88]
mov rcx, r14
mov rdx, rbx
call fcn.1800339d0
test rdi, rdi
je 0x18006d4e9
movzx edx, byte [r12 + rdi]
mov rcx, rbx
call fcn.180031bd0
cmp al, 0x62
jne 0x18006d4a8
mov byte [r12 + rdi], al
movzx edx, byte [r12 + rdi]
mov rcx, rbx
call fcn.180033a20
test eax, eax
je 0x18006d4e9
mov byte [r12 + rdi], 0x62
jmp 0x18006d4e9
cmp dword [rsp + 0x60], ebp
je 0x18006d4ee
lea r9d, [r8 + r12]
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 0xa]
mov dword [rsp + 0x20], ebp
call fcn.180021570
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x58], 1
lea ebx, [r12 + 1]
mov edx, dword [rsp + 0x50]
mov r9, rdi
mov r8d, ebx
mov rcx, rsi
call fcn.18006c520
movsxd rdx, dword [rsp + 0x30]
movsxd rax, dword [rsp + 0x40]
movsxd rcx, dword [rsp + 0x58]
mov r9d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x38]
lea rcx, [rax + rcx*2]
mov dword [rsp + 0x28], ebx
lea rax, [rdx + rcx*2]
mov ecx, dword [rsp + 0x50]
mov edx, dword [rsp + rax*4 + 0xb0]
mov dword [rsp + 0x20], ecx
mov rcx, r14
call fcn.180021610
mov rax, qword [rsp + 0x48]
mov ebx, r12d
test rax, rax
je 0x18006d5e2
mov rax, qword [rax]
mov ebx, dword [rsp + 0x50]
mov r8d, 1
mov rax, qword [rax + 0x18]
add ebx, r12d
mov rcx, rsi
mov edx, ebx
mov qword [rsp + 0x60], rax
call fcn.180034e10
mov rdx, qword [rsp + 0x60]
mov r8d, ebx
call fcn.180036710
mov r9d, dword [rsp + 0x68]
mov r8d, ebx
mov rbx, qword [rsp + 0x60]
mov rcx, r14
mov rdx, rbx
call fcn.1800339d0
test rdi, rdi
je 0x18006d5c5
movzx edx, byte [r12 + rdi]
mov rcx, rbx
call fcn.180031bd0
cmp al, 0x62
jne 0x18006d5af
mov byte [r12 + rdi], al
movzx edx, byte [r12 + rdi]
mov rcx, rbx
call fcn.180033a20
test eax, eax
je 0x18006d5c5
mov byte [r12 + rdi], 0x62
mov r13d, dword [rsp + 0x50]
lea ebx, [r12 + 1]
mov r9, rdi
mov edx, r13d
mov r8d, ebx
mov rcx, rsi
call fcn.18006c520
jmp 0x18006d5e7
mov r13d, dword [rsp + 0x50]
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.180007400
mov rdi, qword [rsp + 0x48]
mov eax, dword [r14 + 0x18]
mov dword [r15 + 0x34], eax
test rdi, rdi
jne 0x18006d60d
test r12d, r12d
jne 0x18006d60d
mov eax, ebp
jmp 0x18006d612
mov eax, 1
movsxd rcx, dword [rsp + 0x30]
cdqe
inc rcx
imul rcx, rax
mov edx, dword [rsp + rcx*4 + 0xa0]
cmp edx, 0x85
je 0x18006d66f
mov r9d, dword [rsp + 0x68]
mov r8d, dword [rsp + 0x38]
mov rcx, r14
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], r13d
call fcn.180021610
mov r11, qword [r14 + 0x20]
mov r13d, dword [rsp + 0x30]
test r11, r11
je 0x18006d674
movsxd rax, dword [r14 + 0x18]
cmp dword [rsp + 0x34], r13d
lea rcx, [rax + rax*2]
setne dl
mov byte [r11 + rcx*8 - 0x15], dl
jmp 0x18006d674
mov r13d, dword [rsp + 0x30]
movzx eax, byte [rsi + 0x25]
test al, al
jne 0x18006d684
inc dword [rsi + 0x58]
mov ebx, dword [rsi + 0x58]
jmp 0x18006d690
dec al
movzx eax, al
mov byte [rsi + 0x25], al
mov ebx, dword [rsi + rax*4 + 0x28]
test dword [r15], 0x300000
je 0x18006d6d3
mov r9d, r12d
mov r12d, dword [rsp + 0x38]
mov edx, 0x1c
mov rcx, r14
mov r8d, r12d
mov dword [rsp + 0x20], ebx
call fcn.180021570
mov r9d, dword [rsp + 0x80]
mov r8d, ebx
mov edx, 0x49
mov rcx, r14
mov dword [rsp + 0x20], ebp
call fcn.180021570
jmp 0x18006d6d8
mov r12d, dword [rsp + 0x38]
mov edx, ebx
mov rcx, rsi
call fcn.180037b30
mov rdx, qword [rsp + 0x78]
mov rcx, r15
call fcn.18006c4c0
mov rdx, rdi
mov rcx, r15
call fcn.18006c4c0
cmp dword [rsp + 0x3c], ebp
jne 0x18006d766
movzx eax, byte [rsi + 0x25]
test al, al
jne 0x18006d710
inc dword [rsi + 0x58]
mov edi, dword [rsi + 0x58]
jmp 0x18006d71c
dec al
movzx eax, al
mov byte [rsi + 0x25], al
mov edi, dword [rsi + rax*4 + 0x28]
mov r9d, edi
mov r8d, r12d
mov edx, 0x47
mov rcx, r14
mov dword [rsp + 0x44], edi
mov dword [rsp + 0x20], ebp
call fcn.180021570
mov ebx, dword [rsp + 0x128]
mov r9d, edi
or r8d, 0xffffffff
mov rcx, rsi
mov edx, ebx
call fcn.180034d20
mov r9d, edi
mov r8d, ebx
mov edx, 0x2f
mov rcx, r14
mov dword [rsp + 0x20], ebp
call fcn.180021570
test r13d, r13d
mov dword [r15 + 0x30], r12d
sete al
add al, 0x41
mov byte [r15 + 0x2d], al
mov r13d, dword [rsp + 0x128]
mov ebx, 1
mov r8, qword [rsp + 0x70]
mov ecx, ebp
mov rax, qword [r8 + 8]
mov edx, dword [rax]
test edx, edx
jle 0x18006d7b3
add rax, 4
nop dword [rax + rax]
cmp dword [rax], r13d
je 0x18006dba4
inc ecx
add rax, 4
cmp ecx, edx
jl 0x18006d7a0
mov rax, rbp
mov r13, qword [rsp + 0x138]
mov edi, dword [r8 + 0x1c]
mov rbx, qword [r8 + 0x28]
not rax
and r13, rax
test edi, edi
jle 0x18006dbec
mov r14, qword [rsp + 0x120]
mov ebp, dword [rsp + 0x80]
test byte [rbx + 0x1a], 6
jne 0x18006dbd4
test qword [rbx + 0x30], r13
je 0x18006dbaf
mov byte [r14 + 0xb], 1
jmp 0x18006dbd4
bt ecx, 0x1c
jae 0x18006db5e
inc dword [rsi + 0x58]
mov r12d, dword [rsi + 0x58]
mov rcx, r14
mov dword [rsp + 0x34], ebp
mov dword [rsp + 0x3c], ebp
mov dword [rsp + 0x60], r12d
call fcn.1800216b0
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x58], eax
mov rax, qword [r15 + 8]
mov rbx, qword [rax + 0x10]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x120]
mov byte [r15 + 0x2d], 3
mov dword [r15 + 0x30], r12d
mov r13d, dword [rax + 0x24]
mov qword [rsp + 0x48], rbx
cmp r13d, 1
jle 0x18006d911
mov rcx, qword [rsi]
sub r13d, edi
dec r13d
mov edx, r13d
imul edx, edx, 0x58
add edx, 0x60
call fcn.180007670
mov r12, rax
test rax, rax
jne 0x18006d88c
mov rax, qword [rsp + 0x138]
jmp 0x18006dd83
mov rdx, qword [rsp + 0x68]
lea eax, [r13 + 1]
lea rcx, [r12 + 8]
mov r8d, 0x58
mov word [r12 + 2], ax
mov word [r12], ax
call fcn.180087310
mov r10, qword [rsp + 0x120]
mov r11, qword [r10 + 0x10]
add r11, 8
cmp r13d, 1
jl 0x18006d915
lea rdi, [r15 + 0x7c]
lea rbx, [r12 + 0x60]
mov r15, r11
nop word [rax + rax]
movzx edx, byte [rdi]
mov rcx, rbx
mov r8d, 0x58
imul rdx, rdx, 0x58
add rdx, r15
call fcn.180087310
add rdi, 0x50
add rbx, 0x58
dec r13
jne 0x18006d8e0
mov r15, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x48]
jmp 0x18006d915
mov r12, qword [rax + 0x10]
and word [rsp + 0x130], 8
jne 0x18006d949
mov eax, dword [rsi + 0x58]
xor r8d, r8d
mov dword [rsp + 0x20], ebp
inc eax
lea edx, [r8 + 0xa]
lea ecx, [rax + 1]
mov r9d, eax
mov dword [rsp + 0x34], eax
mov dword [rsp + 0x3c], ecx
mov dword [rsi + 0x58], ecx
mov rcx, r14
call fcn.180021570
mov r9d, dword [rsp + 0x60]
xor r8d, r8d
mov rcx, r14
lea edx, [r8 + 7]
mov dword [rsp + 0x20], ebp
call fcn.180021570
mov r13d, ebp
mov dword [rsp + 0x38], eax
cmp dword [rbx + 0x1c], ebp
jle 0x18006daa0
mov r15, qword [rsp + 0x48]
mov eax, dword [rsp + 0x128]
mov rdi, rbp
mov ecx, 0x200
mov edx, 0xf0
nop word [rax + rax]
mov r8, qword [r15 + 0x28]
cmp dword [rdi + r8 + 0xc], eax
je 0x18006d9a7
cmp word [rdi + r8 + 0x18], cx
jne 0x18006da86
mov r8, qword [rdi + r8]
mov word [rsp + 0x20], dx
xor r9d, r9d
mov rdx, r12
mov rcx, rsi
call fcn.18006dea0
mov rbx, rax
mov qword [rsp + 0x88], rax
test rax, rax
je 0x18006da75
cmp word [rsp + 0x130], bp
jne 0x18006da3e
mov ecx, dword [r15 + 0x1c]
mov r9d, dword [rsp + 0x128]
mov eax, 0xffffffff
dec ecx
mov r8d, eax
mov ebx, r13d
cmp r13d, ecx
mov ecx, dword [rsp + 0x3c]
cmove ebx, eax
mov rax, qword [rsp + 0x68]
mov dword [rsp + 0x20], ecx
mov rdx, qword [rax + 0x18]
mov rcx, rsi
call fcn.180034ec0
mov r9d, dword [r14 + 0x18]
mov r8d, dword [rsp + 0x34]
add r9d, 2
mov edx, 0x6a
mov rcx, r14
mov dword [rsp + 0x28], ebx
mov dword [rsp + 0x20], eax
call fcn.180021610
mov rbx, qword [rsp + 0x88]
mov r9d, dword [rsp + 0x58]
mov r8d, dword [rsp + 0x60]
mov edx, 2
mov rcx, r14
mov dword [rsp + 0x20], ebp
call fcn.180021570
mov eax, dword [rsp + 0x40]
cmp byte [rbx + 0xb], bpl
mov ecx, 1
cmovne eax, ecx
mov rcx, rbx
mov dword [rsp + 0x40], eax
call fcn.18006ea40
mov eax, dword [rsp + 0x128]
mov edx, 0xf0
mov ecx, 0x200
inc r13d
add rdi, 0x38
cmp r13d, dword [r15 + 0x1c]
jl 0x18006d990
mov r15, qword [rsp + 0x78]
mov eax, dword [rsp + 0x38]
mov edx, dword [r14 + 0x18]
cmp edx, eax
jle 0x18006dab6
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 0x20]
mov dword [rax + rcx*8 + 4], edx
mov r9d, dword [r15 + 0x1c]
mov ebx, 1
xor r8d, r8d
mov rcx, r14
mov edx, ebx
mov dword [rsp + 0x20], ebp
call fcn.180021570
mov r11, qword [r14 + 0x30]
test r11, r11
je 0x18006daf0
movsxd rax, dword [rsp + 0x58]
lea rax, [rax*4 + 4]
sub r11, rax
mov eax, dword [r14 + 0x18]
mov dword [r11], eax
mov rax, qword [rsp + 0x120]
cmp dword [rax + 0x24], ebx
jle 0x18006db3e
mov rcx, qword [rsi]
test rcx, rcx
je 0x18006db36
test r12, r12
je 0x18006db36
cmp r12, qword [rcx + 0x158]
jb 0x18006db36
cmp r12, qword [rcx + 0x160]
jae 0x18006db36
mov rax, qword [rcx + 0x150]
mov qword [r12], rax
dec dword [rcx + 0x144]
mov qword [rcx + 0x150], r12
jmp 0x18006db3e
mov rcx, r12
call sym.sqlite3.dll_sqlite3_free
cmp dword [rsp + 0x40], ebp
jne 0x18006db51
mov rdx, qword [rsp + 0x50]
mov rcx, r15
call fcn.18006c4c0
mov r13d, dword [rsp + 0x128]
jmp 0x18006d783
mov r9d, dword [rsp + 0x50]
lea rdx, [0x180000000]
movsxd rcx, ebx
movzx eax, byte [rcx + rdx + 0x98ba4]
mov dword [r15 + 0x30], r13d
mov r8d, r13d
mov byte [r15 + 0x2d], al
movzx edx, byte [rcx + rdx + 0x98c6c]
mov rcx, r14
mov dword [rsp + 0x20], ebp
call fcn.180021570
mov byte [r15 + 0x2e], 1
inc eax
mov dword [r15 + 0x34], eax
jmp 0x18006d77e
mov rax, rbx
shl rax, cl
jmp 0x18006d7b6
cmp dword [r15 + 0x10], 0
mov rdx, qword [rbx]
je 0x18006dbbf
test byte [rdx + 2], 1
je 0x18006dbd4
mov r9d, 8
mov r8d, ebp
mov rcx, rsi
call fcn.180037120
or byte [rbx + 0x1a], 4
dec edi
add rbx, 0x38
test edi, edi
jg 0x18006d7e3
mov r14, qword [rsp + 0x90]
xor ebp, ebp
mov edi, dword [r15 + 0x10]
test edi, edi
je 0x18006dd4b
mov eax, dword [r14 + 0x18]
mov dword [r15 + 0x28], eax
movsxd r12, dword [r14 + 0x18]
mov eax, dword [r14 + 0x1c]
cmp eax, r12d
jg 0x18006dc7e
test eax, eax
je 0x18006dc15
add eax, eax
jmp 0x18006dc1a
mov eax, 0x2a
mov rdx, qword [r14 + 0x20]
mov rcx, qword [r14]
lea r8d, [rax + rax*2]
shl r8d, 3
call fcn.180007700
mov rbx, rax
test rax, rax
je 0x18006dcb2
mov rax, qword [r14]
test rax, rax
je 0x18006dc59
cmp rbx, qword [rax + 0x158]
jb 0x18006dc59
cmp rbx, qword [rax + 0x160]
jae 0x18006dc59
movzx eax, word [rax + 0x140]
jmp 0x18006dc62
mov rcx, rbx
call qword [0x1800ac420]
movsxd rcx, eax
movabs rax, 0xaaaaaaaaaaaaaaab
mov qword [r14 + 0x20], rbx
mul rcx
shr rdx, 4
mov dword [r14 + 0x1c], edx
mov rax, qword [r14 + 0x20]
inc dword [r14 + 0x18]
lea rcx, [r12 + r12*2]
mov byte [rax + rcx*8 + 3], 0
mov dword [rax + rcx*8 + 4], 1
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov word [rax + rcx*8], 7
mov byte [r14 + 0xa2], 0
lea rcx, [rsi + 0x80]
mov eax, 0xa
nop
mov edx, dword [rcx]
test edx, edx
je 0x18006dcec
cmp byte [rcx - 8], 0
je 0x18006dce2
movzx eax, byte [rsi + 0x25]
cmp al, 8
jae 0x18006dcde
movzx eax, al
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x25]
mov byte [rcx - 8], 0
mov rax, qword [rsp + 0x98]
mov dword [rcx], ebp
add rcx, 0x18
dec rax
mov qword [rsp + 0x98], rax
jne 0x18006dcc0
mov r12, qword [rsp + 0x70]
mov edi, ebp
cmp dword [r12 + 0x1c], 0
mov rbx, qword [r12 + 0x28]
jle 0x18006dd4b
mov ebp, dword [rsp + 0x80]
test byte [rbx + 0x1a], 6
jne 0x18006dd3c
test qword [rbx + 0x30], r13
jne 0x18006dd3c
mov rdx, qword [rbx]
mov r9d, 8
mov r8d, ebp
mov rcx, rsi
call fcn.180037120
or byte [rbx + 0x1a], 4
inc edi
add rbx, 0x38
cmp edi, dword [r12 + 0x1c]
jl 0x18006dd18
xor ebp, ebp
mov edx, dword [rsp + 0x44]
test edx, edx
je 0x18006dd80
movzx ecx, byte [rsi + 0x25]
cmp cl, 8
jae 0x18006dd80
lea rax, [rsi + 0x70]
cmp dword [rax + 0x10], edx
je 0x18006dd7c
inc ebp
add rax, 0x18
cmp ebp, 0xa
jl 0x18006dd60
movzx eax, cl
mov dword [rsi + rax*4 + 0x28], edx
inc byte [rsi + 0x25]
jmp 0x18006dd80
mov byte [rax + 8], 1
mov rax, r13
add rsp, 0xd8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret