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

Disassembly:
mov qword [rsp + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x1d8]
sub rsp, 0x2d8
mov rbx, qword [rcx + 0x88]
mov r15, rcx
xor ecx, ecx
mov r13, qword [r15]
mov r12, qword [r15 + 0x68]
mov r14d, ecx
mov al, byte [r13 + 0x5e]
mov dword [rsp + 0x34], ecx
mov byte [rbp + 0x230], cl
mov dword [rsp + 0x78], ecx
mov dword [rbp + 0x238], ecx
mov rcx, r15
mov byte [rbp + 0x228], al
mov qword [rsp + 0x38], rbx
mov rsi, rbx
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r12
call fcn.18008dc08
xor r10d, r10d
cmp qword [r13 + 0x1c0], r10
je 0x180086a1e
mov ecx, dword [r13 + 0x1d0]
mov eax, dword [r15 + 0xe4]
xor edx, edx
div ecx
sub ecx, edx
mov dword [rsp + 0x30], ecx
mov edi, ecx
jmp 0x180086a25
or edi, 0xffffffff
mov dword [rsp + 0x30], edi
mov eax, 7
lea r11d, [rax - 6]
cmp dword [r15 + 0x38], eax
je 0x180088113
mov qword [r15 + 0x48], r10
mov qword [r15 + 0xa0], r10
mov eax, dword [r13 + 0x170]
mov dword [r13 + 0x248], r10d
test eax, eax
jne 0x18008bd41
movsxd rax, dword [r15 + 0x34]
lea edx, [r11 + 3]
lea r8d, [r11 + 7]
lea rcx, [rax + rax*2]
lea r9d, [r11 + 1]
mov eax, r10d
lea rsi, [rbx + rcx*8]
lea rcx, [0x180000000]
movzx edi, byte [rsi]
add eax, r11d
mov qword [rbp - 0x80], rsi
mov dword [rbp + 0x238], eax
cmp edi, 0xa8
ja case.default.0x180086aa8
mov ecx, dword [rcx + rdi*4 + 0x8be00]
lea rax, [0x180000000]
add rcx, rax
jmp rcx
movsxd rax, dword [rsi + 4]
mov rcx, rsi
sub rcx, rbx
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
mov word [r8 + r12 + 8], dx
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r12], rax
jmp 0x180087d35
movsxd rax, dword [rsi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r12]
lea rcx, [rax + rax*2]
mov eax, 0x80
lea rsi, [rbx + rcx*8]
mov word [rdx + r12 + 8], ax
jmp 0x18008b83f
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov eax, dword [rsi + 0xc]
sub eax, r11d
cdqe
mov word [rcx + r12 + 8], dx
mov qword [rcx + r12], rax
cmp dword [rsi + 8], r10d
jne 0x180087d35
jmp case.0x180086aa8.86
movsxd rax, dword [rsi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r12]
lea rcx, [rax + rax*2]
mov eax, dword [rbx + rcx*8 + 8]
sub eax, r11d
cdqe
jmp 0x180086af0
movsxd rax, dword [rsi + 4]
sub rsi, rbx
imul r8, rax, 0x38
movabs rax, 0x2aaaaaaaaaaaaaab
movsxd rcx, dword [r8 + r12]
mov word [r8 + r12 + 8], dx
imul rsi
sar rdx, 2
lea rcx, [rcx + rcx*2]
mov rax, rdx
lea rsi, [rbx + rcx*8]
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r12], rax
mov edx, 4
mov r8d, 8
jmp case.0x180086aa8.86
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r12 + 8], r11b
je case.0x180086aa8.86
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rbx
imul rcx
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp dword [rsi + 4], r10d
jne 0x18008b85a
mov r8, qword [r15 + 0x100]
test r8, r8
je 0x18008b85a
mov rax, qword [r8 + 8]
mov edx, dword [r15 + 0x3c]
dec dword [r15 + 0x110]
mov rcx, r13
mov qword [r15 + 0x100], rax
call fcn.18007f9d4
mov rcx, r8
call fcn.18008d3dc
mov edx, 4
cmp dword [rsi + 8], edx
jne 0x180086c2e
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r15 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov rbx, qword [r15 + 0x88]
mov r12, qword [r15 + 0x68]
cdqe
lea rcx, [rax + rax*2]
xor r10d, r10d
mov qword [rsp + 0x38], rbx
lea rsi, [rbx + rcx*8]
mov qword [rsp + 0x48], r12
mov r11d, 1
mov r9d, 2
jmp 0x180086b8f
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
mov rcx, rax
movsxd rax, dword [rsi + 4]
mov qword [rcx], rax
xor r10d, r10d
mov edx, 4
jmp 0x180086c50
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
mov rdx, rax
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x180086c76
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
mov r8d, 8
xor r10d, r10d
mov word [rax + 8], r8w
mov rdx, rax
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax]
lea r11d, [r8 - 7]
mov qword [rdx], rcx
mov edx, 4
mov r9d, 2
jmp case.0x180086aa8.86
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
mov rcx, qword [rsi + 0x10]
mov rbx, rax
call fcn.1800684b4
mov dil, byte [rbp + 0x228]
mov edx, 1
mov dword [rsi + 4], eax
cmp dil, dl
je 0x180086d6d
mov r9b, dl
xor eax, eax
mov rdx, rcx
mov rcx, rbx
or r8d, 0xffffffff
mov qword [rsp + 0x20], rax
call fcn.18008c928
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x18008bb23
movzx edx, dil
mov rcx, rbx
call fcn.18008c7a0
xor ecx, ecx
test eax, eax
jne 0x18008810f
mov eax, 0x800
mov dword [rbx + 0x20], ecx
or word [rbx + 8], ax
cmp byte [rsi + 1], 0xf9
jne 0x180086d5b
mov rdx, qword [rsi + 0x10]
mov rcx, r13
call fcn.180068a1c
mov byte [rsi + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [rsi + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rsi + 4], eax
mov eax, dword [r13 + 0x7c]
cmp dword [rsi + 4], eax
jg 0x18008bb23
mov rbx, qword [rsp + 0x38]
mov byte [rsi], Ordinal_73
jmp 0x180086d8b
mov dil, byte [rbp + 0x228]
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
xor r10d, r10d
mov rdx, rax
mov eax, 0xa02
lea r11d, [r10 + 1]
mov word [rdx + 8], ax
mov rax, qword [rsi + 0x10]
lea r8d, [r10 + 8]
mov qword [rdx + 0x10], rax
mov eax, dword [rsi + 4]
mov byte [rdx + 0xa], dil
mov dword [rdx + 0xc], eax
cmp dword [rsi + 0xc], r10d
jle 0x18008b6c6
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rsi + 2]
cmp qword [rcx + r12], rax
jne 0x18008b6c6
mov eax, 0xa10
mov word [rdx + 8], ax
jmp 0x180086cc4
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
mov edi, dword [rsi + 0xc]
mov r11d, 1
sub edi, dword [rsi + 8]
mov rcx, rax
mov eax, dword [rsi + 4]
neg eax
mov eax, 0x100
lea rbx, [rcx + 0xc]
sbb r12w, r12w
xor r10d, r10d
and r12w, ax
mov dword [rbx], r10d
add r12w, r11w
mov word [rcx + 8], r12w
test edi, edi
jle 0x18008b6bb
xor r13d, r13d
mov r15d, r11d
lea rbx, [rbx + 0x38]
lea rcx, [rbx - 0xc]
call fcn.18008cba4
sub edi, r15d
mov word [rbx - 4], r12w
mov dword [rbx], r13d
test edi, edi
jg 0x180086e3a
mov r15, qword [rbp + 0x220]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x38]
jmp 0x180086c76
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, r12
and word [rcx + 8], ax
or word [rcx + 8], r11w
jmp case.0x180086aa8.86
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
mov r8d, dword [rsi + 4]
mov rdx, qword [rsi + 0x10]
mov rbx, rax
xor eax, eax
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.18008c928
mov al, byte [rbp + 0x228]
mov byte [rbx + 0xa], al
jmp 0x180086e67
mov eax, dword [rsi + 4]
sub eax, r11d
cdqe
imul rdi, rax, 0x38
add rdi, qword [r15 + 0x80]
mov rcx, rdi
call fcn.18008c7bc
test eax, eax
jne 0x18008bb23
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
mov eax, 0x2400
add rbx, r12
test word [rbx + 8], ax
je 0x180086f12
mov rcx, rbx
call fcn.18008cba4
xor r10d, r10d
lea r11d, [r10 + 1]
lea r9d, [r10 + 2]
lea r8d, [r10 + 8]
movups xmm0, xmmword [rdi]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + 0x10]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
jmp 0x18008b83a
movsxd rax, dword [rsi + 4]
mov r12d, dword [rsi + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
add rdi, qword [rsp + 0x48]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x48]
mov rdx, rdi
mov rcx, rbx
call fcn.18008c8b4
mov eax, 0x1000
test word [rbx + 8], ax
je 0x180086f83
mov rcx, rbx
call fcn.18008cc60
test eax, eax
jne 0x18008810f
mov r11d, 1
add rdi, 0x38
add rbx, 0x38
sub r12d, r11d
jne 0x180086f5d
mov r12, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x38]
xor r10d, r10d
mov edx, 4
jmp 0x180086c56
movsxd rax, dword [rsi + 4]
mov r12d, dword [rsi + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
add rdi, qword [rsp + 0x48]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x48]
mov r8d, 0x1000
mov rdx, rdi
mov rcx, rbx
call fcn.18008c874
mov eax, 0x1000
test word [rbx + 8], ax
je 0x180086ffc
mov rcx, rbx
call fcn.18008cc60
xor r10d, r10d
test eax, eax
jne 0x18008810f
jmp 0x180086fff
xor r10d, r10d
mov eax, r12d
mov r11d, 1
sub r12d, r11d
test eax, eax
je 0x18008b6bb
add rbx, 0x38
add rdi, 0x38
jmp 0x180086fcb
movsxd rax, dword [rsi + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rdx, r12
add rcx, r12
mov r8d, 0x1000
call fcn.18008c874
jmp 0x180086c76
movsxd rax, dword [rsi + 4]
imul rdx, rax, 0x38
mov rdx, qword [rdx + r12]
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rcx, r12
call fcn.18008caf0
jmp 0x180086c76
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rsi + 4]
imul r12, rax, 0x38
movsxd rax, dword [rsi + 8]
add r12, rcx
mov qword [rbp - 0x80], r12
movzx r13d, word [r12 + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add rdi, rcx
imul rbx, rax, 0x38
mov al, byte [rdi + 8]
or al, r13b
add rbx, rcx
test r11b, al
je 0x1800870ac
mov rcx, rbx
call fcn.18008cba4
jmp 0x180086e5d
test r13b, 0x12
jne 0x1800870c5
mov dl, byte [rbp + 0x228]
xor r8d, r8d
mov rcx, r12
call fcn.18008ccc4
jmp 0x1800870d8
mov eax, 0x4000
test ax, r13w
je 0x1800870f4
mov rcx, r12
call fcn.18008e230
test eax, eax
jne 0x18008810a
movzx r13d, word [r12 + 8]
mov eax, 0xfffd
and r13w, ax
mov eax, 0x4000
movzx r12d, word [rdi + 8]
test r12b, 0x12
jne 0x18008712a
mov dl, byte [rbp + 0x228]
xor r8d, r8d
mov rcx, rdi
call fcn.18008ccc4
xor edx, edx
test eax, eax
jne 0x18008810a
movzx r12d, word [rdi + 8]
mov eax, 0xfffd
and r12w, ax
jmp 0x18008713c
test ax, r12w
je 0x18008713a
mov rcx, rdi
call fcn.18008e230
jmp 0x180087110
xor edx, edx
mov rcx, qword [rbp - 0x80]
mov eax, dword [rdi + 0xc]
mov r8, qword [rsp + 0x40]
add eax, dword [rcx + 0xc]
movsxd rcx, eax
movsxd rax, dword [r8 + 0x7c]
mov qword [rsp + 0x60], rcx
cmp rcx, rax
jg 0x18008bb20
mov r8d, edx
lea edx, [rcx + 3]
cmp rbx, rdi
sete r8b
mov rcx, rbx
call fcn.18008d1dc
test eax, eax
jne 0x18008810a
mov eax, 0x3e40
mov edx, 2
and word [rbx + 8], ax
or word [rbx + 8], dx
cmp rbx, rdi
je 0x1800871aa
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.1800ca790
mov word [rdi + 8], r12w
mov r12, qword [rbp - 0x80]
movsxd rcx, dword [rdi + 0xc]
movsxd r8, dword [r12 + 0xc]
mov rdx, qword [r12 + 0x10]
add rcx, qword [rbx + 0x10]
call fcn.1800ca790
mov r8, qword [rsp + 0x60]
xor r10d, r10d
mov word [r12 + 8], r13w
mov rax, qword [rbx + 0x10]
mov edx, r10d
lea r11d, [r10 + 1]
lea r9d, [r10 + 2]
mov byte [r8 + rax], r10b
mov rcx, qword [rbx + 0x10]
add rcx, rdx
add rdx, r11
mov byte [rcx + r8 + 1], r10b
cmp rdx, r9
jl 0x1800871e6
mov r12, qword [rsp + 0x48]
mov eax, 0x200
mov dword [rbx + 0xc], r8d
or word [rbx + 8], ax
mov al, byte [rbp + 0x228]
mov byte [rbx + 0xa], al
mov r13, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
jmp 0x180086b8a
movsxd rax, dword [rsi + 4]
imul r12, rax, 0x38
add r12, qword [rsp + 0x48]
mov rcx, r12
call fcn.1800a458c
movzx ebx, ax
movsxd rax, dword [rsi + 8]
imul r13, rax, 0x38
add r13, qword [rsp + 0x48]
mov rcx, r13
call fcn.1800a458c
movzx ecx, ax
movsxd rax, dword [rsi + 0xc]
and cl, bl
imul rdi, rax, 0x38
movzx eax, word [r13 + 8]
add rdi, qword [rsp + 0x48]
or ax, word [r12 + 8]
test cl, 4
je 0x18008734b
movzx ecx, byte [rsi]
mov rdx, qword [r13]
mov r8, qword [r12]
mov qword [rsp + 0x68], rdx
sub ecx, 0x67
je 0x180087303
dec ecx
je 0x1800872f4
dec ecx
je 0x1800872e5
xor r10d, r10d
dec ecx
je 0x1800872bd
test r8, r8
je 0x180087417
cmp r8, 0xffffffffffffffff
mov rax, rdx
lea r11d, [r10 + 1]
cqo
cmove r8, r11
idiv r8
mov rax, rdx
jmp 0x180087322
test r8, r8
je 0x180087417
cmp r8, 0xffffffffffffffff
jne 0x1800872db
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x18008735a
mov rax, rdx
cqo
idiv r8
jmp 0x18008731c
lea rcx, [rsp + 0x68]
mov rdx, r8
call fcn.18007fa6c
jmp 0x180087310
lea rcx, [rsp + 0x68]
mov rdx, r8
call fcn.18007fa38
jmp 0x180087310
lea rcx, [rsp + 0x68]
mov rdx, r8
call fcn.18007f9e4
xor r10d, r10d
test eax, eax
jne 0x18008735a
mov rax, qword [rsp + 0x68]
mov r11d, 1
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov qword [rdi], rax
mov eax, 0x3e40
mov edx, 4
and word [rdi + 8], ax
or word [rdi + 8], dx
mov rbx, qword [rsp + 0x38]
jmp 0x180086c56
mov r11d, 1
test r11b, al
jne 0x180087417
mov rcx, r12
call fcn.18008cdc4
mov rcx, r13
movaps xmm2, xmm0
call fcn.18008cdc4
movzx edx, byte [rsi]
sub edx, 0x67
je 0x1800873d5
dec edx
je 0x1800873cf
dec edx
je 0x1800873c9
dec edx
je 0x1800873b7
mov rcx, r12
call fcn.18008cd68
mov rcx, r13
mov rbx, rax
call fcn.18008cd68
xor r10d, r10d
test rbx, rbx
je 0x180087417
cmp rbx, 0xffffffffffffffff
lea r11d, [r10 + 1]
cqo
cmove rbx, r11
xorps xmm0, xmm0
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x1800873e2
ucomisd xmm2, qword [0x180144138]
jp 0x1800873c3
je 0x180087417
divsd xmm0, xmm2
jmp 0x1800873d9
mulsd xmm0, xmm2
jmp 0x1800873d9
subsd xmm0, xmm2
jmp 0x1800873d9
addsd xmm0, xmm2
mov r11d, 1
xor r10d, r10d
call fcn.180068d14
test eax, eax
jne 0x180087417
mov r12, qword [rsp + 0x48]
mov eax, 0x3e40
mov r8d, 8
and word [rdi + 8], ax
or word [rdi + 8], r8w
movsd qword [rdi], xmm0
mov r13, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
jmp 0x180086cc4
mov rcx, rdi
jmp 0x1800870a2
cmp dword [rsi + 4], r10d
je case.0x180086aa8.86
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add rcx, r12
xor edx, edx
jmp 0x18008705a
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add rdi, r12
add rcx, r12
imul r12, rax, 0x38
mov al, byte [rcx + 8]
or al, byte [rdi + 8]
add r12, qword [rsp + 0x48]
test r11b, al
je 0x18008747b
mov rcx, r12
call fcn.18008cba4
mov r12, qword [rsp + 0x48]
jmp 0x180086c76
call fcn.18008cd68
mov rcx, rdi
mov rbx, rax
call fcn.18008cd68
mov r8b, byte [rsi]
mov rdx, rax
cmp r8b, 0x63
jne 0x18008749c
and rbx, rax
jmp 0x1800874a5
cmp r8b, 0x64
jne 0x1800874aa
or rbx, rax
xor r10d, r10d
jmp 0x180087522
xor r10d, r10d
test rax, rax
je 0x180087522
jns 0x1800874d4
mov rcx, rdx
mov eax, reloc.WLDAP32.dll_Ordinal_203
sub al, r8b
neg rcx
mov r8b, al
mov rax, rdx
lea edx, [r10 + 0x40]
cmp rax, 0xffffffffffffffc0
cmovg rdx, rcx
cmp rdx, 0x40
jl 0x1800874f2
test rbx, rbx
jns 0x1800874ea
cmp r8b, 0x65
je 0x1800874ea
or eax, 0xffffffff
jmp 0x1800874ed
mov eax, r10d
movsxd rbx, eax
jmp 0x180087522
mov rcx, rdx
cmp r8b, 0x65
jne 0x180087503
shl rbx, cl
mov r8, rbx
jmp 0x18008751f
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x18008751f
mov ecx, 0x40
sub cl, dl
or rdx, 0xffffffffffffffff
shl rdx, cl
or r8, rdx
mov rbx, r8
mov eax, 0x3e40
mov edx, 4
mov qword [r12], rbx
and word [r12 + 8], ax
or word [r12 + 8], dx
mov r12, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x38]
jmp 0x180086c50
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
call fcn.18008cd94
movsxd rax, dword [rsi + 8]
add qword [rbx], rax
jmp 0x180086e67
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, r12
movzx eax, word [rbx + 8]
test dl, al
jne 0x1800875c0
mov r8b, byte [rbp + 0x228]
mov dl, 0x43
mov rcx, rbx
call fcn.1800a4490
movzx eax, word [rbx + 8]
mov edx, 4
xor r10d, r10d
test dl, al
jne 0x1800875b2
cmp dword [rsi + 8], r10d
je 0x18008b939
mov rbx, qword [rsp + 0x38]
jmp 0x180087d2f
mov r11d, 1
lea r9d, [r11 + 1]
lea r8d, [r11 + 7]
mov ecx, 0x3e40
and ax, cx
or ax, dx
mov word [rbx + 8], ax
mov rbx, qword [rsp + 0x38]
jmp case.0x180086aa8.86
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
add rcx, r12
test byte [rcx + 8], 0x24
je case.0x180086aa8.86
call fcn.18008ce88
jmp 0x180086c76
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r12
test word [rbx + 8], ax
je 0x18008761f
mov rcx, rbx
call fcn.18008e230
mov r14d, eax
mov dword [rsp + 0x34], eax
jmp 0x180087627
mov r14d, r10d
mov dword [rsp + 0x34], r10d
mov r8b, byte [rbp + 0x228]
mov dl, byte [rsi + 8]
mov rcx, rbx
call fcn.18008cf4c
xor r10d, r10d
test r14d, r14d
jne 0x18008bd80
mov rbx, qword [rsp + 0x38]
jmp 0x180086c79
mov rcx, qword [rsp + 0x48]
movsxd rax, dword [rsi + 4]
imul r12, rax, 0x38
movsxd rax, dword [rsi + 0xc]
add r12, rcx
imul rdi, rax, 0x38
movzx r13d, word [r12 + 8]
add rdi, rcx
movzx ebx, word [rdi + 8]
movzx ecx, bx
or cx, r13w
test r11b, cl
je 0x180087717
mov eax, 0x80
test byte [rsi + 2], al
je 0x1800876be
mov al, bl
and al, r13b
test r11b, al
je 0x1800876aa
mov eax, 0x100
test ax, bx
jne 0x1800876aa
mov ecx, r10d
jmp 0x1800878c8
mov al, bl
and al, r11b
neg al
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, r11d
jmp 0x1800878a9
mov eax, Ordinal_36
test byte [rsi + 2], al
je 0x1800876f5
movsxd rax, dword [rsi + 8]
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0x40]
imul rcx, rax, 0x38
add rcx, r12
mov eax, 0x3e40
mov dword [rsp + 0x78], r11d
and word [rcx + 8], ax
or word [rcx + 8], r11w
jmp 0x1800875cf
mov rbx, qword [rsp + 0x38]
mov eax, 0x10
test byte [rsi + 2], al
jne 0x180087d35
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
jmp case.0x180086aa8.86
mov al, byte [rsi + 2]
and al, 0x47
cmp al, 0x43
jl 0x18008781c
test r9b, cl
je 0x180087766
mov al, r13b
and al, 0x2e
cmp al, r9b
jne 0x18008774a
xor edx, edx
mov rcx, r12
call fcn.1800a4414
movzx ebx, word [rdi + 8]
mov edx, 4
lea r9d, [rdx - 2]
mov al, bl
and al, 0x2e
cmp al, r9b
jne 0x180087766
xor edx, edx
mov rcx, rdi
call fcn.1800a4414
mov edx, 4
lea r9d, [rdx - 2]
mov al, byte [rdi + 8]
and al, byte [r12 + 8]
test dl, al
je 0x180087889
mov rax, qword [r12]
cmp qword [rdi], rax
jle 0x180087807
mov r11d, 1
xor r10d, r10d
mov ecx, r11d
movzx eax, byte [rsi]
lea r8, [0x180000000]
movzx r8d, byte [rax + r8 + 0x13b4b0]
mov word [r12 + 8], r13w
mov eax, Ordinal_36
mov word [rdi + 8], bx
test byte [rsi + 2], al
je 0x1800878e6
movsxd rax, dword [rsi + 8]
mov r12, qword [rsp + 0x48]
mov dword [rsp + 0x78], ecx
imul rdx, rax, 0x38
mov eax, 8
add rdx, r12
test byte [rsi + 2], al
je 0x1800877ea
cmp byte [rsi], 0x35
mov eax, r10d
sete al
cmp eax, r8d
je 0x18008b6e2
mov eax, 0x3e40
and word [rdx + 8], ax
mov eax, 4
or word [rdx + 8], ax
movsxd rax, r8d
mov qword [rdx], rax
jmp 0x180087215
jge 0x180087814
or ecx, 0xffffffff
xor r10d, r10d
jmp 0x1800878ad
xor r10d, r10d
jmp 0x1800876a2
cmp al, 0x42
jne 0x180087889
test r9b, r13b
jne 0x18008785c
test r13b, 0x2c
je 0x18008785c
mov dl, byte [rbp + 0x228]
mov r8b, r11b
mov rcx, r12
call fcn.18008ccc4
movzx eax, r13w
mov ecx, 0x3e40
xor ax, word [r12 + 8]
mov r11d, 1
and ax, cx
lea r9d, [r11 + 1]
xor r13w, ax
test r9b, bl
jne 0x180087889
test bl, 0x2c
je 0x180087889
mov dl, byte [rbp + 0x228]
mov r8b, r11b
mov rcx, rdi
call fcn.18008ccc4
movzx eax, bx
mov ecx, 0x3e40
xor ax, word [rdi + 8]
and ax, cx
xor bx, ax
mov r8, qword [rsi + 0x10]
mov rdx, r12
mov rcx, rdi
call fcn.180063b50
xor r10d, r10d
mov ecx, eax
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
lea r9d, [r10 + 2]
test ecx, ecx
jns 0x1800878c2
movzx eax, byte [rsi]
lea r8, [0x180000000]
movzx r8d, byte [rax + r8 + 0x13b450]
jmp 0x1800878db
jne 0x18008778f
movzx eax, byte [rsi]
lea r8, [0x180000000]
movzx r8d, byte [rax + r8 + 0x13b4a4]
mov r11d, 1
jmp 0x1800877a2
mov rbx, qword [rsp + 0x38]
test r8d, r8d
jne 0x180087d35
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
jmp 0x180086b8f
cmp dword [rsp + 0x78], r10d
jmp 0x180086b26
test byte [rsi + 2], r11b
jne 0x180087918
mov rdi, r10
jmp 0x18008791f
mov rdi, qword [rsi - 8]
add rdi, rdx
movsxd rcx, dword [rsi + 0xc]
mov rax, qword [rsi + 0x10]
mov r9d, dword [rsi + 4]
mov edx, dword [rsi + 8]
mov qword [rbp - 0x70], rax
mov dword [rbp - 0x74], r9d
mov r13d, r10d
mov rbx, r10
mov qword [rsp + 0x60], rcx
mov dword [rbp - 0x78], edx
test rcx, rcx
jle 0x180087408
lea r8, [rax + 0x20]
mov qword [rbp - 0x80], r8
test rdi, rdi
je 0x180087960
mov r12d, dword [rdi + rbx*4]
jmp 0x180087963
mov r12d, r13d
mov rax, qword [rax + 0x18]
mov r8, qword [r8]
movzx eax, byte [rbx + rax]
and eax, r11d
mov dword [rsp + 0x54], eax
lea eax, [r12 + rdx]
movsxd rcx, eax
lea eax, [r12 + r9]
imul rdx, rcx, 0x38
movsxd rcx, eax
add rdx, qword [rsp + 0x48]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x48]
call fcn.180063b50
xor r10d, r10d
mov r9d, eax
mov dword [rsp + 0x78], eax
test eax, eax
mov rax, qword [rbp - 0x70]
lea r11d, [r10 + 1]
jne 0x1800879e4
mov r8, qword [rbp - 0x80]
mov r9d, dword [rbp - 0x74]
mov edx, dword [rbp - 0x78]
add r8, 8
add rbx, r11
add r13d, r11d
mov qword [rbp - 0x80], r8
cmp rbx, qword [rsp + 0x60]
jl 0x180087955
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x38]
jmp 0x180086fa3
mov rax, qword [rax + 0x18]
mov edx, 2
test byte [rbx + rax], dl
je 0x180087a28
movsxd rax, dword [rbp - 0x74]
movsxd rcx, r12d
mov r12, qword [rsp + 0x48]
add rax, rcx
imul rax, rax, 0x38
test byte [rax + r12 + 8], r11b
jne 0x180087a1e
movsxd rax, dword [rbp - 0x78]
add rax, rcx
imul rax, rax, 0x38
test byte [rax + r12 + 8], r11b
je 0x180087a2d
neg r9d
mov dword [rsp + 0x78], r9d
jmp 0x180087a2d
mov r12, qword [rsp + 0x48]
mov r13, qword [rsp + 0x40]
mov edx, 4
lea r8d, [rdx + 4]
cmp dword [rsp + 0x54], r10d
je 0x180087a4a
neg r9d
mov dword [rsp + 0x78], r9d
mov rbx, qword [rsp + 0x38]
jmp 0x180086cc9
mov r9d, dword [rsp + 0x78]
test r9d, r9d
jns 0x180087a73
mov eax, dword [rsi + 4]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rbx + rcx*8]
jmp 0x180086cc9
mov r9d, 2
jne 0x180087a90
mov eax, dword [rsi + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rbx + rcx*8]
jmp case.0x180086aa8.86
mov eax, dword [rsi + 0xc]
jmp 0x180087a7e
movsxd rax, dword [rsi + 4]
mov edx, r9d
imul rcx, rax, 0x38
add rcx, r12
call fcn.18008cdf4
movsxd rcx, dword [rsi + 8]
mov edx, 2
movsxd rbx, eax
imul rcx, rcx, 0x38
add rcx, r12
call fcn.18008cdf4
cmp byte [rsi], 0x2c
movsxd r8, eax
lea rax, [0x180000000]
jne 0x180087ae1
lea rdx, [rbx + rbx*2]
add rdx, r8
movzx r8d, byte [rdx + rax + 0x13b608]
jmp 0x180087af1
lea rcx, [rbx + rbx*2]
add rcx, r8
movzx r8d, byte [rcx + rax + 0x13b620]
movsxd rax, dword [rsi + 0xc]
mov rbx, qword [rsp + 0x38]
mov r9d, 2
lea r11d, [r9 - 1]
lea edx, [r9 + 2]
imul rcx, rax, 0x38
add rcx, r12
cmp r8d, r9d
jne 0x180087b2a
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], r11w
xor r10d, r10d
jmp 0x180086b8f
movsxd rax, r8d
mov qword [rcx], rax
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], dx
jmp 0x180087b22
movsxd rax, dword [rsi + 4]
mov edx, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.18008cdf4
movsxd rdx, eax
movsxd rax, dword [rsi + 0x10]
xor rdx, rax
jmp 0x18008704f
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rcx, r12
add rbx, r12
test byte [rcx + 8], r11b
jne 0x180087b9a
xor edx, edx
call fcn.18008cdf4
xor ecx, ecx
mov edx, ecx
test eax, eax
mov rcx, rbx
sete dl
call fcn.18008caf0
jmp 0x180086e67
mov rcx, rbx
call fcn.18008cba4
jmp 0x180086e67
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rdi, r12
add rbx, r12
mov rcx, rbx
call fcn.18008cba4
mov r11d, 1
test byte [rdi + 8], r11b
jne 0x18008b6ee
lea eax, [r11 + 3]
mov rcx, rdi
mov word [rbx + 8], ax
call fcn.18008cd68
not rax
mov qword [rbx], rax
jmp 0x180086e67
mov r10, qword [r15 + 0x100]
test r10, r10
je 0x180087c65
mov r11, qword [r10 + 0x30]
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r15 + 0x88]
mov r10d, 1
imul rcx
mov r8, rdx
mov edx, r10d
sar r8, 2
mov rax, r8
shr rax, 0x3f
add r8, rax
mov r9d, r8d
and r8d, 7
mov ecx, r8d
shr r9, 3
shl edx, cl
test byte [r9 + r11], dl
jne 0x180087d2c
mov eax, r10d
lea edx, [r10 + 3]
lea r8d, [r10 + 7]
shl al, cl
or byte [r9 + r11], al
mov r11d, r10d
lea r9d, [r10 + 1]
jmp 0x180087c78
mov rcx, qword [r15 + 0x88]
mov eax, dword [rsi + 4]
cmp dword [rcx + 4], eax
je 0x18008b1e4
mov rax, qword [r15 + 0x88]
xor r10d, r10d
mov ecx, dword [rax + 4]
mov dword [rsi + 4], ecx
jmp case.0x180086aa8.86
movsxd rax, dword [rsi + 4]
mov edx, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.18008cdf4
xor r10d, r10d
mov r11d, 1
test eax, eax
jne 0x180087d35
jmp 0x180086fa3
cmp dword [rsi + 0xc], r10d
movsxd rax, dword [rsi + 4]
mov edx, r10d
sete dl
imul rcx, rax, 0x38
add rcx, r12
call fcn.18008cdf4
xor r10d, r10d
lea r11d, [r10 + 1]
test eax, eax
je 0x180087d35
jmp 0x180086fa3
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 8], r11b
jmp 0x180086b26
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
test byte [rcx + r12 + 8], r11b
je 0x180087d35
jmp case.0x180086aa8.86
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], r10b
je case.0x180086aa8.86
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rcx, r12
call fcn.18008cba4
xor r10d, r10d
mov r11d, 1
mov eax, dword [rsi + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rbx + rcx*8]
jmp 0x180088015
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 4]
lea rdx, [rsp + 0x50]
mov rcx, qword [rax + rcx*8]
mov eax, dword [rsi + 8]
mov qword [rbp - 0x50], rcx
lea rcx, [rbp - 0x50]
mov dword [rsp + 0x50], eax
call fcn.180086488
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088c01
movsxd rax, dword [rsi + 0xc]
mov rdi, qword [rbp - 0x50]
mov rbx, qword [rdi + 0x60]
imul r13, rax, 0x38
mov eax, dword [r15 + 0x30]
add r13, r12
mov qword [rsp + 0x68], rbx
cmp dword [rdi + 0x28], eax
je 0x180087e85
cmp byte [rdi + 2], r10b
je 0x180087de6
cmp byte [rdi], 3
jne 0x180087dd4
movsxd rax, dword [rdi + 0x2c]
imul rcx, rax, 0x38
add rcx, r12
lea r12, [rdi + 0x74]
mov eax, dword [rcx + 0xc]
mov dword [r12], eax
mov dword [rdi + 0x70], eax
mov rax, qword [rcx + 0x10]
mov qword [rdi + 0x68], rax
jmp 0x180087e22
mov rcx, r13
call fcn.18008cba4
mov r13, qword [rsp + 0x40]
jmp 0x180086e67
mov rbx, qword [rdi + 0x38]
mov rcx, rbx
call fcn.180061e6c
lea r12, [rdi + 0x74]
mov rcx, rbx
mov rdx, r12
mov dword [rdi + 0x70], eax
call fcn.180061e60
mov r8, qword [rsp + 0x40]
mov qword [rdi + 0x68], rax
mov eax, dword [r8 + 0x7c]
cmp dword [rdi + 0x70], eax
ja 0x18008bb20
mov rbx, qword [rsp + 0x68]
xor r10d, r10d
mov eax, dword [r15 + 0x30]
mov dword [rdi + 0x28], eax
mov rcx, qword [rdi + 0x68]
mov eax, 0x80
cmp byte [rcx], al
jae 0x180087e42
movzx eax, byte [rcx]
mov dword [rbx], eax
mov eax, 1
jmp 0x180087e50
mov rdx, rbx
call fcn.18007eb94
xor r10d, r10d
movzx eax, al
movzx eax, al
mov dword [rdi + 0x48], eax
mov word [rdi + 0x52], r10w
mov eax, dword [rbx]
cmp dword [r12], eax
jae 0x180087f43
mov qword [rdi + 0x68], r10
mov dword [r12], r10d
mov eax, dword [rbx]
cmp eax, 0x18003
ja 0x180087ff2
cmp eax, dword [rdi + 0x70]
ja 0x180087ff2
movzx eax, word [rdi + 0x52]
cmp eax, dword [rsp + 0x50]
jg 0x18008807e
mov eax, dword [rbx]
cmp dword [rdi + 0x48], eax
jae 0x18008804b
mov rcx, qword [rdi + 0x68]
mov qword [rsp + 0x70], rcx
test rcx, rcx
jne 0x180087ef1
lea r8d, [rcx + 0x38]
lea rcx, [rbp + 0x158]
xor edx, edx
call fcn.1800cadf0
mov r8d, dword [rbx]
mov rcx, qword [rdi + 0x38]
lea r9, [rbp + 0x158]
xor edx, edx
call fcn.18008d014
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800898f1
mov rcx, qword [rbp + 0x168]
mov qword [rsp + 0x70], rcx
movzx eax, word [rdi + 0x52]
mov rdx, qword [rsp + 0x68]
mov r11d, 1
mov r8d, dword [rbx + rax*4]
mov ebx, dword [rdi + 0x48]
mov r9d, dword [rdx]
add rbx, rcx
add r9, rcx
mov dword [rsp + 0x58], eax
mov qword [rbp - 0x70], r8
lea r15d, [r11 + 0x7f]
mov qword [rsp + 0x60], r9
movzx r12d, byte [rbx]
mov dword [rbp - 0x68], r12d
mov dword [rdi + rax*4 + 0x78], r12d
cmp r12d, r15d
jae 0x180087f49
mov cl, r12b
add rbx, r11
call fcn.180086540
movzx edx, al
jmp 0x180087f82
mov rcx, qword [rdi + 0x68]
jmp 0x180087eec
lea rdx, [rbp - 0x68]
mov rcx, rbx
call fcn.18007eb94
movsxd rcx, dword [rsp + 0x58]
mov r12d, dword [rbp - 0x68]
mov dword [rdi + rcx*4 + 0x78], r12d
movzx eax, al
mov ecx, r12d
add rbx, rax
call fcn.18008651c
mov r8, qword [rbp - 0x70]
mov r9, qword [rsp + 0x60]
mov r11d, 1
mov edx, eax
mov ecx, dword [rsp + 0x58]
add r8, rdx
mov rdx, qword [rsp + 0x68]
add ecx, r11d
mov qword [rbp - 0x70], r8
movsxd rax, ecx
mov dword [rsp + 0x58], ecx
mov dword [rdx + rax*4], r8d
cmp ecx, dword [rsp + 0x50]
jg 0x180087faf
cmp rbx, r9
jb 0x180087f21
mov r15, qword [rbp + 0x220]
cmp rbx, r9
jb 0x180087fc5
ja 0x180087fcd
mov eax, dword [rdi + 0x70]
cmp r8, rax
jne 0x180087fcd
mov eax, dword [rdi + 0x70]
cmp r8, rax
jbe 0x180088024
xor r10d, r10d
cmp dword [rdx], r10d
jne 0x180087fdd
mov ecx, r10d
mov rbx, r9
jmp 0x180088027
cmp qword [rdi + 0x68], r10
jne 0x180087ff8
lea rcx, [rbp + 0x158]
call fcn.18008d080
xor r10d, r10d
mov r11d, 1
mov rbx, qword [rsp + 0x38]
mov eax, dword [rbx + 0xc]
test eax, eax
jle 0x18008b944
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rsi, [rbx + rax*8]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
jmp 0x180086fa3
xor r10d, r10d
sub ebx, dword [rsp + 0x70]
mov word [rdi + 0x52], cx
mov dword [rdi + 0x48], ebx
cmp qword [rdi + 0x68], r10
jne 0x180088050
lea rcx, [rbp + 0x158]
call fcn.18008d080
mov rbx, qword [rsp + 0x68]
jmp 0x180088053
mov r12d, r10d
jmp 0x180088053
mov rbx, rdx
movzx eax, word [rdi + 0x52]
cmp eax, dword [rsp + 0x50]
jg 0x180088088
cmp byte [rsi + 1], 0xf5
mov rcx, r13
jne 0x1800870a2
mov rdx, qword [rsi + 0x10]
mov r8d, 0x800
call fcn.18008c874
jmp 0x180086e5d
movsxd rax, dword [rsp + 0x50]
mov r12d, dword [rdi + rax*4 + 0x78]
mov eax, 0x2400
test word [r13 + 8], ax
je 0x18008809c
mov rcx, r13
call fcn.18008cba4
movsxd rdx, dword [rsp + 0x50]
mov eax, dword [rbx + rdx*4 + 4]
cmp dword [rdi + 0x74], eax
jb 0x1800881a2
mov eax, dword [rbx + rdx*4]
add rax, qword [rdi + 0x68]
mov qword [rsp + 0x60], rax
cmp r12d, 0xc
jae 0x1800880d3
mov rcx, rax
mov edx, r12d
mov r8, r13
call fcn.1800865b4
jmp 0x180086e5d
mov al, byte [rbp + 0x228]
lea ebx, [r12 - 0xc]
shr ebx, 1
mov byte [r13 + 0xa], al
lea edx, [rbx + 2]
mov dword [r13 + 0xc], ebx
cmp dword [r13 + 0x20], edx
jge 0x180088137
mov eax, 1
xor r8d, r8d
mov rcx, r13
mov word [r13 + 8], ax
call fcn.18008d1dc
test eax, eax
je 0x18008813f
mov r13, qword [rsp + 0x40]
mov edi, dword [rsp + 0x30]
mov ebx, 7
mov rcx, r13
call fcn.180082e04
lea rdx, str.out_of_memory
mov rcx, r15
call fcn.1800863d0
mov r14d, ebx
jmp 0x18008ba87
mov rax, qword [r13 + 0x18]
mov qword [r13 + 0x10], rax
mov rdx, qword [rsp + 0x60]
mov rcx, qword [r13 + 0x10]
mov r8, rbx
call fcn.1800ca790
mov rax, qword [r13 + 0x10]
xor r10d, r10d
mov byte [rbx + rax], r10b
mov rax, qword [r13 + 0x10]
lea r11d, [r10 + 1]
mov byte [rbx + rax + 1], r10b
mov rbx, qword [rsp + 0x38]
mov eax, r12d
mov r12, qword [rsp + 0x48]
lea rcx, [0x180000000]
and rax, r11
movzx eax, word [rcx + rax*2 + 0x13b61c]
lea edx, [r10 + 4]
lea r9d, [r10 + 2]
mov word [r13 + 8], ax
mov r13, qword [rsp + 0x40]
lea r8d, [r10 + 8]
jmp 0x18008b84b
mov al, byte [rbp + 0x228]
mov byte [r13 + 0xa], al
test byte [rsi + 2], 0xc0
je 0x1800881cc
cmp r12d, 0xc
jb 0x1800881c2
mov eax, 1
test al, r12b
je 0x1800881d8
mov eax, 0x80
test byte [rsi + 2], al
jne 0x1800881d8
mov ecx, r12d
call fcn.18008651c
test eax, eax
jne 0x1800881e4
lea rcx, [0x180164be0]
jmp 0x1800880c3
mov edx, dword [rbx + rdx*4]
mov rcx, qword [rdi + 0x38]
mov r9, r13
mov r8d, eax
call fcn.18008d014
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800898f1
mov rcx, qword [r13 + 0x10]
mov r8, r13
mov edx, r12d
call fcn.1800865b4
mov r8d, 0xefff
and word [r13 + 8], r8w
jmp 0x180086e5d
movsxd rax, dword [rsi + 4]
mov rdi, qword [rsi + 0x10]
imul rbx, rax, 0x38
add rbx, r12
mov r8b, byte [rbp + 0x228]
mov dl, byte [rdi]
mov rcx, rbx
call fcn.1800a4490
cmp byte [rdi], 0x45
mov edx, 4
jne 0x1800882aa
movzx ecx, word [rbx + 8]
test dl, cl
je 0x1800882aa
mov rdx, qword [rbx]
movabs r8, 0xffffffffffff
movabs rax, 0x800000000000
add rax, rdx
cmp rax, r8
mov eax, 0xfffb
mov r8d, 8
ja 0x180088295
and cx, ax
or cx, 0x20
mov word [rbx + 8], cx
mov edx, 4
jmp 0x1800882b0
xorps xmm0, xmm0
and cx, ax
or cx, r8w
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
jmp 0x18008828a
mov r8d, 8
mov r11d, 1
xor r10d, r10d
add rdi, r11
cmp byte [rdi], r10b
je 0x180087a4a
add rbx, 0x38
jmp 0x180088236
movsxd rax, dword [rsi + 4]
mov rdi, qword [rsi + 0x10]
movzx r13d, byte [r15 + 0xc3]
imul r11, rax, 0x38
add r11, qword [rsp + 0x48]
mov eax, dword [rsi + 8]
mov r12, r10
dec eax
mov qword [rsp + 0x60], r10
mov r9d, r10d
cdqe
mov dword [rsp + 0x50], r10d
mov r8, r10
mov qword [rsp + 0x70], r10
mov qword [rsp + 0x68], r11
mov dword [rsp + 0x54], r13d
imul rax, rax, 0x38
add rax, r11
mov qword [rbp - 0x50], rax
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x48]
mov qword [rbp - 0x40], rcx
test rdi, rdi
je 0x1800883aa
mov r15b, byte [rbp + 0x228]
xor r13d, r13d
lea rbx, [r11 + 8]
lea esi, [r13 + 1]
lea r12d, [r13 + 4]
lea r14d, [r13 + 0x20]
mov dl, byte [rdi]
lea rcx, [rbx - 8]
mov r8b, r15b
call fcn.1800a4490
cmp byte [rdi], 0x45
jne 0x180088375
movzx eax, word [rbx]
test r12b, al
je 0x180088375
mov ecx, 0xfffb
and ax, cx
or ax, r14w
mov word [rbx], ax
add rdi, rsi
add rbx, 0x38
cmp byte [rdi], r13b
jne 0x18008834b
mov rsi, qword [rbp - 0x80]
mov r14d, dword [rsp + 0x34]
mov r15, qword [rbp + 0x220]
mov r12, qword [rsp + 0x60]
mov r9d, dword [rsp + 0x50]
mov r13d, dword [rsp + 0x54]
mov r11, qword [rsp + 0x68]
mov r8, qword [rsp + 0x70]
mov rbx, qword [rbp - 0x50]
movsxd r10, r13d
mov edi, 1
add rbx, 0x24
mov qword [rsp + 0x60], r10
movzx ecx, word [rbx - 0x1c]
test dil, cl
je 0x1800883e2
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
add r9d, edi
mov dword [rbx], eax
jmp 0x180088555
test cl, 0x24
je 0x1800884c4
mov r8, qword [rbx - 0x24]
mov rdx, r8
test r8, r8
jns 0x1800883fa
not rdx
add r9d, edi
mov dword [rsp + 0x50], r9d
cmp rdx, 0x7f
ja 0x18008842f
mov rax, r8
and rax, rdi
cmp rax, r8
jne 0x180088425
mov eax, 4
cmp r10, rax
jl 0x180088425
lea eax, [rdx + 8]
jmp 0x1800884b2
add r12, rdi
mov dword [rbx], edi
jmp 0x18008855a
cmp rdx, 0x7fff
ja 0x18008843f
mov eax, 2
jmp 0x180088465
cmp rdx, 0x7fffff
ja 0x180088457
add r12, 3
mov dword [rbx], 3
jmp 0x18008855a
cmp rdx, 0x7fffffff
ja 0x18008846a
mov eax, 4
add r12, rax
jmp 0x1800884b2
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x180088484
add r12, 6
mov eax, 5
jmp 0x1800884b2
mov edx, 8
add r12, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x1800884b9
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
lea eax, [rdx - 1]
or cx, dx
mov word [rbx - 0x1c], cx
cvtsi2sd xmm0, r8
movsd qword [rbx - 0x24], xmm0
mov dword [rbx], eax
jmp 0x18008855a
mov dword [rbx], 6
jmp 0x18008855a
mov edx, 8
test dl, cl
je 0x1800884da
lea eax, [rdx - 1]
add r9d, edi
add r12, rdx
mov dword [rbx], eax
jmp 0x180088555
mov edx, dword [rbx - 0x18]
mov r13d, ecx
mov eax, 0x4000
shr r13d, 1
mov dword [rsp + 0x54], edx
and r13d, edi
add r13d, 0xc
lea r13d, [r13 + rdx*2]
test ax, cx
je 0x18008853d
lea rdi, [rbx - 0x24]
movsxd rax, dword [rdi]
lea r13d, [r13 + rax*2]
test r12, r12
je 0x180088530
mov rcx, rdi
call fcn.18008e230
test eax, eax
jne 0x18008810a
mov edx, dword [rsp + 0x54]
mov r9d, dword [rsp + 0x50]
mov r10, qword [rsp + 0x60]
add edx, dword [rdi]
jmp 0x180088538
add r8, rax
mov qword [rsp + 0x70], r8
mov edi, 1
mov eax, edx
mov ecx, r13d
add r12, rax
call fcn.18007ec10
mov r11, qword [rsp + 0x68]
add r9d, eax
mov dword [rbx], r13d
mov dword [rsp + 0x50], r9d
lea rax, [rbx - 0x24]
cmp rax, r11
je 0x180088571
mov r8, qword [rsp + 0x70]
sub rbx, 0x38
jmp 0x1800883bf
cmp r9d, 0x7e
jle 0x180088595
movsxd rcx, r9d
call fcn.18007ec10
add r9d, eax
mov edx, eax
movsxd rcx, r9d
mov dword [rsp + 0x50], r9d
call fcn.18007ec10
cmp edx, eax
jge 0x18008859d
add r9d, edi
mov dword [rsp + 0x50], r9d
mov r13, qword [rsp + 0x70]
movsxd rdi, r9d
lea rbx, [rdi + r12]
mov r12, qword [rbp - 0x40]
movsxd rax, dword [r12 + 0x20]
lea rcx, [rbx + r13]
cmp rcx, rax
jg 0x1800885c7
mov rax, qword [r12 + 0x18]
mov qword [r12 + 0x10], rax
jmp 0x1800885f5
mov r8, qword [rsp + 0x40]
movsxd rax, dword [r8 + 0x7c]
cmp rcx, rax
jg 0x18008bb20
mov edx, ebx
mov rcx, r12
call fcn.18008d2f0
test eax, eax
jne 0x18008810a
mov r9d, dword [rsp + 0x50]
mov r11, qword [rsp + 0x68]
mov eax, 0x10
mov dword [r12 + 0xc], ebx
mov word [r12 + 8], ax
test r13, r13
je 0x180088619
mov eax, 0x4010
mov dword [r12], r13d
mov word [r12 + 8], ax
mov rbx, qword [r12 + 0x10]
mov esi, 0x80
lea r12, [rbx + rdi]
cmp r9d, esi
jae 0x180088638
lea r15d, [rsi - 0x7f]
mov byte [rbx], r9b
mov eax, r15d
jmp 0x180088649
mov rdx, rdi
mov rcx, rbx
call fcn.18007e998
mov r15d, 1
movzx eax, al
add rbx, rax
mov r10d, dword [r11 + 0x24]
cmp r10d, esi
jae 0x180088660
mov byte [rbx], r10b
mov eax, r15d
jmp 0x18008866b
mov rdx, r10
mov rcx, rbx
call fcn.18007e998
movzx eax, al
mov r8d, r10d
mov rdx, r11
mov rcx, r12
add rbx, rax
call fcn.180086554
mov r11, qword [rsp + 0x68]
add r11, 0x38
mov eax, eax
add r12, rax
mov qword [rsp + 0x68], r11
cmp r11, qword [rbp - 0x50]
jbe 0x18008864f
mov rsi, qword [rbp - 0x80]
jmp 0x180086e56
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
lea rdx, [rbp - 0x40]
mov rcx, qword [rax + rcx*8]
mov qword [rbp - 0x40], r10
mov rcx, qword [rcx + 0x38]
call fcn.180062410
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088c01
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
mov rcx, qword [rbp - 0x40]
mov qword [rax], rcx
jmp 0x180086c76
mov r12d, dword [rsi + 4]
mov rdi, qword [rsi + 0x10]
mov dword [rsp + 0x58], r12d
test r12d, r12d
jne 0x1800887c6
cmp dword [r13 + 0xd0], r10d
jg 0x18008b95e
mov rcx, rdi
call fcn.1800684b4
mov rbx, qword [rsp + 0x40]
xor edx, edx
mov r8d, dword [rbx + 0x2a0]
mov rcx, rbx
movsxd r13, eax
add r8d, dword [rbx + 0x29c]
call fcn.1800836a8
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x18008bd78
lea rdx, [r13 + 0x21]
mov rcx, rbx
call fcn.1800686cc
xor r10d, r10d
mov rbx, rax
test rax, rax
je 0x18008b6d0
lea rcx, [rax + 0x20]
lea r8d, [r13 + 1]
mov rdx, rdi
movsxd r8, r8d
mov qword [rax], rcx
call fcn.1800ca790
mov r13, qword [rsp + 0x40]
xor r10d, r10d
lea r11d, [r12 + 1]
cmp byte [r13 + 0x5f], r10b
je 0x180088792
mov byte [r13 + 0x5f], r10b
mov byte [r13 + 0x67], r11b
jmp 0x180088799
add dword [r13 + 0x29c], r11d
mov rax, qword [r13 + 0x290]
mov qword [rbx + 0x18], rax
mov rax, qword [r13 + 0x2a8]
mov qword [r13 + 0x290], rbx
mov qword [rbx + 8], rax
mov rax, qword [r13 + 0x2b0]
mov qword [rbx + 0x10], rax
jmp 0x1800879d5
mov r11, qword [rsp + 0x40]
mov r13d, r10d
mov rbx, qword [r11 + 0x290]
test rbx, rbx
je 0x18008b9cb
mov r15d, 1
mov rcx, qword [rbx]
mov rdx, rdi
call fcn.180068474
xor r10d, r10d
test eax, eax
je 0x180088802
mov rbx, qword [rbx + 0x18]
add r13d, r15d
test rbx, rbx
jne 0x1800887e4
mov r15, qword [rbp + 0x220]
test rbx, rbx
je 0x18008b9cb
mov ecx, 1
cmp dword [r11 + 0xd0], r10d
jle 0x180088829
cmp r12d, ecx
je 0x18008b975
cmp qword [rbx + 0x18], r10
jne 0x180088890
cmp byte [r11 + 0x67], r10b
je 0x180088890
mov edi, ecx
mov dword [rsp + 0x7c], ecx
cmp r12d, ecx
jne 0x180088895
mov edx, ecx
mov rcx, r15
call fcn.18008dca4
mov r14d, eax
test eax, eax
jne 0x18008bd8e
mov r8, qword [rsp + 0x40]
lea eax, [r14 + 1]
mov rcx, r15
mov byte [r8 + 0x5f], al
call fcn.18008c4c8
lea r8d, [r14 + 5]
cmp eax, r8d
je 0x18008b98c
mov r11, qword [rsp + 0x40]
xor eax, eax
mov byte [r11 + 0x67], al
mov r14d, dword [r15 + 0x38]
mov dword [rsp + 0x34], r14d
jmp 0x1800889ba
mov dword [rsp + 0x7c], r10d
mov eax, dword [r11 + 0x29c]
mov edx, 2
sub eax, r13d
sub eax, ecx
mov dword [rsp + 0x50], eax
cmp r12d, edx
jne 0x180088913
mov r13d, dword [r11 + 0x2c]
mov r12d, r10d
and r13d, ecx
cmp dword [r11 + 0x28], r10d
jle 0x180088916
mov eax, r10d
test r13d, r13d
mov rdi, r10
sete al
mov dword [rsp + 0x54], eax
mov rcx, qword [r11 + 0x20]
mov r8d, eax
mov edx, 0x204
mov rcx, qword [rdi + rcx + 8]
call fcn.180060de8
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800898f1
mov r11, qword [rsp + 0x40]
mov eax, dword [rsp + 0x54]
inc r12d
add rdi, 0x20
cmp r12d, dword [r11 + 0x28]
jl 0x1800888cf
mov eax, dword [rsp + 0x50]
jmp 0x180088916
mov r13d, r10d
mov r12d, r10d
cmp dword [r11 + 0x28], r10d
jle 0x18008895f
mov rdi, r10
mov rcx, qword [r11 + 0x20]
mov edx, dword [rsp + 0x58]
mov r8d, eax
mov rcx, qword [rdi + rcx + 8]
call fcn.180060a08
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800898f1
mov r11, qword [rsp + 0x40]
mov eax, dword [rsp + 0x50]
inc r12d
add rdi, 0x20
cmp r12d, dword [r11 + 0x28]
jl 0x180088922
test r13d, r13d
je 0x180088984
xor edx, edx
mov rcx, r11
call fcn.180080ca8
mov rcx, r11
call fcn.18006cca8
mov r11, qword [rsp + 0x40]
mov eax, 1
or dword [r11 + 0x2c], eax
mov edi, dword [rsp + 0x7c]
mov r13d, dword [rsp + 0x50]
mov r12d, dword [rsp + 0x58]
jmp 0x1800889ba
mov rdx, qword [r11 + 0x290]
mov rcx, r11
mov rax, qword [rdx + 0x18]
mov qword [r11 + 0x290], rax
call fcn.180068a1c
mov r11, qword [rsp + 0x40]
dec dword [r11 + 0x29c]
cmp qword [r11 + 0x290], rbx
jne 0x180088994
mov eax, 1
cmp r12d, eax
jne 0x1800889f8
mov rax, qword [rbx + 0x18]
mov rdx, rbx
mov rcx, r11
mov qword [r11 + 0x290], rax
call fcn.180068a1c
xor r10d, r10d
test edi, edi
jne 0x180088a67
mov r8, qword [rsp + 0x40]
dec dword [r8 + 0x29c]
jmp 0x180088a1e
mov rax, qword [rbx + 8]
xor r10d, r10d
mov qword [r11 + 0x2a8], rax
mov rax, qword [rbx + 0x10]
mov qword [r11 + 0x2b0], rax
test edi, edi
je 0x180088a1e
lea r9d, [r10 + 2]
cmp r12d, r9d
jne 0x180088a6e
mov r8d, r13d
mov r13, qword [rsp + 0x40]
mov edx, r12d
mov rcx, r13
call fcn.1800836a8
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088c01
mov r9d, 2
test r14d, r14d
jne 0x180088c01
mov r12, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x38]
mov r11d, 1
jmp 0x180086b8a
mov r13, qword [rsp + 0x40]
jmp 0x180088a43
mov r13, qword [rsp + 0x40]
jmp 0x180088a49
mov edx, dword [rsi + 8]
mov ebx, r10d
mov dword [rsp + 0x7c], ebx
test edx, edx
je 0x180088a92
mov eax, dword [r13 + 0x30]
bt rax, 0x14
jb 0x18008b9f3
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rdi, qword [rcx + rax + 8]
test rdi, rdi
je 0x180088b69
lea r8, [rsp + 0x7c]
mov rcx, rdi
call fcn.180060370
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x18008b9fb
lea r11d, [rax + 1]
cmp dword [rsi + 8], r10d
je 0x180088b65
lea eax, [r11 + 0x7f]
test byte [r15 + 0xc8], al
je 0x180088b65
cmp byte [r13 + 0x5f], r10b
je 0x180088af5
cmp dword [r13 + 0xcc], r11d
jle 0x180088b65
cmp dword [r15 + 0x40], r10d
jne 0x180088b14
add dword [r13 + 0x2a0], r11d
mov edx, dword [r13 + 0x2a0]
add edx, dword [r13 + 0x29c]
mov dword [r15 + 0x40], edx
mov r8d, dword [r15 + 0x40]
xor edx, edx
mov rcx, r13
sub r8d, r11d
call fcn.1800836a8
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088b49
mov edx, dword [r15 + 0x40]
mov rcx, rdi
call fcn.18006081c
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
mov rax, qword [r13 + 0x2a8]
mov r11d, 1
mov qword [r15 + 0x58], rax
mov rax, qword [r13 + 0x2b0]
mov qword [r15 + 0x60], rax
mov ebx, dword [rsp + 0x7c]
cmp word [rsi + 2], r10w
je 0x180088bf8
cmp ebx, dword [rsi + 0xc]
jne 0x180088b92
mov rax, qword [r13 + 0x20]
movsxd rcx, dword [rsi + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rsi + 0x10]
cmp dword [rcx + 4], eax
je 0x180088bf8
mov rdx, qword [r15 + 0xa8]
mov rcx, r13
call fcn.180068a1c
lea rdx, str.database_schema_has_changed
mov rcx, r13
call fcn.18006873c
mov qword [r15 + 0xa8], rax
movsxd rdx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], ebx
je 0x180088bd7
mov rcx, r13
call fcn.18006cd2c
and dword [r15 + 0xc8], 0xfffffffd
mov r11d, 1
or dword [r15 + 0xc8], r11d
lea r14d, [r11 + 0x10]
xor r10d, r10d
mov dword [rsp + 0x34], r14d
test r14d, r14d
je 0x1800879da
mov r12d, 1
mov edi, dword [rsp + 0x30]
mov ebx, 7
cmp byte [r13 + 0x61], r10b
cmovne r14d, ebx
cmp qword [r15 + 0xa8], r10
jne 0x180088c44
cmp r14d, 0xc0a
je 0x180088c44
mov ecx, r14d
call fcn.18007f470
lea rdx, [0x18013fd40]
mov rcx, r15
mov r8, rax
call fcn.1800863d0
mov edx, r14d
mov rcx, r13
mov dword [r15 + 0x38], r14d
call fcn.18007f30c
mov r9, qword [r15 + 0xf0]
mov rcx, rsi
sub rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov rax, qword [r15 + 0xa8]
mov ecx, r14d
sar rdx, 2
mov qword [rsp + 0x20], rax
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.18005f3ec
mov rcx, r15
call fcn.18008c4c8
cmp r14d, 0xc0a
jne 0x180088cb1
mov rcx, r13
call fcn.180082e04
mov al, byte [rbp + 0x230]
mov r14d, r12d
test al, al
je 0x18008bd9c
movzx edx, al
mov rcx, r13
sub edx, r12d
call fcn.18006cd2c
jmp 0x18008bd9c
movsxd rax, dword [rsi + 4]
mov rcx, qword [r13 + 0x20]
mov edx, dword [rsi + 0xc]
shl rax, 5
lea r8, [rbp - 0x18]
mov rcx, qword [rax + rcx + 8]
call fcn.180060e90
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
movsxd rcx, dword [rbp - 0x18]
jmp 0x1800886df
movsxd rbx, dword [rsi + 4]
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 8]
shl rbx, 5
add rbx, qword [r13 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.180060f04
mov r11d, 1
mov r14d, eax
mov dword [rsp + 0x34], eax
lea r9d, [r11 + 1]
cmp dword [rsi + 8], r11d
jne 0x180088d48
mov rcx, qword [rbx + 0x18]
mov eax, dword [rsi + 0xc]
mov dword [rcx], eax
or dword [r13 + 0x2c], r11d
jmp 0x180088d58
cmp dword [rsi + 8], r9d
jne 0x180088d58
mov rcx, qword [rbx + 0x18]
mov al, byte [rsi + 0xc]
mov byte [rcx + 0x70], al
cmp dword [rsi + 4], r11d
jne 0x180088d70
xor edx, edx
mov rcx, r13
call fcn.180080ca8
and dword [r15 + 0xc8], 0xfffffffc
xor r10d, r10d
test r14d, r14d
je 0x18008721a
mov r12, r11
jmp 0x180088c07
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je case.0x180086aa8.97
mov eax, dword [rsi + 8]
cmp dword [rbx + 0x4c], eax
je 0x180088ed1
mov eax, dword [r15 + 0xc8]
and al, 3
cmp al, r11b
je 0x18008ba3c
movsxd rdx, dword [rsi + 0xc]
mov r8, qword [rsp + 0x40]
movsxd r13, dword [rsi + 8]
mov rax, rdx
mov r14d, r10d
mov r12, r10
shl rax, 5
mov dword [rsp + 0x54], edx
add rax, qword [r8 + 0x20]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x60], rcx
cmp dil, 0x62
jne 0x180088e0b
movzx edi, word [rsi + 2]
mov rax, qword [rax + 0x18]
mov ecx, 4
and edi, 8
or edi, ecx
mov cl, byte [rax + 0x70]
cmp cl, byte [r15 + 0xc3]
jae 0x180088e0e
mov byte [r15 + 0xc3], cl
jmp 0x180088e0e
mov edi, r10d
mov eax, 0x10
test byte [rsi + 2], al
je 0x180088e36
imul rbx, r13, 0x38
mov rax, r13
add rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.18008cd94
mov r13d, dword [rbx]
mov edx, dword [rsp + 0x54]
xor r10d, r10d
mov al, byte [rsi + 1]
cmp al, 0xf7
jne 0x180088e49
mov r12, qword [rsi + 0x10]
movzx r14d, word [r12 + 8]
jmp 0x180088e51
cmp al, 0xfd
jne 0x180088e51
mov r14d, dword [rsi + 0x10]
mov r9d, edx
mov edx, dword [rsi + 4]
mov r8d, r14d
mov rcx, r15
mov byte [rsp + 0x20], r10b
call fcn.1800a42b4
mov rbx, rax
test rax, rax
je 0x18008810a
mov r9, qword [rbx + 0x38]
mov rcx, qword [rsp + 0x60]
mov eax, 1
mov byte [rbx + 2], al
mov qword [rsp + 0x20], r9
mov eax, 4
or dword [rbx + 8], eax
mov r9, r12
mov r8d, edi
mov edx, r13d
mov dword [rbx + 0x4c], r13d
call fcn.180060fd0
mov r13, qword [rsp + 0x40]
mov qword [rbx + 0x40], r12
cmp byte [rsi + 1], 0xf7
mov r12, qword [rsp + 0x48]
mov r14d, eax
mov dword [rsp + 0x34], eax
setne al
xor r10d, r10d
lea r11d, [r10 + 1]
lea r9d, [r10 + 2]
lea r8d, [r10 + 8]
mov byte [rbx + 4], al
movzx edx, word [rsi + 2]
mov rcx, qword [rbx + 0x38]
and edx, 3
call fcn.180061078
test r14d, r14d
jne 0x180088c01
jmp 0x18008b83a
movsxd rcx, dword [rsi + 8]
mov rax, qword [r15 + 0x78]
mov edx, dword [rsi + 4]
mov rbx, qword [rax + rcx*8]
or r9d, 0xffffffff
mov rcx, r15
movsx r8d, word [rbx + 0x50]
mov byte [rsp + 0x20], r10b
call fcn.1800a42b4
mov r10, rax
test rax, rax
je 0x18008810f
mov eax, 1
or dword [r10 + 8], eax
mov byte [r10 + 2], al
mov r9, qword [rbx + 0x40]
mov qword [r10 + 0x40], r9
mov cl, byte [rbx + 4]
mov byte [r10 + 4], cl
mov edx, dword [rbx + 0x4c]
mov ecx, 4
mov dword [r10 + 0x4c], edx
mov eax, dword [rbx + 8]
mov r8d, ecx
xor eax, dword [r10 + 8]
and eax, ecx
xor dword [r10 + 8], eax
mov rax, qword [r10 + 0x38]
mov rcx, qword [rbx + 0x10]
mov qword [rsp + 0x20], rax
call fcn.180060fd0
mov r14d, eax
mov dword [rsp + 0x34], eax
jmp 0x180086e67
movsxd rdx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x180088fd0
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], r10
mov dword [rbx + 0x28], r10d
test rcx, rcx
je 0x180088fb9
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
call fcn.180060d48
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
lea r11d, [r10 + 1]
lea r9d, [r10 + 2]
lea r8d, [r10 + 8]
mov edx, 4
test r14d, r14d
jne 0x180088c01
mov byte [rbx + 2], r11b
jmp 0x1800875cf
mov r8d, dword [rsi + 8]
or r9d, 0xffffffff
mov rcx, r15
mov byte [rsp + 0x20], r10b
call fcn.1800a42b4
mov rbx, rax
test rax, rax
je 0x18008810f
mov eax, 1
lea rdi, [rbx + 0x10]
mov dword [rsp + 0x28], 0x41e
or dword [rbx + 8], eax
movzx ecx, word [rsi + 2]
mov r8, r13
or ecx, 5
mov r9, rdi
xor edx, edx
mov dword [rsp + 0x20], ecx
mov rcx, qword [r13]
call fcn.18005f928
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800890b6
mov rcx, qword [rdi]
lea edx, [rax + 1]
xor r8d, r8d
call fcn.180060370
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800890b6
mov r12, qword [rsi + 0x10]
mov qword [rbx + 0x40], r12
test r12, r12
je 0x1800890e5
movzx r8d, word [rsi + 2]
mov rcx, qword [rdi]
lea rdx, [rbx + 0x4c]
or r8d, 2
call fcn.180060868
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800890a8
mov rax, qword [rbx + 0x38]
mov edx, dword [rbx + 0x4c]
mov rcx, qword [rdi]
lea r8d, [r14 + 4]
mov r9, r12
mov qword [rsp + 0x20], rax
call fcn.180060fd0
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov byte [rbx + 4], r10b
mov r11d, 1
mov r8d, 8
mov eax, r10d
cmp word [rsi + 2], r8w
lea edx, [r8 - 4]
lea r9d, [r8 - 6]
setne al
shl eax, 2
xor eax, dword [rbx + 8]
and eax, edx
xor dword [rbx + 8], eax
jmp 0x180088fbe
mov rax, qword [rbx + 0x38]
mov ecx, 1
xor r9d, r9d
lea r8d, [rcx + 3]
mov dword [rbx + 0x4c], ecx
mov edx, ecx
mov rcx, qword [rdi]
mov qword [rsp + 0x20], rax
call fcn.180060fd0
mov r12, qword [rsp + 0x48]
mov r11d, 1
mov byte [rbx + 4], r11b
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
jmp 0x1800890bc
mov r8d, dword [rsi + 8]
mov edx, dword [rsi + 4]
or r9d, 0xffffffff
mov rcx, r15
mov byte [rsp + 0x20], r11b
call fcn.1800a42b4
test rax, rax
je 0x18008810f
mov rcx, qword [rsi + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov edx, dword [rsi + 0xc]
mov rcx, r13
call fcn.18008d520
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088c01
jmp 0x180086c79
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 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 0x180087d35
jmp 0x18008b83f
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 4]
or r9d, 0xffffffff
mov rcx, r15
mov byte [rsp + 0x20], 3
call fcn.1800a42b4
xor r10d, r10d
mov rdx, rax
test rax, rax
je 0x18008810f
lea r11d, [r10 + 1]
mov byte [rax + 2], r11b
mov ecx, dword [rsi + 8]
mov byte [rax + 4], r11b
mov dword [rax + 0x2c], ecx
call fcn.180061048
mov qword [rdx + 0x38], rax
jmp 0x180086fa3
movsxd rax, dword [rsi + 4]
mov rdx, qword [r15 + 0x78]
mov rcx, r15
mov rdx, qword [rdx + rax*8]
call fcn.18008641c
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
xor r10d, r10d
mov qword [rax + rcx*8], r10
jmp 0x180086c79
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov ebx, r10d
mov r13, qword [rax + rcx*8]
mov dword [rbp - 0x68], ebx
mov word [r13 + 2], 0
mov dword [r13 + 0x28], r10d
cmp byte [r13 + 4], r10b
je 0x180089359
movsxd rax, dword [rsi + 0xc]
imul rbx, rax, 0x38
add rbx, r12
movzx r12d, word [rbx + 8]
mov al, r12b
and al, 0x2e
cmp al, r9b
jne 0x180089250
xor edx, edx
mov rcx, rbx
call fcn.1800a4414
mov rcx, rbx
call fcn.18008cd68
movzx ecx, word [rbx + 8]
mov word [rbx + 8], r12w
mov qword [rsp + 0x60], rax
test cl, 0x24
jne 0x18008931d
mov r8d, 8
test r8b, cl
jne 0x1800892eb
lea r11d, [r8 - 7]
test r11b, cl
jne 0x18008b1df
cmp edi, 0x18
jge 0x18008b1df
mov rcx, qword [r13 + 0x38]
lea rdx, [rsp + 0x5c]
call fcn.180061d2c
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800898f1
mov r11d, 1
cmp dword [rsp + 0x5c], r10d
jne 0x180089de7
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov edx, 4
lea r11d, [rdx - 3]
lea r8d, [rdx + 4]
cmp dword [rbp - 0x68], r10d
je 0x180087a4a
add rsi, 0x18
jmp 0x180087a4a
movsd xmm1, qword [rbx]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
comisd xmm0, xmm1
jbe 0x18008930b
mov ecx, 1
test cl, dil
je 0x18008931d
sub edi, ecx
jmp 0x18008931d
comisd xmm1, xmm0
jbe 0x18008931d
mov ecx, 1
test cl, dil
jne 0x18008931d
add edi, ecx
lea rcx, [rsp + 0x5c]
xor r9d, r9d
mov r8, rax
mov qword [rsp + 0x20], rcx
mov rcx, qword [r13 + 0x38]
xor edx, edx
call fcn.180061120
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
mov rax, qword [rsp + 0x60]
mov qword [r13 + 0x58], rax
test r14d, r14d
jne 0x1800898f1
jmp 0x1800893e0
mov rcx, qword [r13 + 0x38]
mov edx, r9d
call fcn.1800623cc
lea rdx, [rbp - 8]
test eax, eax
mov rax, qword [r13 + 0x40]
mov byte [rbp + 0xe], r10b
cmovne ebx, r11d
mov qword [rbp - 8], rax
movzx eax, word [rsi + 0x10]
mov word [rbp + 8], ax
mov eax, edi
mov dword [rbp - 0x68], ebx
and al, r11b
neg al
movsxd rax, dword [rsi + 0xc]
sbb cl, cl
xor r9d, r9d
xor r8d, r8d
and cl, 0xfe
add cl, r11b
mov byte [rbp + 0xa], cl
imul rcx, rax, 0x38
lea rax, [rsp + 0x5c]
add rcx, r12
mov qword [rsp + 0x20], rax
mov qword [rbp], rcx
mov rcx, qword [r13 + 0x38]
call fcn.180061120
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800898f1
test ebx, ebx
je 0x1800893e0
cmp byte [rbp + 0xe], r10b
je 0x1800892b0
mov eax, dword [rsp + 0x5c]
cmp edi, 0x18
jl 0x18008943f
test eax, eax
js 0x1800893fe
jne 0x1800893f4
cmp edi, 0x19
je 0x1800893fe
mov dword [rsp + 0x5c], r10d
jmp 0x1800892c1
mov rcx, qword [r13 + 0x38]
xor edx, edx
mov dword [rsp + 0x5c], r10d
call fcn.180061d90
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
je 0x1800892c1
cmp eax, 0x65
jne 0x1800898f1
lea r11d, [rax - 0x64]
mov r14d, r10d
mov dword [rsp + 0x34], r10d
mov dword [rsp + 0x5c], r11d
jmp 0x180089de7
test eax, eax
jg 0x18008945c
jne 0x18008944a
cmp edi, 0x16
je 0x18008945c
mov rcx, qword [r13 + 0x38]
call fcn.180061dd8
mov dword [rsp + 0x5c], eax
jmp 0x1800892b0
mov rcx, qword [r13 + 0x38]
xor edx, edx
mov dword [rsp + 0x5c], r10d
call fcn.180061de8
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
je 0x1800892c1
cmp eax, 0x65
jne 0x1800898f1
lea r11d, [rax - 0x64]
mov r14d, r10d
mov dword [rsp + 0x34], r10d
mov dword [rsp + 0x5c], r11d
jmp 0x1800892b6
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rsi + 8]
shl eax, 3
xor eax, dword [rdx + 8]
and eax, r8d
xor dword [rdx + 8], eax
jmp 0x18008b83f
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
test byte [rcx + 8], r8b
jne case.0x180086aa8.86
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 4]
mov r13, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
imul rdi, rax, 0x38
add rdi, r12
cmp dword [rsi + 0x10], r10d
jle 0x180089519
mov rax, qword [r13 + 0x40]
lea rbx, [rbp + 0xa0]
mov r12, r10
mov qword [rbp + 0xa0], rax
movzx eax, word [rsi + 0x10]
mov qword [rbp + 0xa8], rdi
mov word [rbp + 0xb0], ax
jmp 0x18008956f
mov eax, 0x4000
test word [rdi + 8], ax
je 0x18008952e
mov rcx, rdi
call fcn.18008e230
jmp 0x180089531
mov eax, r10d
test eax, eax
jne 0x18008810a
mov rcx, qword [r13 + 0x40]
call fcn.180064278
mov rbx, rax
mov r12, rax
test rax, rax
je 0x18008810a
mov r8, qword [rdi + 0x10]
mov edx, dword [rdi + 0xc]
mov rcx, qword [r13 + 0x40]
mov r9, rax
call fcn.180063cfc
xor r10d, r10d
lea r11d, [r10 + 1]
lea r8d, [r10 + 8]
mov byte [rbx + 0x12], r10b
cmp byte [rsi], 0x1b
mov edi, r10d
jne 0x1800895a2
movzx edx, word [rbx + 0x10]
mov ecx, r10d
test edx, edx
jle 0x1800895a2
mov rax, qword [rbx + 8]
add rax, r8
test byte [rax], r11b
jne 0x18008959f
add ecx, r11d
add rax, 0x38
cmp ecx, edx
jl 0x18008958d
jmp 0x1800895a2
mov edi, r11d
mov rcx, qword [r13 + 0x38]
lea rax, [rbp - 0x28]
xor r9d, r9d
xor r8d, r8d
mov rdx, rbx
mov qword [rsp + 0x20], rax
call fcn.180061120
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test r12, r12
je 0x1800895dc
mov rcx, qword [rsp + 0x40]
mov rdx, r12
call fcn.180068a38
xor r10d, r10d
test r14d, r14d
jne 0x1800898f1
mov eax, dword [rbp - 0x28]
lea r11d, [r14 + 1]
mov ecx, r10d
test eax, eax
mov dword [r13 + 0x2c], eax
mov eax, r11d
sete cl
mov byte [r13 + 3], r10b
mov dword [r13 + 0x28], r10d
sub al, cl
mov byte [r13 + 2], al
cmp byte [rsi], 0x1d
jne 0x180089620
mov rbx, qword [rsp + 0x38]
test ecx, ecx
jne 0x180087d35
jmp 0x180088015
test edi, edi
jne 0x180089de7
mov rbx, qword [rsp + 0x38]
test ecx, ecx
je 0x180087d35
jmp 0x180088015
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rcx, r12
test byte [rcx + 8], 0x24
jne case.0x180086aa8.31
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
mov r8b, byte [rbp + 0x228]
mov dl, 0x43
movups xmmword [rbp + 0xb8], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0xc8], xmm1
movsd xmm1, qword [rcx + 0x30]
movups xmmword [rbp + 0xd8], xmm0
lea rcx, [rbp + 0xb8]
movsd qword [rbp + 0xe8], xmm1
call fcn.1800a4490
mov eax, 4
xor r10d, r10d
test byte [rbp + 0xc0], al
je 0x180087d2f
mov rdi, qword [rbp + 0xb8]
jmp 0x1800896b6
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r12]
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
xor r9d, r9d
mov rbx, qword [rax + rcx*8]
lea rax, [rbp - 0x58]
mov r8, rdi
mov rcx, qword [rbx + 0x38]
xor edx, edx
mov dword [rbp - 0x58], r10d
mov qword [rsp + 0x20], rax
call fcn.180061120
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
mov eax, dword [rbp - 0x58]
mov qword [rbx + 0x58], rdi
mov word [rbx + 2], r10w
mov dword [rbx + 0x28], r10d
mov dword [rbx + 0x2c], eax
test eax, eax
je 0x18008971f
cmp dword [rsi + 8], r10d
jne 0x1800875a8
mov ecx, 0x159cf
call fcn.180068400
mov r14d, eax
mov dword [rsp + 0x34], eax
xor r10d, r10d
test r14d, r14d
jne 0x180088c01
jmp 0x180087645
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
mov rcx, qword [r15 + 0x78]
movsxd rdx, dword [rsi + 4]
mov rdx, qword [rcx + rdx*8]
mov r11d, 1
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r11
jmp 0x180086fa0
mov rbx, r10
mov rdx, rsi
mov rcx, r15
mov qword [rsp + 0x70], rbx
mov dword [rsp + 0x58], r10d
call fcn.1800a45d4
movsxd rdx, dword [rsi + 4]
mov rcx, qword [r15 + 0x78]
mov r9d, 2
mov r13, qword [rcx + rdx*8]
mov r12, rax
test byte [r13 + 8], r9b
jne 0x180089805
mov rcx, qword [r13 + 0x38]
lea rdx, [rsp + 0x58]
call fcn.180061d2c
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800898f1
cmp dword [rsp + 0x58], r10d
je 0x1800897d1
lea eax, [r14 + 1]
lea r9d, [r14 + 2]
mov ebx, eax
mov qword [rsp + 0x70], rax
jmp 0x180089808
mov rcx, qword [r13 + 0x38]
call fcn.180061e24
mov r9d, 2
mov rbx, rax
mov qword [rsp + 0x70], rax
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
jl 0x1800897fd
or dword [r13 + 8], r9d
jmp 0x180089805
inc rbx
mov qword [rsp + 0x70], rbx
xor r10d, r10d
movsxd rdx, dword [rsi + 0xc]
test edx, edx
je 0x180089884
mov rcx, qword [r15 + 0x100]
test rcx, rcx
je 0x180089838
mov rax, qword [rcx + 8]
jmp 0x180089829
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x180089822
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x180089841
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.18008cd94
mov rax, qword [rdi]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x18008ba47
mov r9d, 2
test byte [r13 + 8], r9b
jne 0x18008ba47
inc rax
cmp rbx, rax
cmovl rbx, rax
xor r10d, r10d
mov qword [rsp + 0x70], rbx
mov qword [rdi], rbx
test byte [r13 + 8], r9b
je 0x180089901
mov edi, r10d
lea rdx, [rsp + 0x70]
mov ecx, 8
call fcn.180059ce8
mov rbx, qword [rsp + 0x70]
mov rcx, qword [r13 + 0x38]
movabs rax, 0x3fffffffffffffff
xor r9d, r9d
xor edx, edx
and rbx, rax
lea rax, [rsp + 0x58]
inc rbx
mov qword [rsp + 0x20], rax
mov r8, rbx
mov qword [rsp + 0x70], rbx
call fcn.180061120
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x1800898f1
cmp dword [rsp + 0x58], r10d
jne 0x1800898fb
inc edi
cmp edi, 0x64
jl 0x18008988d
lea r14d, [rax + 0xd]
mov r13, qword [rsp + 0x40]
jmp 0x180088c01
mov r9d, 2
mov byte [r13 + 3], r10b
mov dword [r13 + 0x28], r10d
mov r13, qword [rsp + 0x40]
mov qword [r12], rbx
jmp 0x180088a52
movsxd rax, dword [rsi + 8]
movsxd rcx, dword [rsi + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
add rdx, r12
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
cmp byte [rsi + 1], 0xfa
mov r8, qword [rcx + r12]
mov qword [rbp + 0x78], r8
jne 0x180089964
cmp qword [r13 + reloc.WLDAP32.dll_Ordinal_304], r10
je 0x180089964
movsx rcx, byte [rbx + 1]
mov rax, qword [r13 + 0x20]
mov rdi, qword [rsi + 0x10]
shl rcx, 5
mov r12, qword [rcx + rax]
jmp 0x18008996a
mov rdi, r10
mov r12, r10
test byte [rsi + 2], r11b
je 0x180089974
add dword [r15 + 0x3c], r11d
mov eax, Ordinal_36
test byte [rsi + 2], al
je 0x180089982
mov qword [r13 + 0x38], r8
mov rax, qword [rdx + 0x10]
movzx r8d, word [rsi + 2]
mov qword [rbp + 0x80], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp + 0x94], eax
mov eax, 0x10
test al, r8b
je 0x1800899ab
mov r9d, dword [rbx + 0x2c]
jmp 0x1800899ae
mov r9d, r10d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x1800899c3
mov eax, dword [rdx]
mov dword [rbp + 0x98], eax
jmp 0x1800899ca
mov dword [rbp + 0x98], r10d
mov qword [rbp + 0x70], r10
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp + 0x70]
and r8d, 0xa
call fcn.180061914
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
test eax, eax
jne 0x180088c01
test rdi, rdi
je 0x18008b6d5
mov al, byte [rsi + 2]
mov r9, qword [rdi]
mov rcx, qword [r13 + 0x128]
and al, 4
mov r8, r12
neg al
mov rax, qword [rbp + 0x78]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r13 + reloc.WLDAP32.dll_Ordinal_304]
jmp 0x180086e62
cmp byte [rsi + 1], 0xfa
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov r13d, dword [rsi + 8]
jne 0x180089a87
mov r8, qword [rsp + 0x40]
cmp qword [r8 + reloc.WLDAP32.dll_Ordinal_304], r10
je 0x180089a87
movsx rcx, byte [rbx + 1]
mov rax, qword [r8 + 0x20]
mov rdi, qword [rsi + 0x10]
shl rcx, 5
mov r12, qword [rcx + rax]
test byte [rsi + 2], r9b
je 0x180089a8d
cmp byte [rbx + 4], r10b
je 0x180089a8d
mov rcx, qword [rbx + 0x38]
call fcn.180061e24
mov qword [rbx + 0x58], rax
jmp 0x180089a8d
mov r12, r10
mov rdi, r10
mov dl, byte [rsi + 2]
mov rcx, qword [rbx + 0x38]
call fcn.180061574
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
mov qword [rbx + 0x28], r10
test eax, eax
jne 0x1800898f1
lea r11d, [rax + 1]
test r11b, r13b
mov r13, qword [rsp + 0x40]
je 0x18008b6bb
add dword [r15 + 0x3c], r11d
mov r10, qword [r13 + reloc.WLDAP32.dll_Ordinal_304]
test r10, r10
je 0x18008b6e9
lea eax, [r14 + 0x20]
test byte [rdi + 0x40], al
jne 0x18008b6e9
mov rax, qword [rbx + 0x58]
mov r9, qword [rdi]
mov rcx, qword [r13 + 0x128]
lea edx, [r14 + 9]
mov r8, r12
mov qword [rsp + 0x20], rax
call r10
jmp 0x180086e62
mov edx, dword [r15 + 0x3c]
mov rcx, r13
call fcn.18007f9d4
mov dword [r15 + 0x3c], r10d
jmp 0x18008b83f
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 4]
mov r8d, dword [rsi + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
lea r9, [rbp - 0x48]
imul rdx, rax, 0x38
add rdx, r12
mov dword [rbp - 0x48], r10d
call fcn.18008db44
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088c01
cmp dword [rbp - 0x48], r10d
lea r11d, [rax + 1]
jmp 0x180087cab
movsxd rax, dword [rsi + 8]
movsxd rcx, dword [rsi + 4]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
add rdx, r12
mov rcx, qword [rax + rcx*8]
call fcn.18008d804
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088c01
movsxd rcx, dword [rsi + 0xc]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r10d
jmp 0x180086c79
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
mov rcx, qword [r15 + 0x78]
movsxd rdx, dword [rsi + 4]
mov rdx, qword [rcx + rdx*8]
mov rbx, rax
mov rdi, qword [rdx + 0x38]
mov rcx, rdi
call fcn.180061e6c
cmp eax, dword [r13 + 0x7c]
ja 0x18008bb23
mov r9, rbx
mov r8d, eax
xor edx, edx
mov rcx, rdi
call fcn.18008d014
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088c01
cmp dword [rsi + 0xc], r10d
jne 0x18008b6da
mov eax, 0x1000
test word [rbx + 8], ax
je 0x18008b6da
mov rcx, rbx
call fcn.18008cc60
xor r10d, r10d
test eax, eax
jne 0x18008810f
jmp 0x180087645
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
movsxd rdx, dword [rsi + 4]
mov rcx, qword [r15 + 0x78]
mov rbx, qword [rcx + rdx*8]
xor r10d, r10d
mov rdi, rax
cmp byte [rbx + 2], r10b
je 0x180089c57
lea r11d, [r10 + 1]
mov word [rax + 8], r11w
jmp 0x1800879da
cmp byte [rbx + 3], r10b
je 0x180089c63
mov rax, qword [rbx + 0x58]
jmp 0x180089cdb
mov edx, 2
cmp byte [rbx], dl
jne 0x180089ca1
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp - 0x20]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_96]
mov rdx, rbx
mov rcx, r15
mov r14d, eax
mov dword [rsp + 0x34], eax
call fcn.180083790
xor r10d, r10d
test r14d, r14d
jne 0x180088c01
mov rax, qword [rbp - 0x20]
jmp 0x180089cdf
mov rcx, rbx
call fcn.1800864ec
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088c01
cmp byte [rbx + 2], r10b
je 0x180089ccf
lea r11d, [rax + 1]
mov word [rdi + 8], r11w
jmp 0x1800879da
mov rcx, qword [rbx + 0x38]
call fcn.180061e24
xor r10d, r10d
mov qword [rbp - 0x20], rax
mov qword [rdi], rax
jmp 0x180087645
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
mov byte [rcx + 2], r11b
mov dword [rcx + 0x28], r10d
cmp byte [rcx], r10b
jne 0x180087a4a
mov rcx, qword [rcx + 0x38]
call fcn.1800622f0
jmp 0x180086c76
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov dword [rbp - 0x5c], r10d
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
cmp dil, 0x82
jne 0x180089d3d
or dword [rbx + 0x2c], 0xffffffff
call fcn.180062400
test eax, eax
jne 0x180087a4a
lea rdx, [rbp - 0x5c]
call fcn.180061d2c
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
mov eax, dword [rbp - 0x5c]
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
mov byte [rbx + 2], al
test r14d, r14d
jne 0x180088c01
lea r11d, [r14 + 1]
cmp dword [rsi + 8], r10d
jle 0x18008b6c0
mov rbx, qword [rsp + 0x38]
jmp 0x180087ca9
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
lea rdx, [rbp - 0x60]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.180061ce8
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088c01
cmp dword [rbp - 0x60], r10d
jne 0x1800875a8
mov rcx, rbx
call fcn.1800621d8
xor r10d, r10d
test rax, rax
js 0x18008b6da
mov rcx, rax
call fcn.18007e6a4
lea r11d, [r14 + 1]
movsx ecx, ax
cmp ecx, dword [rsi + 0xc]
jge 0x18008b6c0
mov dword [rbp - 0x60], r11d
mov rbx, qword [rsp + 0x38]
jmp 0x180087d35
add dword [r15 + 0xdc], r11d
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov dword [rbp - 0x78], r11d
mov rbx, qword [rax + rcx*8]
lea rdx, [rbp - 0x78]
cmp byte [rbx], r11b
jne 0x180089e1e
mov rcx, rbx
call fcn.18008d90c
xor r10d, r10d
jmp 0x180089e32
mov rcx, qword [rbx + 0x38]
call fcn.180061ce8
xor r10d, r10d
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
test eax, eax
jne 0x180088c01
mov eax, dword [rbp - 0x78]
mov byte [rbx + 2], al
mov rbx, qword [rsp + 0x38]
jmp 0x180087ca3
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r13
mov rdx, rbx
call fcn.18008d87c
jmp 0x180089e80
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov edx, dword [rsi + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
call qword [rsi + 0x10]
xor r10d, r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
mov dword [rbx + 0x28], r10d
test eax, eax
jne 0x180089eab
mov byte [rbx + 2], r10b
movzx eax, word [rsi + 2]
lea r11d, [r14 + 1]
add dword [r15 + rax*4 + 0xd4], r11d
jmp 0x18008b341
cmp r14d, 0x65
jne 0x180088c01
mov r11d, 1
mov r14d, r10d
mov dword [rsp + 0x34], r10d
mov byte [rbx + 2], r11b
jmp 0x18008a599
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rbx, r12
test byte [rsi + 2], r11b
je 0x180089eed
add dword [r15 + 0x3c], r11d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x180089f08
mov rcx, rbx
call fcn.18008e230
xor r10d, r10d
mov r14d, eax
jmp 0x180089f0b
mov r14d, r10d
test r14d, r14d
jne 0x180088c01
cmp byte [rsi], 0x83
jne 0x180089f29
mov rdx, rbx
mov rcx, rdi
call fcn.18008d984
xor r10d, r10d
jmp 0x180089f8f
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [rsi + 2]
mov qword [rbp + 0xf8], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0xf0], rax
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rsi + 0x10]
add rcx, r12
mov word [rbp + 0x110], ax
mov eax, 0x10
mov qword [rbp + 0x108], rcx
test al, r8b
je 0x180089f71
mov r9d, dword [rdi + 0x2c]
jmp 0x180089f74
mov r9d, r10d
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0xf0]
and r8d, 0xa
call fcn.180061914
xor r10d, r10d
mov dword [rdi + 0x28], r10d
mov dword [rsp + 0x34], eax
mov r14d, eax
jmp 0x18008971f
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
lea rdx, [rbp + 0x40]
mov rbx, qword [rax + rcx*8]
xor r9d, r9d
xor r8d, r8d
mov rax, qword [rbx + 0x40]
mov rdi, qword [rbx + 0x38]
mov byte [rbp + 0x52], r10b
mov qword [rbp + 0x40], rax
movzx eax, word [rsi + 0xc]
mov word [rbp + 0x50], ax
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
lea rax, [rbp - 0x14]
add rcx, r12
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x48], rcx
mov rcx, rdi
call fcn.180061120
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088c01
cmp dword [rbp - 0x14], r10d
jne 0x18008a01e
lea edx, [rax + 4]
mov rcx, rdi
call fcn.180061574
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088c01
mov qword [rbx + 0x28], 0
jmp 0x180087645
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
call fcn.1800864ec
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088c01
cmp byte [rbx + 2], r10b
jne 0x18008a0c8
mov rdx, qword [rbx + 0x38]
lea r8, [rbp - 0x80]
mov rcx, r13
mov qword [rbp - 0x80], r10
call fcn.180086878
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088c01
cmp byte [rsi], 0x86
jne 0x18008a0b1
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 0xc]
lea r11d, [r14 + 1]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 0x80]
mov word [rdx + 2], 0x100
mov qword [rdx + 0x58], rax
mov rax, qword [rsi + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x1800879da
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
mov rcx, qword [rbp - 0x80]
mov qword [rax], rcx
jmp 0x180086e67
movsxd rax, dword [rsi + 8]
imul rcx, rax, 0x38
add rcx, r12
jmp 0x180087b9d
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
cmp dil, 0x27
mov rdx, qword [rax + rcx*8]
lea r9, [rbp - 0x74]
lea r8, [rbp + 0x58]
mov rax, qword [rdx + 0x40]
mov dword [rbp - 0x74], r10d
mov qword [rbp + 0x58], rax
movzx eax, word [rsi + 0x10]
mov word [rbp + 0x68], ax
sbb al, al
mov byte [rbp + 0x6a], al
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
add rcx, r12
mov qword [rbp + 0x60], rcx
mov rcx, r13
call fcn.1800867cc
mov r11d, 1
mov r14d, eax
mov dword [rsp + 0x34], eax
mov eax, dword [rbp - 0x74]
test byte [rsi], r11b
je 0x18008a139
neg eax
jmp 0x18008a13c
add eax, r11d
xor r10d, r10d
test r14d, r14d
jne 0x180088d7c
test eax, eax
jg 0x180087d35
jmp 0x180086fa3
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
mov rbx, rax
mov eax, 1
mov word [rbx + 8], ax
mov ecx, dword [r13 + 0xd8]
add ecx, eax
cmp dword [r13 + 0xcc], ecx
jg 0x18008ba52
movsxd rdi, dword [rsi + 0xc]
mov rcx, qword [r13 + 0x20]
mov edx, dword [rsi + 4]
xor eax, eax
mov r9, rdi
lea r8, [rbp - 0x64]
shl r9, 5
mov dword [rbp - 0x64], eax
mov rcx, qword [r9 + rcx + 8]
call fcn.180060cfc
movsxd r8, dword [rbp - 0x64]
mov edx, 4
xor r10d, r10d
mov word [rbx + 8], dx
mov qword [rbx], r8
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088c01
test r8d, r8d
je 0x18008b6f3
mov r9d, dword [rsi + 4]
mov edx, edi
mov rcx, r13
call fcn.18007fd68
lea r11d, [r14 + 1]
lea eax, [r11 + rdi]
mov byte [rbp + 0x230], al
jmp 0x180086f9b
mov eax, dword [rsi + 0xc]
mov rcx, qword [r13 + 0x20]
mov edx, dword [rsi + 4]
neg eax
lea rax, [rbp - 0x44]
mov dword [rbp - 0x44], r10d
sbb r8, r8
and r8, rax
movsxd rax, dword [rsi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.180060d48
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
cmp dword [rsi + 0xc], r10d
je 0x18008a249
movsxd rdx, dword [rbp - 0x44]
add dword [r15 + 0x3c], edx
cmp dword [rsi + 0xc], r10d
jle 0x18008a249
movsxd rax, dword [rsi + 0xc]
imul rcx, rax, 0x38
add qword [rcx + r12], rdx
test r14d, r14d
jmp 0x180089165
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r11b
jne 0x18008a273
mov rdx, qword [rcx + 0x38]
mov rcx, r13
call fcn.18008d6dc
jmp 0x180086c76
mov rcx, qword [rcx + 0x38]
call fcn.180060dd0
jmp 0x180089159
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
movsxd rcx, dword [rsi + 4]
mov r8d, dword [rsi + 0xc]
shl rcx, 5
mov rbx, rax
xor eax, eax
add rcx, qword [r13 + 0x20]
lea rdx, [rsp + 0x54]
mov dword [rsp + 0x54], eax
mov rcx, qword [rcx + 8]
call fcn.180060868
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x180088c01
movsxd rax, dword [rsp + 0x54]
mov qword [rbx], rax
jmp 0x180087645
add byte [r13 + 0x6a], r11b
mov rdx, qword [rsi + 0x10]
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
mov qword [rsp + 0x20], r10
call fcn.1800589a8
dec byte [r13 + 0x6a]
jmp 0x180089159
mov rcx, qword [rsi + 0x10]
movsxd rbx, dword [rsi + 4]
test rcx, rcx
jne 0x18008a355
mov rcx, qword [r13 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1800826a0
and dword [r13 + 0x2c], 0xffffffef
lea r8, [r15 + 0xa8]
mov r9d, 1
mov edx, ebx
mov rcx, r13
call fcn.18006a240
mov r11d, 1
or dword [r13 + 0x2c], r11d
and dword [r15 + 0xc8], 0xfffffffc
mov r14d, eax
mov dword [rsp + 0x34], eax
xor r10d, r10d
jmp 0x18008a416
mov r8, qword [r13 + 0x20]
lea rax, [r15 + 0xa8]
mov qword [rbp + 0x10], r13
mov qword [rbp + 0x18], rax
mov dword [rbp + 0x20], ebx
mov dword [rbp + 0x28], r10d
mov qword [rsp + 0x20], rcx
mov rax, rbx
lea r9, str.sqlite_master
shl rax, 5
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rcx, r13
mov r8, qword [rax + r8]
call fcn.180068d54
xor edi, edi
mov rbx, rax
test rax, rax
je 0x18008ba67
lea eax, [rdi + 1]
lea r9, [rbp + 0x10]
lea r8, [fcn.18006a070]
mov rdx, rbx
mov rcx, r13
mov dword [rbp + 0x24], edi
mov byte [r13 + 0xb5], al
mov dword [rbp + 0x2c], edi
mov qword [rsp + 0x20], rdi
call fcn.1800589a8
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x18008a3fd
mov r14d, dword [rbp + 0x24]
mov dword [rsp + 0x34], r14d
test r14d, r14d
jne 0x18008a3fd
cmp dword [rbp + 0x2c], edi
jne 0x18008a3fd
mov ecx, 0x15f51
call fcn.180068400
mov r14d, eax
mov dword [rsp + 0x34], eax
mov rdx, rbx
mov rcx, r13
call fcn.180068a38
xor r10d, r10d
lea r11d, [r10 + 1]
mov byte [r13 + 0xb5], r10b
test r14d, r14d
jne 0x18008ba6d
jmp 0x1800879da
mov edx, dword [rsi + 4]
mov rcx, r13
call fcn.1800822e0
jmp 0x180089159
mov r8, qword [rsi + 0x10]
mov edx, dword [rsi + 4]
mov rcx, r13
call fcn.180078788
jmp 0x180086c76
mov r8, qword [rsi + 0x10]
mov edx, dword [rsi + 4]
mov rcx, r13
call fcn.1800787d0
jmp 0x180086c76
mov r8, qword [rsi + 0x10]
mov edx, dword [rsi + 4]
mov rcx, r13
call fcn.18007d280
jmp 0x180086c76
movsxd rax, dword [rsi + 0xc]
mov rcx, qword [r13 + 0x20]
mov rdx, qword [rsi + 0x10]
imul rdi, rax, 0x38
movsxd rax, dword [rsi + 4]
lea r8, [rbp - 0x10]
add rdi, r12
mov r9d, dword [rdi]
mov qword [rsp + 0x20], r8
mov r8d, dword [rsi + 8]
imul rbx, rax, 0x38
movzx eax, word [rsi + 2]
add r9d, r11d
add rdx, 4
shl rax, 5
add rbx, r12
mov rcx, qword [rax + rcx + 8]
call fcn.180061ea4
mov rcx, rbx
mov r12, rax
call fcn.18008cba4
mov edx, dword [rbp - 0x10]
test edx, edx
je 0x18008a4fb
test r12, r12
je 0x18008810f
dec edx
lea rax, [fcn.180059c0c]
mov r9d, 1
movsxd r8, edx
mov rdx, r12
mov rcx, rbx
sub qword [rdi], r8
or r8d, 0xffffffff
mov qword [rsp + 0x20], rax
call fcn.18008c928
movzx edx, byte [rbp + 0x228]
mov rcx, rbx
call fcn.18008c7a0
jmp 0x180086e62
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rsi + 8]
imul rdi, rax, 0x38
add rbx, r12
mov eax, 0x10
test byte [rbx + 8], al
jne 0x18008a53c
mov rcx, rbx
call fcn.18008cc08
test eax, eax
jne 0x18008810f
mov rdx, qword [rdi + r12]
mov rcx, qword [rbx + 0x10]
call fcn.18006f2b0
jmp 0x180086e67
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
mov eax, 0x10
add rbx, r12
test byte [rbx + 8], al
je 0x18008a5ff
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x30]
call fcn.18006f40c
test eax, eax
je 0x18008a5ff
movsxd rax, dword [rsi + 0xc]
mov rdx, qword [rbp + 0x30]
imul rcx, rax, 0x38
add rcx, r12
call fcn.18008caf0
xor r10d, r10d
mov r11d, 1
mov rbx, qword [rsp + 0x38]
mov eax, dword [r13 + 0x170]
mov edi, dword [rsp + 0x30]
test eax, eax
jne 0x18008bd41
mov r12d, dword [rbp + 0x238]
cmp r12d, edi
jb 0x18008b6bb
mov rax, qword [r13 + 0x1c0]
test rax, rax
je 0x18008b6d5
add edi, dword [r13 + 0x1d0]
mov rcx, qword [r13 + 0x1c8]
mov dword [rsp + 0x30], edi
call rax
xor r10d, r10d
test eax, eax
jne 0x18008bb01
cmp r12d, edi
jae 0x18008a5c1
mov r12, qword [rsp + 0x48]
jmp 0x180086c79
mov rcx, rbx
call fcn.18008cba4
xor r10d, r10d
jmp 0x18008b33b
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
imul rdi, rax, 0x38
add rbx, r12
mov eax, 0x10
add rdi, r12
mov r12d, dword [rsi + 0x10]
test byte [rbx + 8], al
jne 0x18008a646
mov rcx, rbx
call fcn.18008cc08
xor r10d, r10d
test eax, eax
jne 0x18008810f
test r12d, r12d
je 0x18008a668
mov r8, qword [rdi]
mov rcx, qword [rbx + 0x10]
mov edx, r12d
call fcn.18006f308
xor r10d, r10d
test eax, eax
jne 0x1800875a8
test r12d, r12d
js 0x18008aeca
mov rdx, qword [rdi]
mov rcx, qword [rbx + 0x10]
call fcn.18006f2b0
jmp 0x180086e62
movsxd rax, dword [rsi + 0xc]
mov r12, qword [rsi + 0x10]
imul r13, rax, 0x38
add r13, qword [rsp + 0x48]
cmp word [rsi + 2], r10w
je 0x18008a6c0
mov rax, qword [r15 + 0x100]
mov rcx, qword [r12 + 0x20]
test rax, rax
je 0x18008a6c0
cmp qword [rax + 0x38], rcx
je 0x18008a6b7
mov rax, qword [rax + 8]
test rax, rax
jne 0x18008a6a8
test rax, rax
jne 0x180087708
mov r8, qword [rsp + 0x40]
mov eax, dword [r8 + 0xa4]
cmp dword [r15 + 0x110], eax
jge 0x18008ba95
mov eax, 0x10
test byte [r13 + 8], al
jne 0x18008a8d2
mov edx, dword [r12 + 0x10]
mov edi, dword [r12 + 0xc]
add edi, edx
test edx, edx
jne 0x18008a6fb
add edi, r11d
lea eax, [rdi + 2]
mov r9d, 7
imul ecx, eax, 7
mov eax, dword [r12 + 8]
add ecx, edx
add eax, r9d
cdq
and edx, r9d
add eax, edx
sar eax, 3
lea eax, [rax + rcx*8]
mov rcx, r8
movsxd rdx, eax
mov dword [rsp + 0x54], eax
call fcn.180068678
mov rbx, rax
test rax, rax
je 0x18008810a
mov rcx, r13
call fcn.18008d080
sub rsi, qword [rsp + 0x38]
mov qword [r13 + 0x10], rbx
mov eax, 0x410
mov word [r13 + 8], ax
mov eax, dword [rsp + 0x54]
mov dword [r13 + 0xc], eax
lea rax, [0x18008d334]
mov qword [r13 + 0x30], rax
mov r13, qword [rsp + 0x40]
mov qword [rbx], r15
mov dword [rbx + 0x60], edi
mov ecx, dword [r12 + 0x10]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
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 [r15 + 0x68]
mov qword [rbx + 0x20], rax
mov eax, dword [r15 + 0x28]
mov dword [rbx + 0x5c], eax
mov rax, qword [r15 + 0x78]
mov qword [rbx + 0x28], rax
mov eax, dword [r15 + 0x2c]
mov dword [rbx + 0x50], eax
mov rax, qword [r15 + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [r15 + 0x90]
mov dword [rbx + 0x58], eax
mov rax, qword [r12 + 0x20]
mov qword [rbx + 0x38], rax
movsxd rax, edi
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x18008a800
mov edx, 0x80
mov word [rax + 8], dx
mov qword [rax + 0x28], r13
add rax, 0x38
cmp rax, rcx
jne 0x18008a7ef
mov r11d, 1
xor r10d, r10d
add dword [r15 + 0x110], r11d
mov rax, qword [r15 + 0x100]
lea rdx, [rbx + 0x70]
mov qword [rbx + 8], rax
mov rax, qword [r13 + 0x38]
mov qword [rsp + 0x48], rdx
mov qword [rbx + 0x40], rax
mov eax, dword [r15 + 0x3c]
mov r8d, 7
mov dword [rbx + 0x68], eax
mov rax, qword [r15]
mov ecx, dword [rax + 0x74]
mov dword [rbx + 0x6c], ecx
mov rax, qword [r15 + 0x120]
mov qword [rbx + 0x48], rax
mov qword [r15 + 0x68], rdx
mov qword [r15 + 0x120], r10
mov dword [r15 + 0x3c], r10d
mov qword [r15 + 0x100], rbx
movsxd rcx, dword [rbx + 0x60]
mov dword [r15 + 0x28], ecx
movzx eax, word [rbx + 0x64]
mov dword [r15 + 0x2c], eax
imul rcx, rcx, 0x38
add rdx, rcx
mov qword [r15 + 0x78], rdx
movsxd rax, dword [r12 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rbx + 0x30], rcx
mov eax, dword [r12 + 8]
add eax, r8d
cdq
and edx, r8d
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1800cadf0
mov rbx, qword [r12]
xor r10d, r10d
mov qword [r15 + 0x88], rbx
mov eax, dword [r12 + 8]
mov qword [rsp + 0x38], rbx
lea rsi, [rbx - 0x18]
lea r11d, [r10 + 1]
mov dword [r15 + 0x90], eax
jmp 0x18008a59e
mov rbx, qword [r13 + 0x10]
mov r13, r8
jmp 0x18008a809
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
mov r9, qword [r15 + 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 [rsi + 4]
movsxd rcx, r8d
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
jmp 0x180087033
mov eax, dword [r13 + 0x30]
bt rax, 0x13
movsxd rax, dword [rsi + 8]
jae 0x18008a933
add qword [r13 + 0x2b0], rax
jmp case.0x180086aa8.86
lea rcx, [0x180000000]
cmp dword [rsi + 4], r10d
je 0x18008a94c
add qword [r13 + 0x2a8], rax
jmp 0x18008b84b
add qword [r15 + 0x50], rax
jmp 0x18008b84b
cmp dword [rsi + 4], r10d
je 0x18008a974
cmp qword [r13 + 0x2a8], r10
jne case.0x180086aa8.86
cmp qword [r13 + 0x2b0], r10
jmp 0x180087cff
cmp qword [r15 + 0x50], r10
jmp 0x18008a962
mov rcx, qword [r15 + 0x100]
test rcx, rcx
je 0x18008a9a6
mov rax, qword [rcx + 8]
jmp 0x18008a993
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x18008a98c
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x18008a9b1
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, r12
mov rcx, rdi
call fcn.18008cd94
movsxd rax, dword [rsi + 8]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
call fcn.18008cd94
mov rax, qword [rbx]
xor r10d, r10d
lea edx, [r10 + 4]
lea r11d, [r10 + 1]
lea r8d, [r10 + 8]
cmp qword [rdi], rax
jge 0x180087a4a
mov qword [rdi], rax
jmp 0x180087a4a
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r12]
test rdx, rdx
jle 0x18008b83f
movsxd rax, dword [rsi + 0xc]
sub rdx, rax
mov qword [rcx + r12], rdx
jmp 0x180087d35
movsxd rax, dword [rsi + 4]
mov rdx, rsi
mov rcx, r15
imul rbx, rax, 0x38
movsxd rax, dword [rsi + 0xc]
imul rdi, rax, 0x38
call fcn.1800a45d4
mov rcx, qword [rbx + r12]
xor r11d, r11d
mov r10, rax
mov qword [rsp + 0x60], rcx
test rcx, rcx
jle 0x18008aa6a
cmp qword [rdi + r12], r11
mov edx, r11d
lea rcx, [rsp + 0x60]
cmovg rdx, qword [rdi + r12]
call fcn.18007f9e4
test eax, eax
jne 0x18008aa6a
mov rax, qword [rsp + 0x60]
mov qword [r10], rax
jmp 0x180086e67
or qword [r10], 0xffffffffffffffff
jmp 0x180086e67
movsxd rax, dword [rsi + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r12]
test rax, rax
je case.0x180086aa8.86
jle 0x180087d35
dec rax
mov qword [rcx + r12], rax
jmp 0x180087d35
movsxd rax, dword [rsi + 4]
movabs rdi, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r12]
cmp rax, rdi
jle 0x18008aabc
dec rax
mov qword [rcx + r12], rax
cmp qword [rcx + r12], r10
jmp 0x180087cff
movzx ebx, word [rsi + 2]
mov rcx, r13
lea rdx, [rbx*8 + 0x68]
call fcn.1800686cc
xor r10d, r10d
mov r9, rax
test rax, rax
je 0x18008810f
lea rcx, [rbx + 6]
lea r11d, [r10 + 1]
mov rdx, r13
lea rcx, [rax + rcx*8]
mov r8d, r11d
mov qword [rax + 0x10], r10
mov qword [rax], rcx
call fcn.18008cb90
mov rcx, qword [rsi + 0x10]
mov qword [rax + 8], rcx
mov qword [r9 + 0x18], r15
mov byte [r9 + 0x28], r10b
mov dword [r9 + 0x24], r10d
mov byte [r9 + 0x29], bl
mov rcx, rsi
sub rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r9 + 0x20], edx
mov word [rsi], 0xf09b
mov qword [rsi + 0x10], r9
movsxd rax, dword [rsi + 0xc]
mov rbx, qword [rsi + 0x10]
imul rdx, rax, 0x38
add rdx, r12
cmp qword [rbx + 0x10], rdx
je 0x18008aba4
movzx r8d, byte [rbx + 0x29]
mov qword [rbx + 0x10], rdx
sub r8d, r11d
movsxd r9, r8d
js 0x18008aba4
lea r10, [r9 + 6]
mov r13d, 8
lea r10, [rbx + r10*8]
mov eax, dword [rsi + 8]
add eax, r8d
sub r8d, r11d
cdqe
imul rcx, rax, 0x38
add rcx, r12
mov qword [r10], rcx
sub r10, r13
sub r9, r11
jns 0x18008ab82
mov r13, qword [rsp + 0x40]
add dword [rdx + 0xc], r11d
cmp dword [rsi + 4], 0
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
lea r8, [rbx + 0x30]
mov rcx, rbx
je 0x18008abc2
call qword [rax + 0x30]
jmp 0x18008abc5
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x18008b6da
jle 0x18008abfb
mov rcx, qword [rbx]
call fcn.18005b3b8
lea rdx, [0x18013fd40]
mov rcx, r15
mov r8, rax
call fcn.1800863d0
mov r14d, dword [rbx + 0x24]
xor r10d, r10d
mov dword [rsp + 0x34], r14d
cmp byte [rbx + 0x28], r10b
je 0x18008ac23
cmp dword [rsi - 0x14], r10d
je 0x18008ac1f
movsxd rax, dword [rsi - 0x14]
mov edx, 1
imul rcx, rax, 0x38
add rcx, r12
call fcn.18008caf0
xor r10d, r10d
mov byte [rbx + 0x28], r10b
mov rcx, qword [rbx]
call fcn.18008d080
mov rax, qword [rbx]
xor r10d, r10d
mov r11d, 1
mov word [rax + 8], r11w
mov dword [rbx + 0x24], r10d
test r14d, r14d
jne 0x180088d7c
jmp 0x1800879da
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, r12
mov rcx, rbx
cmp dword [rsi + 0xc], r10d
je 0x18008ac8a
movsxd rax, dword [rsi + 0xc]
mov r8, qword [rsi + 0x10]
imul rdx, rax, 0x38
add rdx, r12
call fcn.18008d160
mov r14d, eax
mov dword [rsp + 0x34], eax
movsxd rax, dword [rsi + 0xc]
imul rbx, rax, 0x38
add rbx, r12
jmp 0x18008ac9a
mov rdx, qword [rsi + 0x10]
call fcn.18008d0a8
mov r14d, eax
mov dword [rsp + 0x34], eax
mov rcx, rbx
test r14d, r14d
jne 0x18008baac
movzx edx, byte [rbp + 0x228]
call fcn.18008c7a0
mov rcx, rbx
call fcn.18008c7bc
xor r10d, r10d
test eax, eax
jne 0x18008bb23
jmp 0x180087645
mov r8d, dword [rsi + 8]
mov edx, dword [rsi + 4]
or dword [rbp - 0x30], 0xffffffff
or dword [rbp - 0x34], 0xffffffff
lea rax, [rbp - 0x30]
lea r9, [rbp - 0x34]
mov rcx, r13
mov qword [rsp + 0x20], rax
mov dword [rbp - 0x38], r10d
call fcn.1800844e4
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
je 0x18008ad1c
lea eax, [r10 + 5]
cmp r14d, eax
jne 0x180088c01
lea eax, [r10 + 1]
mov r14d, r10d
mov dword [rsp + 0x34], r10d
mov dword [rbp - 0x38], eax
movsxd rax, dword [rsi + 0xc]
mov rdi, r10
imul rbx, rax, 0x38
add rbx, r12
movsxd rdx, dword [rbp + rdi*4 - 0x38]
mov rcx, rbx
call fcn.18008caf0
mov r11d, 1
add rbx, 0x38
add rdi, r11
cmp rdi, 3
jl 0x18008ad2a
jmp 0x180086f9b
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
mov r8, qword [rsp + 0x40]
movsxd rdx, dword [rsi + 4]
mov rcx, qword [r8 + 0x20]
mov ebx, dword [rsi + 0xc]
mov r13, rax
shl rdx, 5
mov rax, qword [rdx + rcx + 8]
mov rcx, rax
mov qword [rsp + 0x60], rax
call fcn.1800621c8
mov rcx, rax
mov r12, rax
call fcn.180064d64
cmp ebx, 0xffffffff
mov edi, eax
cmove ebx, eax
call fcn.180064d70
xor r9d, r9d
test eax, eax
lea ecx, [r9 + 5]
cmove ebx, edi
lea r10d, [r9 + 1]
cmp ebx, ecx
jne 0x18008add9
mov edx, r10d
mov rcx, r12
call fcn.180065b38
mov rcx, rax
call fcn.1800684b4
test eax, eax
je 0x18008add2
mov rcx, r12
call fcn.18006593c
test eax, eax
jne 0x18008add4
mov ebx, edi
mov ecx, 5
cmp ebx, edi
je 0x18008ae6e
cmp edi, ecx
je 0x18008aded
cmp ebx, ecx
jne 0x18008ae6e
cmp byte [r8 + 0x5f], r9b
je 0x18008bac8
cmp dword [r8 + 0xcc], r10d
jg 0x18008bac8
cmp edi, ecx
jne 0x18008ae2d
mov rdx, r8
mov rcx, r12
call fcn.1800659d8
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x18008ae73
mov edx, ebx
mov rcx, r12
call fcn.180064c78
xor r9d, r9d
jmp 0x18008ae49
mov eax, 4
cmp edi, eax
jne 0x18008ae44
lea edx, [rax - 2]
mov rcx, r12
call fcn.180064c78
xor r9d, r9d
test r14d, r14d
jne 0x18008ae73
mov rcx, qword [rsp + 0x60]
mov edx, r9d
mov eax, 5
cmp ebx, eax
mov eax, 1
sete dl
add edx, eax
call fcn.180062318
mov r14d, eax
mov dword [rsp + 0x34], eax
test r14d, r14d
je 0x18008ae75
mov ebx, edi
mov edx, ebx
mov rcx, r12
call fcn.180064c78
mov ecx, 0xa02
mov word [r13 + 8], cx
mov ecx, eax
call fcn.1800844c4
mov rcx, rax
mov qword [r13 + 0x10], rax
call fcn.1800684b4
movzx edx, byte [rbp + 0x228]
mov r12d, 1
mov rcx, r13
mov byte [r13 + 0xa], r12b
mov dword [r13 + 0xc], eax
call fcn.18008c7a0
mov r13, qword [rsp + 0x40]
xor r10d, r10d
test r14d, r14d
jne 0x180088c07
mov r12, qword [rsp + 0x48]
jmp 0x180087645
cmp dword [rsi + 8], r10d
je 0x18008aee7
movsxd rax, dword [rsi + 8]
imul r9, rax, 0x38
add r9, r12
jmp 0x18008aeea
mov r9, r10
mov r8d, dword [rsi + 4]
lea rcx, [r15 + 0xa8]
mov rdx, r13
call fcn.180078930
jmp 0x180089159
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.180060c04
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
je 0x18008b6da
cmp eax, 0x65
jne 0x180088c01
mov r14d, r10d
mov dword [rsp + 0x34], r10d
jmp 0x180087d2f
cmp dword [rsi + 4], r10d
jne 0x18008af56
mov edx, dword [rsi + 8]
mov rcx, r13
call fcn.180080ca8
jmp 0x18008b83f
mov eax, dword [rsi + 8]
add eax, r11d
xor eax, dword [r15 + 0xc8]
and eax, 3
xor dword [r15 + 0xc8], eax
jmp case.0x180086aa8.86
mov r8b, byte [rsi + 0xc]
test r8b, r8b
jne 0x18008af8a
mov eax, dword [r13 + 0x30]
bt rax, 0xa
jb 0x180086b8f
movsxd rax, dword [rsi + 4]
mov rcx, qword [r13 + 0x20]
mov edx, dword [rsi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18006099c
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test eax, eax
je 0x180086c79
cmp al, 6
jne 0x180088c01
mov r8, qword [rsi + 0x10]
lea rdx, str.database_table_is_locked:__s
jmp 0x18008babb
mov rbx, qword [rsi + 0x10]
mov rcx, r13
mov rdx, rbx
call fcn.180084088
xor r10d, r10d
mov r14d, eax
mov dword [rsp + 0x34], eax
test rbx, rbx
je 0x18008971f
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.180083790
jmp 0x18008971c
xor edx, edx
lea rcx, [rbp + 0x120]
lea r8d, [rdx + 0x38]
call fcn.1800cadf0
movsxd rax, dword [rsi + 8]
lea rcx, [rbp + 0x120]
imul rdx, rax, 0x38
add rdx, r12
mov qword [rbp + 0x148], r13
call fcn.18008c7e8
lea rcx, [rbp + 0x120]
mov r14d, eax
mov dword [rsp + 0x34], eax
call fcn.18005b3b8
test rax, rax
je 0x18008b064
mov edx, dword [rsi + 4]
lea r9, [r15 + 0xa8]
mov r8, rax
mov rcx, r13
call fcn.180083e08
mov r14d, eax
mov dword [rsp + 0x34], eax
lea rcx, [rbp + 0x120]
call fcn.18008d080
xor r10d, r10d
jmp 0x18008a249
add dword [r13 + 0xd8], r11d
mov r8, qword [rsi + 0x10]
mov edx, dword [rsi + 4]
mov rcx, r13
call fcn.180083fc8
dec dword [r13 + 0xd8]
jmp 0x180089159
mov rax, qword [rsi + 0x10]
mov qword [rbp - 0x70], r10
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x18008bb15
mov rdi, qword [rbx]
test rdi, rdi
je 0x18008bb15
lea rdx, [rbp - 0x70]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r15
mov r14d, eax
mov dword [rsp + 0x34], eax
call fcn.180083790
xor r10d, r10d
test r14d, r14d
jne 0x180088c01
mov rax, qword [rbp - 0x70]
lea edx, [r14 + 2]
or r9d, 0xffffffff
mov qword [rax], rbx
mov byte [rsp + 0x20], dl
mov edx, dword [rsi + 4]
xor r8d, r8d
mov rcx, r15
call fcn.1800a42b4
mov rcx, qword [rbp - 0x70]
xor r10d, r10d
test rax, rax
je 0x18008baf9
lea r11d, [r14 + 1]
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r11d
jmp 0x1800879da
movsxd rax, dword [rsi + 0xc]
movsxd rcx, dword [rsi + 4]
mov r14, qword [r15 + 0x70]
imul rdx, rax, 0x38
mov rax, qword [r15 + 0x78]
add rdx, r12
mov r8, r10
mov rax, qword [rax + rcx*8]
lea r11, [rdx + 0x38]
mov edx, dword [rdx]
mov rbx, qword [rax + 0x38]
movsxd r9, dword [r11]
mov qword [rsp + 0x60], rax
mov r13, qword [rbx]
mov r12, qword [r13]
test r9d, r9d
jle 0x18008b18a
mov r15d, 1
mov r10d, r15d
movsxd rax, r10d
add r10d, r15d
imul rcx, rax, 0x38
add rcx, r11
mov qword [r14 + r8*8], rcx
add r8, r15
cmp r8, r9
jl 0x18008b16a
mov r15, qword [rbp + 0x220]
mov r8, qword [rsi + 0x10]
mov rcx, rbx
mov qword [rsp + 0x20], r14
call qword [r12 + 0x40]
mov rdx, r13
mov rcx, r15
mov r14d, eax
mov dword [rsp + 0x34], eax
call fcn.180083790
xor r10d, r10d
test r14d, r14d
jne 0x1800898f1
mov rcx, rbx
call qword [r12 + 0x50]
mov rcx, qword [rsp + 0x60]
xor r10d, r10d
mov byte [rcx + 2], r10b
test eax, eax
jne 0x1800875a8
mov r13, qword [rsp + 0x40]
jmp 0x18008aeca
mov rbx, qword [rsp + 0x38]
xor r10d, r10d
jmp 0x180087d35
mov rax, qword [r15 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
imul rbx, rax, 0x38
add rbx, r12
cmp byte [rdi + 2], r10b
jne 0x180087b9a
mov rax, qword [rdi + 0x38]
xor edx, edx
lea rcx, [rbp + 0x190]
mov r12, qword [rax]
lea r8d, [rdx + 0x38]
mov r14, qword [r12]
call fcn.1800cadf0
mov eax, 1
mov qword [rbp + 0x190], rbx
test byte [rsi + 2], al
je 0x18008b252
mov rcx, rbx
call fcn.18008cba4
mov eax, 0x4001
mov word [rbx + 8], ax
xor eax, eax
mov dword [rbx], eax
jmp 0x18008b25f
mov ecx, 0x3e40
and word [rbx + 8], cx
or word [rbx + 8], ax
mov r8d, dword [rsi + 8]
mov rcx, qword [rdi + 0x38]
lea rdx, [rbp + 0x190]
call qword [r14 + reloc.WLDAP32.dll_Ordinal_88]
mov rdx, r12
mov rcx, r15
mov r14d, eax
mov dword [rsp + 0x34], eax
call fcn.180083790
xor eax, eax
cmp dword [rbp + 0x1b4], eax
jle 0x18008b2b4
mov rcx, rbx
call fcn.18005b3b8
lea rdx, [0x18013fd40]
mov rcx, r15
mov r8, rax
call fcn.1800863d0
mov r14d, dword [rbp + 0x1b4]
mov dword [rsp + 0x34], r14d
movzx edx, byte [rbp + 0x228]
mov rcx, rbx
call fcn.18008c7a0
mov rcx, rbx
call fcn.18008c7bc
xor r10d, r10d
test eax, eax
jne 0x18008bb23
test r14d, r14d
jne 0x180088c01
jmp 0x18008aeca
movsxd rcx, dword [rsi + 4]
mov rax, qword [r15 + 0x78]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], r10b
jne case.0x180086aa8.86
mov rcx, qword [rdi + 0x38]
mov rbx, qword [rcx]
mov r12, qword [rbx]
call qword [r12 + Ordinal_73]
mov rdx, rbx
mov rcx, r15
mov r14d, eax
mov dword [rsp + 0x34], eax
call fcn.180083790
xor r10d, r10d
test r14d, r14d
jne 0x180088c01
mov rcx, qword [rdi + 0x38]
call qword [r12 + 0x50]
xor r10d, r10d
test eax, eax
jne 0x18008a593
mov r11d, 1
mov rbx, qword [rsp + 0x38]
mov eax, dword [rsi + 8]
sub eax, r11d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [rbx + rcx*8]
jmp 0x18008a59e
mov r12d, dword [r13 + 0x30]
mov eax, 0x4000000
mov edx, r11d
or qword [r13 + 0x30], rax
and r12d, eax
mov rax, qword [rsi + 0x10]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rsi + 4]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.18008c7a0
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x180088c01
mov rax, qword [rdi]
mov rdx, qword [rbx + 0x10]
mov rcx, rdi
call qword [rax + Ordinal_157]
mov r14d, eax
mov dword [rsp + 0x34], eax
test r12d, r12d
jne 0x18008b3bb
btr qword [r13 + 0x30], 0x1a
mov rdx, rdi
mov rcx, r15
call fcn.180083790
and dword [r15 + 0xc8], 0xfffffffc
xor r10d, r10d
jmp 0x18008b2d6
cmp byte [r13 + 0x61], r10b
jne 0x18008810f
mov rax, qword [rsi + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x18008bb15
mov r10, qword [rbx]
xor r11d, r11d
test r10, r10
je 0x18008bb15
movsxd rdx, dword [rsi + 8]
cmp qword [r10 + 0x68], r11
je 0x18008b833
movsxd rax, dword [rsi + 0xc]
mov dil, byte [r13 + 0x66]
mov r8, qword [r15 + 0x70]
imul rcx, rax, 0x38
add rcx, r12
mov eax, r11d
test edx, edx
jle 0x18008b43c
lea r11d, [rax + 1]
mov qword [r8 + rax*8], rcx
add rax, r11
add rcx, 0x38
cmp rax, rdx
jl 0x18008b42c
mov al, byte [rsi + 2]
lea r9, [rbp + 0x38]
mov rcx, rbx
mov byte [r13 + 0x66], al
call qword [r10 + 0x68]
mov rdx, rbx
mov rcx, r15
mov byte [r13 + 0x66], dil
mov r14d, eax
mov dword [rsp + 0x34], eax
call fcn.180083790
xor r10d, r10d
test r14d, r14d
jne 0x18008b47a
cmp dword [rsi + 4], r10d
je 0x18008b47a
mov rax, qword [rbp + 0x38]
mov qword [r13 + 0x38], rax
cmp r14b, 0x13
jne 0x18008b4c7
mov rax, qword [rsi + 0x10]
cmp byte [rax + 0x1c], r10b
je 0x18008b4c7
mov edx, 4
cmp word [rsi + 2], dx
jne 0x18008b4a2
mov r14d, r10d
mov dword [rsp + 0x34], r10d
jmp 0x180087541
mov eax, 5
cmp word [rsi + 2], ax
jne 0x18008b4b4
mov eax, 2
jmp 0x18008b4b8
movzx eax, word [rsi + 2]
mov byte [r15 + 0xc2], al
mov r11d, 1
jmp 0x18008b4d5
mov r11d, 1
add dword [r15 + 0x3c], r11d
lea edx, [r11 + 3]
test r14d, r14d
jne 0x180088c01
jmp 0x180087341
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
movsxd rdx, dword [rsi + 4]
mov rcx, qword [r13 + 0x20]
shl rdx, 5
mov r8, rax
mov rcx, qword [rdx + rcx + 8]
call fcn.1800601f0
mov edx, eax
mov qword [r8], rdx
jmp 0x180086c76
mov rdx, rsi
mov rcx, r15
call fcn.1800a45d4
mov rcx, qword [r13 + 0x20]
movsxd rdx, dword [rsi + 4]
shl rdx, 5
mov rbx, rax
mov r8, qword [rdx + rcx + 8]
mov edx, dword [rsi + 0xc]
xor ecx, ecx
mov eax, ecx
test edx, edx
je 0x18008b548
mov rcx, r8
call fcn.1800601f0
cmp eax, edx
cmovb eax, edx
mov edx, eax
mov rcx, r8
call fcn.1800601b0
movsxd rcx, eax
mov qword [rbx], rcx
jmp 0x180086e67
movzx ebx, word [rsi + 2]
mov rcx, r13
lea eax, [rbx - 1]
movsxd rdx, eax
lea rdx, [rdx*8 + 0x38]
call fcn.1800686cc
xor r10d, r10d
mov r8, rax
test rax, rax
je 0x18008810f
mov qword [rax], r10
mov rcx, qword [rsi + 0x10]
mov qword [r8 + 0x18], r15
mov qword [rax + 8], rcx
mov dword [r8 + 0x24], r10d
mov byte [r8 + 0x29], bl
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
lea r11d, [r10 + 1]
sub rcx, qword [rsp + 0x38]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea eax, [r10 + 2]
mov dword [r8 + 0x20], edx
add byte [rsi], al
mov byte [rsi + 1], 0xf0
mov qword [rsi + 0x10], r8
movsxd rax, dword [rsi + 0xc]
mov rbx, qword [rsi + 0x10]
imul rdi, rax, 0x38
add rdi, r12
cmp qword [rbx], rdi
je 0x18008b628
movzx edx, byte [rbx + 0x29]
mov qword [rbx], rdi
sub edx, r11d
movsxd r8, edx
js 0x18008b628
lea r9, [r8 + 6]
mov r13d, 8
lea r9, [rbx + r9*8]
mov eax, dword [rsi + 8]
add eax, edx
sub edx, r11d
cdqe
imul rcx, rax, 0x38
add rcx, r12
mov qword [r9], rcx
sub r9, r13
sub r8, r11
jns 0x18008b607
mov r13, qword [rsp + 0x40]
mov eax, 0x3e40
lea r8, [rbx + 0x30]
mov rcx, rbx
and word [rdi + 8], ax
or word [rdi + 8], r11w
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
test eax, eax
je 0x18008b69e
jle 0x18008b677
mov rcx, rdi
call fcn.18005b3b8
lea rdx, [0x18013fd40]
mov rcx, r15
mov r8, rax
call fcn.1800863d0
mov r14d, dword [rbx + 0x24]
mov dword [rsp + 0x34], r14d
mov r9d, dword [rsi + 4]
mov r8d, dword [rbx + 0x20]
lea rdx, [r15 + 0x120]
mov rcx, r13
call fcn.180086734
xor r10d, r10d
mov dword [rbx + 0x24], r10d
test r14d, r14d
jne 0x180088c01
test byte [rdi + 8], 0x12
je 0x18008b6da
movzx edx, byte [rbp + 0x228]
mov rcx, rdi
call fcn.18008c7a0
mov rcx, rdi
jmp 0x18008acb5
mov r12, qword [rsp + 0x48]
mov r8d, 8
mov edx, 4
jmp 0x180087a4a
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x48]
mov r11d, 1
jmp 0x18008b6c0
mov r13, qword [rsp + 0x40]
jmp 0x18008b6c0
mov r12, qword [rsp + 0x48]
xor r10d, r10d
jmp 0x18008b6c0
mov r11d, 1
lea r8d, [r11 + 7]
jmp 0x180087a4a
mov al, byte [r13 + 0x68]
test al, 0x41
je 0x18008b7dc
mov ecx, 0x10
test byte [r15 + 0xc8], cl
jne 0x18008b7dc
mov r9, qword [rsi + 0x10]
test r9, r9
jne 0x18008b739
mov r9, qword [r15 + 0xf0]
test r9, r9
je 0x18008b7d6
test al, 0x40
je 0x18008b76d
mov rdi, qword [r13 + 0xe8]
mov rdx, r9
mov rcx, r15
call fcn.180063860
mov rcx, qword [r13 + 0xf0]
mov rdx, rax
mov rbx, rax
call rdi
mov rcx, rbx
call fcn.180059c0c
mov rbx, qword [rsp + 0x38]
jmp 0x18008b7c5
cmp dword [r13 + 0xd4], r11d
jle 0x18008b7b1
lea rdx, str.____s
mov r8, r9
mov rcx, r13
call fcn.180068d54
mov rdx, qword [r13 + 0xf0]
mov r8, r15
mov r9, rax
mov ecx, 1
mov rbx, rax
call qword [r13 + 0xe8]
mov rdx, rbx
mov rcx, r13
call fcn.180068a1c
jmp 0x18008b766
mov rdx, qword [r13 + 0xf0]
mov r8, r15
mov ecx, r11d
call qword [r13 + 0xe8]
mov r8d, 8
xor r10d, r10d
lea r11d, [r8 - 7]
lea edx, [r8 - 4]
mov r9d, 2
mov eax, dword [0x1801619f8]
cmp dword [rsi + 4], eax
jl 0x18008b823
cmp byte [rsi], 0xa8
je case.0x180086aa8.86
mov edx, r11d
cmp dword [r15 + 0x90], r11d
jle 0x18008b81f
mov eax, reloc.ODBC32.dll_SQLAllocHandle
mov rcx, qword [r15 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x18008b80f
mov dword [rax + rcx + 4], r10d
add edx, r11d
add rax, 0x18
cmp edx, dword [r15 + 0x90]
jl 0x18008b7fd
mov dword [rsi + 4], r10d
add dword [rsi + 4], r11d
add dword [r15 + 0xec], r11d
jmp 0x180087d35
xor r10d, r10d
lea r11d, [r10 + 1]
mov rbx, qword [rsp + 0x38]
mov edx, 4
lea rcx, [0x180000000]
mov eax, dword [rbp + 0x238]
add rsi, 0x18
jmp 0x180086a7b
mov ecx, dword [rsi + 4]
mov dword [r15 + 0x38], ecx
mov al, byte [rsi + 8]
mov dword [r15 + 0x34], ebx
mov byte [r15 + 0xc2], al
test ecx, ecx
je 0x18008b8fe
mov rcx, r15
cmp word [rsi + 2], r10w
je 0x18008b8c9
movzx r8d, word [rsi + 2]
lea rax, [0x180000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0x1380f8]
call fcn.1800863d0
mov r9, qword [rsi + 0x10]
test r9, r9
je 0x18008b8d9
mov r8, qword [r15 + 0xa8]
lea rdx, str._z:__s
mov rcx, r13
call fcn.180068d54
mov qword [r15 + 0xa8], rax
jmp 0x18008b8d9
mov r8, qword [rsi + 0x10]
lea rdx, [0x18013fd40]
call fcn.1800863d0
mov rax, qword [r15 + 0xa8]
mov r9, qword [r15 + 0xf0]
mov ecx, dword [rsi + 4]
lea rdx, str.abort_at__d_in___s_:__s
mov r8d, ebx
mov qword [rsp + 0x20], rax
call fcn.18005f3ec
mov rcx, r15
call fcn.18008c4c8
mov edi, dword [rsp + 0x30]
mov r14d, eax
mov eax, 5
lea ebx, [rax + 2]
cmp r14d, eax
jne 0x18008b923
mov dword [r15 + 0x38], eax
jmp 0x18008bd9c
mov eax, dword [r15 + 0x38]
neg eax
sbb r14d, r14d
and r14d, 0xffffff9c
add r14d, 0x65
jmp 0x18008bd9c
mov r14d, SQLAllocHandle
jmp 0x180088c01
mov ecx, 0x152d5
call fcn.180068400
mov r14d, eax
mov r13, qword [rsp + 0x40]
xor r10d, r10d
jmp 0x180088c01
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r15
call fcn.1800863d0
mov r14d, 5
jmp 0x18008b956
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r15
call fcn.1800863d0
mov r14d, 5
jmp 0x18008b951
mov r13, qword [rsp + 0x40]
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x38]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor r10d, r10d
mov dword [r15 + 0x34], edx
mov byte [r13 + 0x5f], r10b
mov r14d, r8d
mov dword [r15 + 0x38], r8d
jmp 0x18008bd93
lea rdx, str.no_such_savepoint:__s
mov r8, rdi
mov rcx, r15
call fcn.1800863d0
mov r12d, 1
mov r14d, r12d
mov r13, qword [rsp + 0x40]
xor r10d, r10d
jmp 0x180088c07
mov r14d, r8d
jmp 0x180088c01
mov edi, dword [rsp + 0x30]
mov eax, 5
lea ebx, [rax + 2]
cmp r14b, al
jne 0x18008ba8a
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
mov dword [r15 + 0x38], r14d
sub rcx, qword [rsp + 0x38]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r15 + 0x34], edx
jmp 0x18008bd9c
mov r14d, 0x204
jmp 0x180088c01
mov r14d, reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x18008b951
mov eax, 2
mov byte [r15 + 0xc2], al
lea r14d, [rax + 4]
jmp 0x18008b956
mov r14d, 7
mov rcx, r13
call fcn.18006cca8
mov edi, dword [rsp + 0x30]
mov ebx, 7
cmp r14d, ebx
je 0x180088118
xor r10d, r10d
mov r12d, 1
jmp 0x180088c10
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r15
mov r14d, r11d
call fcn.1800863d0
jmp 0x18008b951
call fcn.18005b3b8
lea rdx, [0x18013fd40]
mov r8, rax
mov rcx, r15
call fcn.1800863d0
jmp 0x18008b956
cmp ebx, ecx
lea rax, str.into
lea r8, str.out_of
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
mov r12d, 1
mov rcx, r15
cmove r8, rax
mov r14d, r12d
call fcn.1800863d0
jmp 0x18008b9e6
call qword [rdi + 0x38]
jmp 0x18008810f
or edi, 0xffffffff
mov r14d, 9
mov r12d, 1
jmp 0x180088c0b
mov r14d, 6
jmp 0x180088c01
mov r13, r8
lea rdx, str.string_or_blob_too_big
mov rcx, r15
call fcn.1800863d0
mov r14d, 0x12
jmp 0x18008b956
xor edx, edx
mov rcx, r15
call fcn.18008dca4
xor r10d, r10d
mov r14d, eax
test eax, eax
jne 0x180088c01
lea ebx, [rax + 1]
mov rcx, r15
mov edx, ebx
call fcn.18008d314
mov eax, dword [r15 + 0x30]
xor r10d, r10d
add eax, 2
or eax, ebx
mov ebx, r10d
mov dword [r15 + 0x30], eax
movsxd rax, dword [rsi + 4]
imul rdi, rax, 0x38
add rdi, r12
lea r12d, [r14 + 1]
mov qword [r15 + 0xa0], rdi
cmp dword [rsi + 8], r10d
jle 0x18008bbd5
lea r14, [rdi + 8]
mov eax, 0x1000
test word [r14], ax
je 0x18008bbb7
movsxd rax, ebx
imul rcx, rax, 0x38
add rcx, rdi
call fcn.18008cc60
test eax, eax
jne 0x18008810f
movsxd rax, ebx
imul rcx, rax, 0x38
add rcx, rdi
call fcn.18008c908
add ebx, r12d
add r14, 0x38
cmp ebx, dword [rsi + 8]
jl 0x18008bb95
xor r10d, r10d
cmp byte [r13 + 0x61], r10b
jne 0x18008810f
mov eax, 4
test byte [r13 + 0x68], al
je 0x18008bc00
mov rdx, qword [r13 + 0xf0]
xor r9d, r9d
mov r8, r15
mov ecx, eax
call qword [r13 + 0xe8]
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
mov r14d, 0x64
sub rcx, qword [rsp + 0x38]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r12d
mov dword [r15 + 0x34], edx
jmp 0x18008bd93
mov ebx, dword [rsi + 4]
movzx eax, byte [r13 + 0x5f]
mov ecx, dword [rsi + 8]
cmp ebx, eax
je 0x18008bd02
test ecx, ecx
je 0x18008bc65
mov edx, 0x204
mov rcx, r13
call fcn.180079510
mov r12d, 1
mov byte [r13 + 0x5f], r12b
jmp 0x18008bc9c
test ebx, ebx
je 0x18008bc7e
cmp dword [r13 + 0xd0], r10d
jle 0x18008bc7e
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x18008b965
mov edx, r11d
mov rcx, r15
call fcn.18008dca4
mov r14d, eax
test eax, eax
jne 0x18008bd93
mov byte [r13 + 0x5f], bl
lea r12d, [rax + 1]
mov rcx, r15
call fcn.18008c4c8
mov r8d, 5
cmp eax, r8d
jne 0x18008bce4
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x38]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, r12d
sub al, bl
mov dword [r15 + 0x34], edx
mov byte [r13 + 0x5f], al
jmp 0x18008b9bf
mov rcx, r13
call fcn.1800798b8
mov eax, dword [r15 + 0x38]
neg eax
sbb r14d, r14d
and r14d, 0xffffff9c
add r14d, 0x65
jmp 0x18008bd93
test ebx, ebx
mov eax, r10d
lea r8, str.cannot_rollback___no_transaction_is_active
sete al
test ecx, ecx
lea rcx, str.cannot_start_a_transaction_within_a_transaction
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, r8
test eax, eax
cmovne rdx, rcx
mov rcx, r15
call fcn.1800863d0
mov r12d, 1
mov r14d, r12d
jmp 0x18008b9eb
mov al, byte [r13 + 0x61]
neg al
sbb r14d, r14d
and r14d, 0xfffffffe
add r14d, 9
mov ecx, r14d
mov dword [r15 + 0x38], r14d
call fcn.18007f470
lea rdx, [0x18013fd40]
mov rcx, r15
mov r8, rax
call fcn.1800863d0
xor r10d, r10d
jmp 0x18008bb0a
mov r13, rbx
jmp 0x180088c01
mov edi, dword [rsp + 0x30]
mov ebx, 7
jmp 0x18008ba8a
mov r13, qword [rsp + 0x40]
mov edi, dword [rsp + 0x30]
mov ebx, 7
mov r12d, dword [rbp + 0x238]
cmp r12d, edi
jb 0x18008bdd7
mov rax, qword [r13 + 0x1c0]
test rax, rax
je 0x18008bdd7
mov rcx, qword [r13 + 0x1c8]
add edi, dword [r13 + 0x1d0]
call rax
xor r10d, r10d
test eax, eax
je 0x18008bda3
or edi, 0xffffffff
lea r14d, [r10 + 9]
jmp 0x18008ba8a
add dword [r15 + 0xe4], r12d
mov rcx, r15
call fcn.18008dc84
mov eax, r14d
add rsp, 0x2d8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret