Function at 0x180036d14
Capabilities:
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 - 0x208]
sub rsp, 0x308
mov r12, qword [rcx]
xor ebx, ebx
mov r15, qword [rcx + 0x88]
mov r11, rcx
mov r10, qword [rcx + 0x68]
mov rdi, r15
mov qword [rsp + 0x40], r15
mov esi, ebx
mov dl, byte [r12 + 0x5e]
lea eax, [rbx + 7]
lea r13d, [rbx + 1]
mov dword [rsp + 0x30], ebx
mov r14b, bl
mov qword [rsp + 0x48], r12
mov r9d, ebx
mov byte [rbp + 0x260], bl
mov r8d, ebx
mov byte [rbp + 0x258], dl
mov dword [rbp + 0x268], ebx
mov dword [rbp - 0x64], ebx
mov qword [rsp + 0x38], r10
cmp dword [rcx + 0x38], eax
je 0x18003881c
mov qword [rcx + 0x48], rbx
mov qword [rcx + 0xa0], rbx
mov eax, dword [r12 + 0x160]
mov dword [r12 + 0x228], ebx
test eax, eax
jne 0x18003ca2a
movsxd rax, dword [rcx + 0x34]
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
movzx r14d, byte [rdi]
add r8d, r13d
mov qword [rbp - 0x70], rdi
mov dword [rbp - 0x64], r8d
cmp r14d, 0xa8
ja case.0x180036def.86
lea r8, [0x180000000]
mov ecx, dword [r8 + r14*4 + 0x3ca68]
add rcx, r8
jmp rcx
movsxd rax, dword [rdi + 4]
mov rcx, rdi
imul r8, rax, 0x38
sub rcx, r15
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov r14d, 4
sar rdx, 2
mov rax, rdx
mov word [r8 + r10 + 8], r14w
shr rax, 0x3f
add rdx, rax
movsxd rax, edx
mov qword [r8 + r10], rax
jmp 0x18003c4f6
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
add rdx, r10
mov rax, qword [rdx]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + 8], ax
lea rdi, [r15 + rcx*8]
mov dl, byte [rbp + 0x258]
jmp case.0x180036def.86
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, dword [rdi + 0xc]
sub eax, r13d
cdqe
mov qword [rcx + r10], rax
mov eax, 4
mov word [rcx + r10 + 8], ax
cmp dword [rdi + 8], ebx
jne 0x18003c4f6
jmp case.0x180036def.86
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
add rdx, r10
mov rax, qword [rdx]
lea rcx, [rax + rax*2]
mov eax, dword [r15 + rcx*8 + 8]
sub eax, r13d
cdqe
jmp 0x180036e40
movsxd rax, dword [rdi + 4]
sub rdi, r15
imul r8, rax, 0x38
mov eax, 4
movsxd rcx, dword [r8 + r10]
mov word [r8 + r10 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
lea rcx, [rcx + rcx*2]
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, edx
mov qword [r8 + r10], rax
jmp 0x180036e4d
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r10 + 8], r13b
je case.0x180036def.86
mov rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r15
xor r14d, r14d
imul rcx
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp dword [rdi + 4], r14d
jne 0x18003c52f
mov rcx, qword [r11 + 0x100]
test rcx, rcx
je 0x18003c52f
mov rax, qword [rcx + 8]
dec dword [r11 + 0x110]
mov qword [r11 + 0x100], rax
mov eax, dword [r11 + 0x3c]
add dword [r12 + 0x78], eax
mov dword [r12 + 0x74], eax
call fcn.180032c78
mov r11, qword [rbp + 0x250]
lea ecx, [r14 + 4]
cmp dword [rdi + 8], ecx
jne 0x180036f89
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r11 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
sub eax, r13d
mov r15, qword [r11 + 0x88]
mov r10, qword [r11 + 0x68]
cdqe
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x38], r10
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
xor ebx, ebx
mov r8d, dword [rbp - 0x64]
add rdi, 0x18
jmp 0x180036dc1
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
mov rcx, rax
movsxd rax, dword [rdi + 4]
mov qword [rcx], rax
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
jmp 0x18003bfd2
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
mov rdx, rax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x180036fd9
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
mov rdx, rax
mov eax, 8
mov word [rdx + 8], ax
jmp 0x180036ff8
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
mov rdx, qword [rdi + 0x10]
xor r8d, r8d
mov rbx, rax
test rdx, rdx
jne 0x18003703c
mov eax, r8d
jmp 0x18003704e
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r8b
jne 0x180037040
and eax, 0x3fffffff
mov r14b, byte [rbp + 0x258]
mov dword [rdi + 4], eax
cmp r14b, r13b
je 0x1800370ea
mov qword [rsp + 0x20], r8
mov r9b, r13b
or r8d, 0xffffffff
mov rcx, rbx
call fcn.180030934
xor r8d, r8d
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x18003c7d2
lea eax, [rsi + 2]
movzx ecx, r14b
test byte [rbx + 8], al
je 0x1800370a9
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x1800370a9
mov dl, cl
mov rcx, rbx
call fcn.1800184d0
xor r8d, r8d
jmp 0x1800370ac
mov eax, r8d
test eax, eax
jne 0x180038815
mov eax, 0x800
mov dword [rbx + 0x20], r8d
or word [rbx + 8], ax
cmp byte [rdi + 1], 0xf9
jne 0x1800370d8
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x1800370d8
mov rcx, r12
call fcn.180016414
mov byte [rdi + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [rdi + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rdi + 4], eax
mov eax, dword [r12 + 0x7c]
mov r11, qword [rbp + 0x250]
cmp dword [rdi + 4], eax
jg 0x18003c7d9
mov byte [rdi], Ordinal_73
xor ebx, ebx
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
mov dl, byte [rbp + 0x258]
mov rcx, rax
mov r11, qword [rbp + 0x250]
mov eax, 0xa02
mov r10, qword [rsp + 0x38]
mov word [rcx + 8], ax
mov rax, qword [rdi + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [rdi + 4]
mov dword [rcx + 0xc], eax
mov byte [rcx + 0xa], dl
jmp 0x18003bfd8
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
mov r14d, dword [rdi + 0xc]
mov rcx, rax
sub r14d, dword [rdi + 8]
mov eax, dword [rdi + 4]
neg eax
mov eax, 0x100
lea rbx, [rcx + 8]
sbb r15w, r15w
and r15w, ax
xor eax, eax
add r15w, r13w
mov dword [rcx + 0xc], eax
mov word [rbx], r15w
test r14d, r14d
jle 0x1800371b4
mov ecx, 0x2400
lea rbx, [rbx + 0x38]
test word [rbx], cx
je 0x1800371a1
lea rcx, [rbx - 8]
call fcn.18003024c
xor eax, eax
mov ecx, 0x2400
jmp 0x1800371a5
mov word [rbx], r13w
sub r14d, r13d
mov word [rbx], r15w
mov dword [rbx + 4], eax
test r14d, r14d
jg 0x180037186
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x250]
mov r15, qword [rsp + 0x40]
jmp 0x180036fa8
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, r10
and word [rcx + 8], ax
or word [rcx + 8], r13w
jmp case.0x180036def.86
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
mov r8d, dword [rdi + 4]
mov rbx, rax
mov rdx, qword [rdi + 0x10]
xor eax, eax
mov rcx, rbx
mov qword [rsp + 0x20], rax
xor r9d, r9d
call fcn.180030934
mov dl, byte [rbp + 0x258]
mov byte [rbx + 0xa], dl
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
jmp 0x180036fae
mov eax, dword [rdi + 4]
sub eax, r13d
cdqe
imul r14, rax, 0x38
add r14, qword [r11 + 0x80]
test byte [r14 + 8], 0x12
je 0x180037265
mov ecx, dword [r14 + 0xc]
mov eax, 0x4000
test word [r14 + 8], ax
je 0x180037257
add ecx, dword [r14]
mov rax, qword [r14 + 0x28]
mov edx, ebx
cmp ecx, dword [rax + 0x7c]
setg dl
jmp 0x180037267
mov edx, ebx
test edx, edx
jne 0x18003c7d9
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
mov eax, 0x2400
add rbx, r10
test word [rbx + 8], ax
je 0x1800372a0
mov rcx, rbx
call fcn.18003024c
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov r9d, dword [rbp + 0x268]
movups xmm0, xmmword [r14]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [r14 + 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
mov dl, byte [rbp + 0x258]
jmp 0x180036fb5
movsxd rax, dword [rdi + 4]
mov r15d, dword [rdi + 0xc]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add r14, r10
add rbx, r10
mov rdx, r14
mov rcx, rbx
call fcn.1800308d4
mov eax, 0x1000
test word [rbx + 8], ax
je 0x180037315
mov rcx, rbx
call fcn.18002ffb4
test eax, eax
jne 0x180038815
add r14, 0x38
add rbx, 0x38
sub r15d, r13d
jne 0x1800372ef
jmp 0x1800371b4
movsxd rax, dword [rdi + 4]
mov r15d, dword [rdi + 0xc]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add r14, r10
add rbx, r10
mov r8d, 0x1000
mov rdx, r14
mov rcx, rbx
call fcn.180030810
mov eax, 0x1000
test word [rbx + 8], ax
je 0x18003736d
mov rcx, rbx
call fcn.18002ffb4
test eax, eax
jne 0x180038815
mov eax, r15d
sub r15d, r13d
test eax, eax
je 0x1800371b4
add rbx, 0x38
add r14, 0x38
jmp 0x180037341
movsxd rax, dword [rdi + 4]
mov r8d, 0x1000
imul rdx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
add rdx, r10
add rcx, r10
call fcn.180030810
jmp 0x180036fd9
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
add rcx, r10
mov rax, qword [rdx + r10]
mov edx, 0x2400
test word [rcx + 8], dx
je 0x1800373da
mov rdx, rax
call fcn.180030650
jmp 0x180036fd9
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 8], ax
jmp 0x180036e51
movsxd rax, dword [rdi + 4]
mov ecx, 1
imul r13, rax, 0x38
movsxd rax, dword [rdi + 8]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add r13, r10
imul rbx, rax, 0x38
movzx r12d, word [r13 + 8]
add r14, r10
add rbx, r10
mov al, byte [r14 + 8]
or al, r12b
test cl, al
je 0x180037462
mov eax, 0x2400
test word [rbx + 8], ax
je 0x180037450
mov rcx, rbx
call fcn.18003024c
mov r12, qword [rsp + 0x48]
mov r13d, 1
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
jmp 0x180036fa8
mov r13, rcx
mov word [rbx + 8], r13w
mov r12, qword [rsp + 0x48]
jmp 0x180036fb5
test r12b, 0x12
jne 0x180037478
xor r8d, r8d
mov rcx, r13
call fcn.18003006c
xor r15d, r15d
jmp 0x18003748b
mov eax, 0x4000
test ax, r12w
je 0x1800374ac
mov rcx, r13
call fcn.180030010
test eax, eax
jne 0x180038810
movzx r12d, word [r13 + 8]
mov eax, 0xfffd
mov dl, byte [rbp + 0x258]
and r12w, ax
mov eax, 0x4000
movzx r15d, word [r14 + 8]
test r15b, 0x12
jne 0x1800374dc
xor r8d, r8d
mov rcx, r14
call fcn.18003006c
xor edx, edx
test eax, eax
jne 0x180038810
movzx r15d, word [r14 + 8]
mov eax, 0xfffd
and r15w, ax
jmp 0x1800374ee
test ax, r15w
je 0x1800374ec
mov rcx, r14
call fcn.180030010
jmp 0x1800374c2
xor edx, edx
mov eax, dword [r13 + 0xc]
add eax, dword [r14 + 0xc]
mov r8, qword [rsp + 0x48]
movsxd rcx, eax
mov qword [rsp + 0x78], rcx
movsxd rax, dword [r8 + 0x7c]
cmp rcx, rax
jg 0x18003c7d2
mov r8d, edx
cmp rbx, r14
lea edx, [rcx + 3]
mov rcx, rbx
sete r8b
call fcn.18002fe20
test eax, eax
jne 0x180038810
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 2
or word [rbx + 8], ax
cmp rbx, r14
je 0x18003755a
movsxd r8, dword [r14 + 0xc]
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.1800c1170
mov word [r14 + 8], r15w
movsxd rcx, dword [r14 + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [r13 + 0xc]
mov rdx, qword [r13 + 0x10]
call fcn.1800c1170
mov r8, qword [rsp + 0x78]
xor r9d, r9d
mov word [r13 + 8], r12w
mov edx, r9d
mov rax, qword [rbx + 0x10]
lea esi, [r9 + 2]
lea r13d, [r9 + 1]
mov byte [r8 + rax], r9b
mov rcx, qword [rbx + 0x10]
add rcx, rdx
add rdx, r13
mov byte [rcx + r8 + 1], r9b
cmp rdx, rsi
jl 0x18003758f
mov dl, byte [rbp + 0x258]
mov eax, 0x200
or word [rbx + 8], ax
mov esi, dword [rsp + 0x30]
mov r12, qword [rsp + 0x48]
mov byte [rbx + 0xa], dl
mov dword [rbx + 0xc], r8d
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
jmp 0x180036fae
movsxd rax, dword [rdi + 4]
imul r12, rax, 0x38
add r12, r10
movzx ebx, word [r12 + 8]
and bx, 0x2c
je 0x1800375f3
xor edx, edx
jmp 0x180037611
test byte [r12 + 8], 0x12
je 0x18003760d
mov rcx, r12
call fcn.180036c28
mov r10, qword [rsp + 0x38]
movzx ebx, ax
jmp 0x1800375ef
xor edx, edx
mov ebx, edx
movsxd rax, dword [rdi + 8]
imul r15, rax, 0x38
add r15, r10
movzx ecx, word [r15 + 8]
and cx, 0x2c
jne 0x180037642
test byte [r15 + 8], 0x12
je 0x180037640
mov rcx, r15
call fcn.180036c28
mov r10, qword [rsp + 0x38]
movzx ecx, ax
jmp 0x180037642
mov ecx, edx
movsxd rax, dword [rdi + 0xc]
and cl, bl
imul r14, rax, 0x38
movzx eax, word [r15 + 8]
mov r11d, 4
or ax, word [r12 + 8]
add r14, r10
test r11b, cl
je 0x1800377bd
movzx ecx, byte [rdi]
mov r9, qword [r15]
mov r8, qword [r12]
mov qword [rbp - 0x78], r9
sub ecx, 0x67
je 0x18003778d
sub ecx, 1
je 0x180037771
sub ecx, 1
je 0x1800376e6
cmp ecx, 1
je 0x1800376b4
test r8, r8
je 0x18003789d
cmp r8, 0xffffffffffffffff
mov rax, r9
cqo
cmove r8, r13
idiv r8
mov r9, rdx
jmp 0x1800377a1
test r8, r8
je 0x18003789d
cmp r8, 0xffffffffffffffff
jne 0x1800376d6
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x1800377c6
mov rax, r9
cqo
idiv r8
mov r9, rax
jmp 0x1800377a1
test r8, r8
jle 0x180037717
movabs rax, 0x7fffffffffffffff
cqo
idiv r8
cmp r9, rax
jg 0x1800377c6
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jmp 0x180037730
jns 0x18003776b
test r9, r9
jle 0x180037738
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jl 0x1800377c6
jmp 0x18003776b
jns 0x18003776b
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x1800377c6
cmp r9, rax
je 0x1800377c6
movabs rax, 0x8000000000000001
cqo
idiv r8
mov rcx, rax
mov rax, r9
neg rax
cmp rax, rcx
jg 0x1800377c6
imul r9, r8
jmp 0x1800377a1
movabs rcx, 0x8000000000000000
cmp r8, rcx
jne 0x18003778a
test r9, r9
jns 0x1800377c6
sub r9, rcx
jmp 0x1800377a1
neg r8
mov rdx, r8
lea rcx, [rbp - 0x78]
call fcn.180019a74
test eax, eax
jne 0x1800377c6
mov r9, qword [rbp - 0x78]
mov eax, 0x3e40
mov qword [r14], r9
and word [r14 + 8], ax
or word [r14 + 8], r11w
mov r12, qword [rsp + 0x48]
jmp 0x1800371b9
test r13b, al
jne 0x18003789d
mov rcx, r12
call fcn.180030388
mov rcx, r15
movaps xmm2, xmm0
call fcn.180030388
movzx edx, byte [rdi]
sub edx, 0x67
je 0x18003783f
sub edx, 1
je 0x180037839
sub edx, 1
je 0x180037833
sub edx, 1
je 0x180037823
mov rcx, r12
call fcn.180030330
mov rcx, r15
mov rbx, rax
call fcn.180030330
test rbx, rbx
je 0x180037898
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm0, xmm0
cmove rbx, r13
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x180037843
ucomisd xmm2, qword [0x180143998]
je 0x180037898
divsd xmm0, xmm2
jmp 0x180037843
mulsd xmm0, xmm2
jmp 0x180037843
subsd xmm0, xmm2
jmp 0x180037843
addsd xmm0, xmm2
mov r10, qword [rsp + 0x38]
movabs rcx, 0xfffffffffffff
movabs rdx, 0x7ff0000000000000
movsd qword [rsp + 0x78], xmm0
mov rax, qword [rsp + 0x78]
test rcx, rax
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
jne 0x18003789d
mov eax, 0x3e40
movsd qword [r14], xmm0
and word [r14 + 8], ax
mov eax, 8
or word [r14 + 8], ax
jmp 0x1800377b3
mov r10, qword [rsp + 0x38]
mov eax, 0x2400
test word [r14 + 8], ax
je 0x1800378bb
mov rcx, r14
call fcn.18003024c
mov r12, qword [rsp + 0x48]
jmp 0x1800371b4
mov word [r14 + 8], r13w
jmp 0x1800377b3
cmp dword [rdi + 4], ebx
je case.0x180036def.86
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r10
test word [rcx + 8], ax
je 0x1800378eb
xor edx, edx
jmp 0x1800373d0
mov eax, 4
mov qword [rcx], rbx
mov word [rcx + 8], ax
jmp case.0x180036def.86
movsxd rax, dword [rdi + 4]
imul r15, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add r15, r10
imul r14, rax, 0x38
add rcx, r10
add r14, r10
mov al, byte [rcx + 8]
or al, byte [r15 + 8]
test r13b, al
je 0x180037951
mov eax, 0x2400
test word [r14 + 8], ax
je 0x180037942
mov rcx, r14
call fcn.18003024c
jmp 0x180038ecf
mov r15, qword [rsp + 0x40]
mov word [r14 + 8], r13w
jmp case.0x180036def.86
call fcn.180030330
mov rcx, r15
mov rbx, rax
call fcn.180030330
mov r8b, byte [rdi]
mov rdx, rax
cmp r8b, 0x63
jne 0x180037975
and rbx, rax
jmp 0x1800379f5
cmp r8b, 0x64
jne 0x180037980
or rbx, rax
jmp 0x1800379f5
xor eax, eax
test rdx, rdx
je 0x1800379f5
jns 0x1800379ac
mov rcx, rdx
mov eax, reloc.WLDAP32.dll_Ordinal_203
sub al, r8b
neg rcx
mov r8b, al
mov rax, rdx
cmp rax, 0xffffffffffffffc0
mov edx, 0x40
cmovg rdx, rcx
xor eax, eax
cmp rdx, 0x40
jl 0x1800379c5
test rbx, rbx
jns 0x1800379c0
cmp r8b, 0x65
je 0x1800379c0
or eax, 0xffffffff
movsxd rbx, eax
jmp 0x1800379f5
mov rcx, rdx
cmp r8b, 0x65
jne 0x1800379d6
shl rbx, cl
mov r8, rbx
jmp 0x1800379f2
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x1800379f2
mov ecx, 0x40
sub cl, dl
or rdx, 0xffffffffffffffff
shl rdx, cl
or r8, rdx
mov rbx, r8
mov eax, 0x3e40
mov qword [r14], rbx
and word [r14 + 8], ax
mov eax, 4
or word [r14 + 8], ax
jmp 0x1800371b4
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r10
mov rcx, rbx
call fcn.180030330
mov rcx, rax
mov qword [rbx], rax
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 4
or word [rbx + 8], ax
movsxd rax, dword [rdi + 8]
add rax, rcx
mov qword [rbx], rax
jmp 0x18003743f
movsxd rax, dword [rdi + 4]
mov r14d, 4
imul rbx, rax, 0x38
add rbx, r10
movzx eax, word [rbx + 8]
test r14b, al
jne 0x180037bb2
mov r8b, dl
mov rcx, rbx
mov dl, 0x43
call fcn.180036b7c
movzx eax, word [rbx + 8]
test r14b, al
jne 0x180037b99
xor ebx, ebx
cmp dword [rdi + 8], ebx
jne 0x18003c4f6
lea esi, [rbx + 0x14]
mov r15, qword [rbp + 0x250]
mov eax, 7
mov r14b, byte [rbp + 0x260]
mov rbx, qword [rsp + 0x48]
xor r13d, r13d
mov r12d, 0xc0a
cmp byte [rbx + 0x61], r13b
cmovne esi, eax
cmp qword [r15 + 0xa8], r13
jne 0x180037aeb
cmp esi, r12d
je 0x180037aeb
mov ecx, esi
call fcn.180080130
mov rcx, qword [rbp + 0x250]
lea rdx, [0x1801087a0]
mov r8, rax
call fcn.1800312b4
mov r15, qword [rbp + 0x250]
mov edx, esi
mov dword [r15 + 0x38], esi
mov rcx, rbx
call fcn.180018b6c
mov rcx, qword [rbp + 0x250]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rdi, qword [rsp + 0x40]
imul rdi
mov rax, qword [rcx + 0xa8]
mov r9, qword [rcx + 0xf0]
mov ecx, esi
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.180018220
mov rcx, qword [rbp + 0x250]
call fcn.180033534
cmp esi, r12d
jne 0x180037b5a
mov rcx, rbx
call fcn.180016944
mov esi, 1
test r14b, r14b
je 0x180037b72
movzx edx, r14b
mov rcx, rbx
dec edx
call fcn.18004ce10
mov r15, qword [rbp + 0x250]
mov eax, dword [rbp - 0x64]
add dword [r15 + 0xe4], eax
mov eax, esi
add rsp, 0x308
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
mov ecx, 0x3e40
and ax, cx
or ax, r14w
mov word [rbx + 8], ax
jmp 0x180036fb5
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r10
test byte [rbx + 8], 0x24
je 0x180036fb5
mov rcx, rbx
call fcn.180030388
mov eax, 0x3e40
movsd qword [rbx], xmm0
and word [rbx + 8], ax
mov eax, 8
or word [rbx + 8], ax
jmp 0x18003743f
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r10
test word [rbx + 8], ax
je 0x180037c25
mov rcx, rbx
call fcn.180030010
mov dl, byte [rbp + 0x258]
jmp 0x180037c27
xor eax, eax
mov r8b, dl
mov dword [rsp + 0x30], eax
mov dl, byte [rdi + 8]
mov rcx, rbx
mov esi, eax
call fcn.180030518
xor ebx, ebx
test esi, esi
jne 0x180037a91
jmp 0x180036fd9
movsxd rax, dword [rdi + 4]
imul r15, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul r14, rax, 0x38
add r15, r10
add r14, r10
movzx r12d, word [r15 + 8]
movzx ebx, word [r14 + 8]
movzx ecx, bx
or cx, r12w
test r13b, cl
je 0x180037d06
mov eax, 0x80
test byte [rdi + 2], al
je 0x180037cb5
mov al, bl
and al, r12b
test r13b, al
je 0x180037ca1
mov eax, 0x100
test ax, bx
jne 0x180037ca1
xor eax, eax
mov ecx, eax
jmp 0x180037e19
mov al, bl
and al, r13b
neg al
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, r13d
jmp 0x180037df8
mov r15, qword [rsp + 0x40]
mov eax, Ordinal_36
test byte [rdi + 2], al
je 0x180037cec
movsxd rax, dword [rdi + 8]
mov r9d, r13d
imul rcx, rax, 0x38
mov eax, 0x3e40
mov dword [rbp + 0x268], r13d
add rcx, r10
and word [rcx + 8], ax
or word [rcx + 8], r13w
jmp 0x180037458
mov eax, 0x10
xor ebx, ebx
test byte [rdi + 2], al
jne 0x18003c4f6
mov r12, qword [rsp + 0x48]
jmp case.0x180036def.86
mov al, byte [rdi + 2]
and al, 0x47
cmp al, 0x43
jl 0x180037d81
mov edx, 2
test dl, cl
je 0x180037d47
mov al, r12b
and al, 0x2e
cmp al, dl
jne 0x180037d35
xor edx, edx
mov rcx, r15
call fcn.180036ae4
movzx ebx, word [r14 + 8]
mov edx, 2
mov al, bl
and al, 0x2e
cmp al, dl
jne 0x180037d47
xor edx, edx
mov rcx, r14
call fcn.180036ae4
mov al, byte [r14 + 8]
mov r11d, 4
and al, byte [r15 + 8]
test r11b, al
je 0x180037de7
mov rax, qword [r15]
cmp qword [r14], rax
jle 0x180037d6e
mov ecx, r13d
jmp 0x180037e3a
jge 0x180037d78
or ecx, 0xffffffff
jmp 0x180037e02
xor eax, eax
mov ecx, eax
jmp 0x180037e1f
cmp al, 0x42
jne 0x180037de7
mov eax, 2
test al, r12b
jne 0x180037dc0
test r12b, 0x2c
je 0x180037dc0
mov r8b, r13b
mov rcx, r15
call fcn.18003006c
mov dl, byte [rbp + 0x258]
movzx eax, r12w
xor ax, word [r15 + 8]
mov ecx, 0x3e40
and ax, cx
xor r12w, ax
mov eax, 2
test al, bl
jne 0x180037de7
test bl, 0x2c
je 0x180037de7
mov r8b, r13b
mov rcx, r14
call fcn.18003006c
movzx eax, word [r14 + 8]
mov ecx, 0x3e40
xor ax, bx
and ax, cx
xor bx, ax
mov r8, qword [rdi + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.1800341fc
mov ecx, eax
test ecx, ecx
jns 0x180037e17
mov r11d, 4
movzx eax, byte [rdi]
lea rdx, [0x180000000]
movzx r8d, byte [rax + rdx + 0xef0e0]
jmp 0x180037e4d
jne 0x180037e34
mov r11d, 4
movzx eax, byte [rdi]
lea rdx, [0x180000000]
movzx r8d, byte [rax + rdx + 0xf09a4]
jmp 0x180037e4d
mov r11d, 4
movzx eax, byte [rdi]
lea rdx, [0x180000000]
movzx r8d, byte [rax + rdx + 0xeb514]
mov word [r15 + 8], r12w
mov eax, Ordinal_36
mov word [r14 + 8], bx
xor ebx, ebx
test byte [rdi + 2], al
je 0x180037ebb
movsxd rax, dword [rdi + 8]
mov r9d, ecx
mov r10, qword [rsp + 0x38]
imul rdx, rax, 0x38
lea eax, [rbx + 8]
mov dword [rbp + 0x268], ecx
add rdx, r10
test byte [rdi + 2], al
je 0x180037e91
cmp byte [rdi], 0x35
mov eax, ebx
sete al
cmp eax, r8d
je 0x180037ea5
mov eax, 0x3e40
and word [rdx + 8], ax
or word [rdx + 8], r11w
movsxd rax, r8d
mov qword [rdx], rax
mov r11, qword [rbp + 0x250]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
jmp 0x180036e51
test r8d, r8d
mov r15, qword [rsp + 0x40]
jne 0x18003c4f6
jmp 0x18003c506
test r9d, r9d
jmp 0x180036e7e
test byte [rdi + 2], r13b
jne 0x180037ee1
mov r14, rbx
jmp 0x180037ee9
mov r14, qword [rdi - 8]
add r14, 4
movsxd rcx, dword [rdi + 0xc]
mov r12d, ebx
mov rax, qword [rdi + 0x10]
mov r8d, dword [rdi + 4]
mov edx, dword [rdi + 8]
mov qword [rbp - 0x70], rax
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x58], edx
mov qword [rsp + 0x78], rcx
test rcx, rcx
jle 0x18003c51b
lea r13, [rax + 0x20]
test r14, r14
je 0x180037f25
mov r15d, dword [r14 + rbx*4]
jmp 0x180037f28
mov r15d, r12d
mov rax, qword [rax + 0x18]
movzx eax, byte [rbx + rax]
and eax, 1
mov dword [rsp + 0x5c], eax
lea eax, [r15 + rdx]
movsxd rcx, eax
lea eax, [r15 + r8]
mov r8, qword [r13]
imul rdx, rcx, 0x38
movsxd rcx, eax
imul rcx, rcx, 0x38
add rdx, r10
add rcx, r10
call fcn.1800341fc
mov r10, qword [rsp + 0x38]
mov r9d, eax
mov dword [rbp + 0x268], eax
test eax, eax
jne 0x180037faa
mov r8d, dword [rsp + 0x60]
lea eax, [r9 + 1]
mov edx, dword [rsp + 0x58]
add r12d, eax
add rbx, rax
add r13, 8
mov rax, qword [rbp - 0x70]
cmp rbx, qword [rsp + 0x78]
jl 0x180037f1a
mov r11, qword [rbp + 0x250]
lea r13d, [r9 + 1]
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
jmp 0x1800372ca
mov rax, qword [rbp - 0x70]
mov ecx, 2
mov rax, qword [rax + 0x18]
lea r13d, [rcx - 1]
test byte [rbx + rax], cl
je 0x180037ff3
movsxd rax, dword [rsp + 0x60]
movsxd rcx, r15d
add rax, rcx
imul rax, rax, 0x38
test byte [rax + r10 + 8], r13b
jne 0x180037fe9
movsxd rax, dword [rsp + 0x58]
add rax, rcx
imul rax, rax, 0x38
test byte [rax + r10 + 8], r13b
je 0x180037ff3
neg r9d
mov dword [rbp + 0x268], r9d
mov r11, qword [rbp + 0x250]
xor ebx, ebx
mov r12, qword [rsp + 0x48]
mov r15, qword [rsp + 0x40]
mov dl, byte [rbp + 0x258]
cmp dword [rsp + 0x5c], ebx
je case.0x180036def.86
neg r9d
mov dword [rbp + 0x268], r9d
jmp case.0x180036def.86
test r9d, r9d
jns 0x18003802f
mov eax, dword [rdi + 4]
jmp 0x180038039
jne 0x180038036
mov eax, dword [rdi + 8]
jmp 0x180038039
mov eax, dword [rdi + 0xc]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
jmp case.0x180036def.86
movsxd rax, dword [rdi + 4]
mov r14d, 2
imul rcx, rax, 0x38
mov edx, r14d
add rcx, r10
call fcn.1800303b4
movsxd rcx, dword [rdi + 8]
mov edx, r14d
imul rcx, rcx, 0x38
movsxd rbx, eax
add rcx, qword [rsp + 0x38]
call fcn.1800303b4
cmp byte [rdi], 0x2c
movsxd r8, eax
lea rax, [0x180000000]
jne 0x18003809d
lea rdx, [rbx + rbx*2]
add rdx, r8
movzx r8d, byte [rdx + rax + 0xee1a0]
jmp 0x1800380ad
lea rcx, [rbx + rbx*2]
add rcx, r8
movzx r8d, byte [rcx + rax + 0xf23d8]
movsxd rax, dword [rdi + 0xc]
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x250]
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
imul rcx, rax, 0x38
add rcx, r10
cmp r8d, r14d
jne 0x1800380e9
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], r13w
jmp 0x180036fb5
movsxd rax, r8d
mov qword [rcx], rax
mov eax, 0x3e40
and word [rcx + 8], ax
mov eax, 4
or word [rcx + 8], ax
jmp 0x180036fb5
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r10
call fcn.1800303b4
mov r10, qword [rsp + 0x38]
movsxd rdx, eax
movsxd rax, dword [rdi + 0x10]
xor rdx, rax
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r10
test word [rcx + 8], ax
jne 0x1800373d0
mov r11, qword [rbp + 0x250]
mov eax, 4
mov word [rcx + 8], ax
mov qword [rcx], rdx
jmp 0x18003bfd2
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rcx, r10
add rbx, r10
test byte [rcx + 8], r13b
jne 0x1800381b2
xor edx, edx
call fcn.1800303b4
xor edx, edx
test eax, eax
mov ecx, edx
mov eax, 0x2400
sete cl
test word [rbx + 8], ax
je 0x1800381a1
mov rdx, rcx
mov rcx, rbx
call fcn.180030650
jmp 0x18003743f
mov eax, 4
mov qword [rbx], rcx
mov word [rbx + 8], ax
jmp 0x18003743f
mov eax, 0x2400
test word [rbx + 8], ax
je 0x1800381ca
mov rcx, rbx
call fcn.18003024c
jmp 0x18003743f
mov word [rbx + 8], r13w
jmp 0x180036fb5
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add r14, r10
mov eax, 0x2400
add rbx, r10
test word [rbx + 8], ax
je 0x180038218
mov rcx, rbx
call fcn.18003024c
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
jmp 0x18003821d
mov word [rbx + 8], r13w
test byte [r14 + 8], r13b
jne 0x180036fb5
mov eax, 4
mov rcx, r14
mov word [rbx + 8], ax
call fcn.180030330
not rax
jmp 0x180037a43
mov r8, qword [r11 + 0x100]
test r8, r8
je 0x1800382a2
mov r9, qword [r8 + 0x30]
mov rcx, rdi
sub rcx, qword [r11 + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x18003c4f6
bts eax, edx
mov dl, byte [rbp + 0x258]
mov byte [rcx + r9], al
mov r9d, dword [rbp + 0x268]
jmp 0x1800382b5
mov rcx, qword [r11 + 0x88]
mov eax, dword [rdi + 4]
cmp dword [rcx + 4], eax
je 0x18003c4f6
mov rax, qword [r11 + 0x88]
mov ecx, dword [rax + 4]
mov dword [rdi + 4], ecx
jmp case.0x180036def.86
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r10
call fcn.1800303b4
test eax, eax
jne 0x18003c4f6
jmp 0x180036fd9
cmp dword [rdi + 0xc], ebx
mov edx, ebx
movsxd rax, dword [rdi + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r10
call fcn.1800303b4
test eax, eax
je 0x18003c4f6
jmp 0x180036fd9
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 8], r13b
jmp 0x180036e7e
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r10 + 8], r13b
je 0x18003c4f6
jmp case.0x180036def.86
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], bl
je case.0x180036def.86
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r10
test word [rcx + 8], ax
je 0x18003836b
call fcn.18003024c
jmp 0x18003c4f6
mov word [rcx + 8], r13w
jmp 0x18003c4f6
movsxd rcx, dword [rdi + 4]
xor r14d, r14d
mov rax, qword [r11 + 0x78]
movsxd r12, dword [rdi + 8]
mov dword [rsp + 0x50], r12d
mov rbx, qword [rax + rcx*8]
cmp byte [rbx + 3], r14b
je 0x1800383df
mov rcx, qword [rbx + 0x20]
test rcx, rcx
je 0x1800383bc
mov edx, dword [rcx + r12*4 + 4]
test edx, edx
jle 0x1800383bc
mov rbx, qword [rbx + 0x30]
lea r12d, [rdx - 1]
mov dword [rsp + 0x50], r12d
mov esi, r14d
mov dword [rsp + 0x30], r14d
jmp 0x180038402
mov rcx, rbx
call fcn.180033ba8
mov r11, qword [rbp + 0x250]
mov esi, eax
mov r10, qword [rsp + 0x38]
mov r9d, dword [rbp + 0x268]
mov dword [rsp + 0x30], eax
jmp 0x1800383fa
mov rax, qword [rbx + 0x38]
cmp byte [rax], r14b
je 0x1800383f2
mov rcx, rbx
call fcn.180033bf8
jmp 0x1800383c4
mov esi, r14d
mov dword [rsp + 0x30], r14d
test esi, esi
jne 0x180037a91
movsxd rax, dword [rdi + 0xc]
mov r15, qword [rbx + 0x60]
imul r13, rax, 0x38
mov eax, dword [r11 + 0x30]
add r13, r10
mov qword [rsp + 0x68], r15
mov qword [rbp - 0x40], r13
cmp dword [rbx + 0x28], eax
je 0x180038544
cmp byte [rbx + 2], r14b
je 0x180038488
mov eax, 3
cmp byte [rbx], al
jne 0x180038457
movsxd rax, dword [rbx + 0x2c]
imul rcx, rax, 0x38
mov eax, dword [rcx + r10 + 0xc]
mov dword [rbx + 0x74], eax
mov dword [rbx + 0x70], eax
mov rax, qword [rcx + r10 + 0x10]
mov qword [rbx + 0x68], rax
jmp 0x1800384e2
mov eax, 0x2400
test word [r13 + 8], ax
je 0x180038476
mov rcx, r13
call fcn.18003024c
mov r13d, 1
jmp 0x1800378b1
mov ecx, 1
mov word [r13 + 8], cx
mov r13d, ecx
jmp 0x180037f9b
mov r14, qword [rbx + 0x38]
mov rcx, r14
call fcn.180028b9c
mov eax, dword [r14 + 0x40]
mov dword [rbx + 0x70], eax
mov rax, qword [r14 + 0x88]
movzx ecx, word [r14 + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [r14 + 0x38]
cmp ecx, edx
jle 0x1800384bb
xor eax, eax
mov ecx, edx
test edx, edx
cmovs ecx, eax
mov r8, qword [rsp + 0x48]
mov r11, qword [rbp + 0x250]
mov dword [rbx + 0x74], ecx
mov rax, qword [r14 + 0x38]
mov qword [rbx + 0x68], rax
mov eax, dword [r8 + 0x7c]
cmp dword [rbx + 0x70], eax
ja 0x18003c7d9
xor r14d, r14d
mov eax, dword [r11 + 0x30]
mov rcx, qword [rbx + 0x68]
mov dword [rbx + 0x28], eax
mov eax, 0x80
cmp byte [rcx], al
jae 0x180038503
movzx eax, byte [rcx]
mov dword [r15], eax
mov eax, 1
jmp 0x18003850e
mov rdx, r15
call fcn.180019898
movzx eax, al
movzx eax, al
mov dword [rbx + 0x48], eax
mov word [rbx + 0x52], r14w
mov eax, dword [r15]
cmp dword [rbx + 0x74], eax
jae 0x180038606
mov qword [rbx + 0x68], r14
mov dword [rbx + 0x74], r14d
mov eax, dword [r15]
cmp eax, 0x18003
ja 0x1800386d0
cmp eax, dword [rbx + 0x70]
ja 0x1800386d0
movzx eax, word [rbx + 0x52]
cmp eax, r12d
jg 0x18003878c
mov eax, dword [r15]
cmp dword [rbx + 0x48], eax
jae 0x18003876a
mov rax, qword [rbx + 0x68]
mov qword [rbp - 0x78], rax
test rax, rax
jne 0x1800385aa
xor edx, edx
lea r8d, [rax + 0x38]
lea rcx, [rbp + 0xb0]
call fcn.1800c1d50
mov r8d, dword [r15]
lea r9, [rbp + 0xb0]
mov rcx, qword [rbx + 0x38]
xor edx, edx
call fcn.180030c34
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180037a91
mov rax, qword [rbp + 0xc0]
mov qword [rbp - 0x78], rax
movzx edx, word [rbx + 0x52]
lea r13, [0x180000000]
mov r9, qword [rsp + 0x68]
mov r10d, 1
mov dword [rsp + 0x60], edx
mov r12d, edx
mov ecx, dword [r15 + rdx*4]
mov r15d, dword [rbx + 0x48]
lea esi, [r10 + 0x7f]
mov r8d, dword [r9]
add r15, rax
add r8, rax
mov qword [rbp - 0x80], rcx
mov qword [rsp + 0x78], r8
movzx r14d, byte [r15]
mov dword [rsp + 0x70], r14d
mov dword [rbx + r12*4 + 0x78], r14d
cmp r14d, esi
jae 0x18003860c
movzx eax, byte [r14 + r13 + 0xee700]
add r15, r10
jmp 0x180038657
mov rax, qword [rbx + 0x68]
jmp 0x1800385a6
lea rdx, [rsp + 0x70]
mov rcx, r15
call fcn.180019898
mov r14d, dword [rsp + 0x70]
movzx eax, al
add r15, rax
mov dword [rbx + r12*4 + 0x78], r14d
cmp r14d, esi
jb 0x180038636
lea eax, [r14 - 0xc]
shr eax, 1
jmp 0x18003863f
movzx eax, byte [r14 + r13 + 0xee700]
mov rcx, qword [rbp - 0x80]
mov r10d, 1
mov edx, dword [rsp + 0x60]
mov r8, qword [rsp + 0x78]
mov r9, qword [rsp + 0x68]
add edx, r10d
add rcx, rax
movsxd r12, edx
mov qword [rbp - 0x80], rcx
mov dword [rsp + 0x60], edx
mov dword [r9 + r12*4], ecx
cmp edx, dword [rsp + 0x50]
jg 0x18003867b
cmp r15, r8
jb 0x1800385e5
mov esi, dword [rsp + 0x30]
mov r13, qword [rbp - 0x40]
cmp r15, r8
jb 0x180038692
ja 0x18003869a
mov eax, dword [rbx + 0x70]
cmp rcx, rax
jne 0x18003869a
mov eax, dword [rbx + 0x70]
cmp rcx, rax
jbe 0x1800386f9
xor eax, eax
cmp dword [r9], eax
jne 0x1800386a8
mov edx, eax
mov r15, r8
jmp 0x1800386fb
cmp qword [rbx + 0x68], rax
jne 0x1800386d0
mov ecx, 0x2400
test word [rbp + 0xb8], cx
jne 0x1800386c4
cmp dword [rbp + 0xd0], eax
je 0x1800386d0
lea rcx, [rbp + 0xb0]
call fcn.18003028c
mov r15, qword [rsp + 0x40]
xor ebx, ebx
mov eax, dword [r15 + 0xc]
test eax, eax
jle 0x18003c624
dec eax
lea r13d, [rbx + 1]
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r15 + rax*8]
jmp 0x18003c506
xor eax, eax
sub r15d, dword [rbp - 0x78]
mov ecx, 0x2400
mov word [rbx + 0x52], dx
mov dword [rbx + 0x48], r15d
cmp qword [rbx + 0x68], rax
jne 0x18003873a
test word [rbp + 0xb8], cx
jne 0x180038723
cmp dword [rbp + 0xd0], eax
je 0x18003873a
lea rcx, [rbp + 0xb0]
call fcn.18003028c
mov ecx, 0x2400
mov r10d, 1
mov r15, qword [rsp + 0x68]
mov r12d, dword [rsp + 0x50]
movzx eax, word [rbx + 0x52]
cmp eax, r12d
jg 0x180038794
cmp byte [rdi + 1], 0xf5
jne 0x180038777
mov rdx, qword [rdi + 0x10]
mov r8d, 0x800
mov rcx, r13
call fcn.180030810
jmp 0x18003846b
mov ecx, 0x2400
mov r10d, 1
jmp 0x180038744
test word [r13 + 8], cx
jne 0x180038463
mov word [r13 + 8], r10w
jmp 0x18003846b
movsxd rax, r12d
mov r14d, dword [rbx + rax*4 + 0x78]
mov eax, 0x2400
test word [r13 + 8], ax
je 0x1800387a8
mov rcx, r13
call fcn.18003024c
movsxd rcx, r12d
mov eax, dword [r15 + rcx*4 + 4]
cmp dword [rbx + 0x74], eax
jb 0x180038892
mov r15d, dword [r15 + rcx*4]
add r15, qword [rbx + 0x68]
cmp r14d, 0xc
jae 0x1800387da
mov rcx, r15
mov edx, r14d
mov r8, r13
call fcn.180033c48
jmp 0x18003846b
mov al, byte [rbp + 0x258]
lea ebx, [r14 - 0xc]
shr ebx, 1
mov dword [r13 + 0xc], ebx
mov byte [r13 + 0xa], al
lea edx, [rbx + 2]
cmp dword [r13 + 0x20], edx
jge 0x18003884a
mov eax, 1
xor r8d, r8d
mov rcx, r13
mov word [r13 + 8], ax
call fcn.18002fe20
test eax, eax
je 0x180038852
mov r12, qword [rsp + 0x48]
mov r14b, byte [rbp + 0x260]
mov rcx, r12
call fcn.180016944
mov rcx, qword [rbp + 0x250]
lea rdx, str.out_of_memory
call fcn.1800312b4
mov r15, qword [rbp + 0x250]
mov esi, 7
mov eax, esi
jmp 0x180037aa4
mov rax, qword [r13 + 0x18]
mov qword [r13 + 0x10], rax
mov rcx, qword [r13 + 0x10]
mov r8, rbx
mov rdx, r15
call fcn.1800c1170
mov rax, qword [r13 + 0x10]
xor ecx, ecx
mov byte [rbx + rax], cl
mov rax, qword [r13 + 0x10]
mov byte [rbx + rax + 1], cl
mov eax, r14d
and rax, 1
lea rcx, [0x180000000]
movzx eax, word [rcx + rax*2 + 0xe9cc4]
mov word [r13 + 8], ax
jmp 0x18003846b
mov al, byte [rbp + 0x258]
mov byte [r13 + 0xa], al
test byte [rdi + 2], 0xc0
je 0x1800388ba
cmp r14d, 0xc
jb 0x1800388ae
test r14b, 1
je 0x1800388e5
mov eax, 0x80
test byte [rdi + 2], al
jne 0x1800388e5
jmp 0x1800388bf
mov eax, 0x80
cmp r14d, eax
jb 0x1800388cd
lea r8d, [r14 - 0xc]
shr r8d, 1
jmp 0x1800388e0
mov eax, r14d
lea rdx, [0x180000000]
movzx r8d, byte [rax + rdx + 0xee700]
test r8d, r8d
jne 0x1800388f1
lea rcx, [0x180156980]
jmp 0x1800387ca
mov edx, dword [r15 + rcx*4]
mov r9, r13
mov rcx, qword [rbx + 0x38]
call fcn.180030c34
xor ebx, ebx
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180037a91
mov rcx, qword [r13 + 0x10]
mov r8, r13
mov edx, r14d
call fcn.180033c48
mov r8d, 0xefff
and word [r13 + 8], r8w
mov r11, qword [rbp + 0x250]
mov r13d, 1
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
jmp 0x18003bfd2
movsxd rax, dword [rdi + 4]
mov r14, qword [rdi + 0x10]
imul rbx, rax, 0x38
add rbx, r10
mov r8b, dl
mov rcx, rbx
mov dl, byte [r14]
call fcn.180036b7c
cmp byte [r14], 0x45
jne 0x1800389c0
movzx ecx, word [rbx + 8]
mov eax, 4
test al, cl
je 0x1800389c0
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x1800389a9
and cx, ax
or cx, 0x20
jmp 0x1800389bc
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 8], cx
mov dl, byte [rbp + 0x258]
add r14, r13
xor eax, eax
cmp byte [r14], al
je 0x180037219
add rbx, 0x38
jmp 0x18003895b
movsxd rax, dword [rdi + 4]
mov r8d, 1
mov r15, qword [rbp + 0x250]
mov r13, rbx
mov r14, qword [rdi + 0x10]
mov r9d, ebx
imul r11, rax, 0x38
mov eax, dword [rdi + 8]
movzx r15d, byte [r15 + 0xc3]
sub eax, r8d
add r11, r10
cdqe
imul r12, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add r12, r11
mov dword [rsp + 0x50], ebx
add rcx, r10
mov qword [rbp - 0x80], rbx
mov qword [rsp + 0x68], r11
mov qword [rbp - 0x48], r12
mov dword [rsp + 0x5c], r15d
mov qword [rbp - 0x78], rcx
test r14, r14
je 0x180038aa6
lea rbx, [r11 + 8]
xor r12d, r12d
lea esi, [r8 + 0x1f]
mov edi, 0xfffb
lea r15d, [r8 + 3]
mov r8b, dl
lea rcx, [rbx - 8]
mov dl, byte [r14]
call fcn.180036b7c
cmp byte [r14], 0x45
jne 0x180038a77
movzx eax, word [rbx]
test r15b, al
je 0x180038a77
and ax, di
or ax, si
mov word [rbx], ax
mov dl, byte [rbp + 0x258]
mov r8d, 1
add r14, r8
add rbx, 0x38
cmp byte [r14], r12b
jne 0x180038a51
mov rdi, qword [rbp - 0x70]
mov r15d, dword [rsp + 0x5c]
mov r9d, dword [rsp + 0x50]
mov r11, qword [rsp + 0x68]
mov r12, qword [rbp - 0x48]
movsxd r10, r15d
lea rbx, [r12 + 0x24]
mov qword [rsp + 0x78], r10
movzx ecx, word [rbx - 0x1c]
test r8b, cl
je 0x180038ad9
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
add r9d, r8d
mov dword [rbx], eax
xor r15d, r15d
jmp 0x180038c58
test cl, 0x24
je 0x180038bbf
mov r8, qword [rbx - 0x24]
xor r15d, r15d
mov rdx, r8
test r8, r8
jns 0x180038af4
not rdx
mov r14d, 1
add r9d, r14d
mov dword [rsp + 0x50], r9d
cmp rdx, 0x7f
ja 0x180038b32
mov rax, r8
and rax, r14
cmp rax, r8
jne 0x180038b24
lea eax, [r14 + 3]
cmp r10, rax
jl 0x180038b24
lea eax, [rdx + 8]
jmp 0x180038bad
mov r8, r14
add r13, r14
mov dword [rbx], r8d
jmp 0x180038c5d
cmp rdx, 0x7fff
ja 0x180038b42
mov eax, 2
jmp 0x180038b60
cmp rdx, 0x7fffff
ja 0x180038b52
mov eax, 3
jmp 0x180038b60
cmp rdx, 0x7fffffff
ja 0x180038b65
mov eax, 4
add r13, rax
jmp 0x180038bad
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x180038b7f
add r13, 6
mov eax, 5
jmp 0x180038bad
mov edx, 8
add r13, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x180038bb1
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
lea eax, [rdx - 1]
cvtsi2sd xmm0, r8
or cx, dx
mov word [rbx - 0x1c], cx
movsd qword [rbx - 0x24], xmm0
mov dword [rbx], eax
jmp 0x180038bb7
mov dword [rbx], 6
mov r8, r14
jmp 0x180038c5d
mov edx, 8
test dl, cl
je 0x180038bd6
add r9d, r8d
lea eax, [rdx - 1]
add r13, rdx
jmp 0x180038acf
mov r15d, dword [rbx - 0x18]
mov r12d, ecx
shr r12d, 1
mov eax, 0x4000
and r12d, r8d
add r12d, 0xc
lea r12d, [r12 + r15*2]
test ax, cx
je 0x180038c27
lea r14, [rbx - 0x24]
movsxd rax, dword [r14]
lea r12d, [r12 + rax*2]
test r13, r13
je 0x180038c23
mov rcx, r14
call fcn.180030010
test eax, eax
jne 0x180038810
add r15d, dword [r14]
lea r8d, [rax + 1]
mov r10, qword [rsp + 0x78]
jmp 0x180038c27
add qword [rbp - 0x80], rax
mov eax, r15d
mov ecx, r8d
add r13, rax
mov eax, r12d
shr rax, 7
xor r15d, r15d
jmp 0x180038c43
add ecx, r8d
shr rax, 7
test rax, rax
jne 0x180038c3c
mov r9d, dword [rsp + 0x50]
mov r11, qword [rsp + 0x68]
add r9d, ecx
mov dword [rbx], r12d
mov dword [rsp + 0x50], r9d
lea rax, [rbx - 0x24]
cmp rax, r11
je 0x180038c6f
sub rbx, 0x38
jmp 0x180038ab3
cmp r9d, 0x7e
jle 0x180038ca9
mov edx, r8d
movsxd rax, r9d
jmp 0x180038c80
add edx, r8d
shr rax, 7
test rax, rax
jne 0x180038c7d
add r9d, edx
mov ecx, r8d
mov dword [rsp + 0x50], r9d
movsxd rax, r9d
jmp 0x180038c9c
add ecx, r8d
shr rax, 7
test rax, rax
jne 0x180038c99
cmp edx, ecx
jge 0x180038cb1
add r9d, r8d
mov dword [rsp + 0x50], r9d
mov r12, qword [rbp - 0x80]
mov r10, qword [rbp - 0x78]
movsxd rbx, r9d
movsxd rax, dword [r10 + 0x20]
lea r14, [rbx + r13]
lea rcx, [r14 + r12]
cmp rcx, rax
jg 0x180038cd7
mov rax, qword [r10 + 0x18]
mov qword [r10 + 0x10], rax
jmp 0x180038d2c
mov rax, qword [rsp + 0x48]
movsxd rax, dword [rax + 0x7c]
cmp rcx, rax
jg 0x18003c7d2
cmp dword [r10 + 0x20], r14d
jge 0x180038d13
xor r8d, r8d
mov edx, r14d
mov rcx, r10
call fcn.18002fe20
mov r9d, dword [rsp + 0x50]
mov r8d, 1
mov r10, qword [rbp - 0x78]
mov r11, qword [rsp + 0x68]
jmp 0x180038d24
mov rax, qword [r10 + 0x18]
and word [r10 + 8], 0x2d
mov qword [r10 + 0x10], rax
mov eax, r15d
test eax, eax
jne 0x180038810
mov dword [r10 + 0xc], r14d
mov eax, 0x10
mov word [r10 + 8], ax
test r12, r12
je 0x180038d4c
mov eax, 0x4010
mov dword [r10], r12d
mov word [r10 + 8], ax
mov r14, qword [r10 + 0x10]
mov r12d, Ordinal_133
lea r15, [r14 + rbx]
cmp r9d, r12d
jae 0x180038d67
mov byte [r14], r9b
mov eax, r8d
jmp 0x180038da6
cmp rbx, 0x7f
ja 0x180038d75
and bl, 0x7f
mov byte [r14], bl
jmp 0x180038d62
cmp rbx, 0x3fff
ja 0x180038d9b
mov rax, rbx
mov ecx, 2
shr rax, 7
or al, r12b
and bl, 0x7f
mov byte [r14], al
mov byte [r14 + 1], bl
mov eax, ecx
jmp 0x180038dab
mov rdx, rbx
mov rcx, r14
call fcn.180019670
mov ecx, 2
mov r13, qword [rbp - 0x48]
mov edi, 1
movzx eax, al
add r14, rax
xor esi, esi
mov r10d, dword [r11 + 0x24]
cmp r10d, r12d
jae 0x180038dca
mov byte [r14], r10b
jmp 0x180038dd9
mov rdx, r10
cmp r10, 0x7f
ja 0x180038ddd
and dl, 0x7f
mov byte [r14], dl
mov eax, edi
jmp 0x180038e06
cmp rdx, 0x3fff
ja 0x180038dfe
mov rax, rdx
shr rax, 7
or al, r12b
and dl, 0x7f
mov byte [r14], al
mov byte [r14 + 1], dl
mov eax, ecx
jmp 0x180038e06
mov rcx, r14
call fcn.180019670
movzx eax, al
add r14, rax
lea eax, [r10 - 1]
cmp eax, 6
ja 0x180038e3f
mov rdx, qword [r11]
lea rcx, [0x180000000]
movzx ecx, byte [r10 + rcx + 0xee700]
mov eax, 7
mov ebx, ecx
dec ecx
mov byte [rcx + r15], dl
shr rdx, 8
test ecx, ecx
jne 0x180038e2f
jmp 0x180038e65
cmp r10d, 0xc
jb 0x180038e63
mov ebx, dword [r11 + 0xc]
test ebx, ebx
je 0x180038e65
mov rdx, qword [r11 + 0x10]
mov r8d, ebx
mov rcx, r15
call fcn.1800c1170
mov r11, qword [rsp + 0x68]
jmp 0x180038e65
mov ebx, esi
add r11, 0x38
mov eax, ebx
add r15, rax
mov qword [rsp + 0x68], r11
mov ecx, 2
cmp r11, r13
jbe 0x180038dbc
mov rdi, qword [rbp - 0x70]
mov esi, dword [rsp + 0x30]
jmp 0x18003846b
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x40]
mov rax, qword [r11 + 0x78]
mov qword [rbp - 0x40], rbx
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
call fcn.18002e3c0
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180037a91
mov rcx, qword [rbp + 0x250]
mov rdx, rdi
call fcn.180036ce8
mov rcx, qword [rbp - 0x40]
mov qword [rax], rcx
mov r11, qword [rbp + 0x250]
jmp 0x18003893d
mov r13d, dword [rdi + 4]
mov r15, qword [rdi + 0x10]
mov dword [rsp + 0x70], r13d
test r13d, r13d
jne 0x180038fc6
cmp dword [r12 + 0xd0], ebx
jg 0x18003c635
test r15, r15
je 0x180038f19
or rbx, 0xffffffffffffffff
xor eax, eax
inc rbx
cmp byte [r15 + rbx], al
jne 0x180038f0a
and ebx, 0x3fffffff
mov r8d, dword [r12 + 0x280]
xor edx, edx
add r8d, dword [r12 + 0x27c]
mov rcx, r12
call fcn.18006dfcc
xor r14d, r14d
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180037a91
movsxd rdx, ebx
mov rcx, r12
add rdx, 0x21
call fcn.180016678
mov r14, rax
test rax, rax
je 0x18003c3cd
lea edx, [rbx + 1]
movsxd r8, edx
lea rcx, [rax + 0x20]
mov rdx, r15
mov qword [rax], rcx
call fcn.1800c1170
xor ebx, ebx
lea r13d, [rsi + 1]
cmp byte [r12 + 0x5f], bl
je 0x180038f8d
mov byte [r12 + 0x5f], bl
mov byte [r12 + 0x67], r13b
jmp 0x180038f95
add dword [r12 + 0x27c], r13d
mov rax, qword [r12 + 0x270]
mov qword [r14 + 0x18], rax
mov rax, qword [r12 + 0x288]
mov qword [r12 + 0x270], r14
mov qword [r14 + 8], rax
mov rax, qword [r12 + 0x290]
mov qword [r14 + 0x10], rax
jmp 0x180038ecf
mov r12, qword [r12 + 0x270]
test r12, r12
je 0x18003c692
mov rcx, qword [r12]
mov rdx, r15
call fcn.180018d40
test eax, eax
je 0x180038ff3
mov r12, qword [r12 + 0x18]
inc ebx
test r12, r12
jne 0x180038fd7
mov r13d, dword [rsp + 0x70]
mov r11, qword [rbp + 0x250]
test r12, r12
je 0x18003c692
mov r15, qword [rsp + 0x48]
xor eax, eax
lea ecx, [rax + 1]
cmp dword [r15 + 0xd0], eax
jle 0x180039024
cmp r13d, ecx
je 0x18003c64e
cmp qword [r12 + 0x18], rax
jne 0x180039084
cmp byte [r15 + 0x67], al
je 0x180039084
mov dword [rsp + 0x58], ecx
mov r14d, ecx
cmp r13d, ecx
jne 0x180039088
mov edx, ecx
mov rcx, r11
call fcn.1800334e4
mov esi, eax
test eax, eax
jne 0x180037b72
mov rsi, qword [rbp + 0x250]
mov rcx, rsi
mov byte [r15 + 0x5f], 1
call fcn.180033534
mov ecx, 5
cmp eax, ecx
je 0x18003c657
xor eax, eax
mov byte [r15 + 0x67], al
mov esi, dword [rsi + 0x38]
mov dword [rsp + 0x30], esi
jmp 0x1800391ac
mov dword [rsp + 0x58], eax
mov eax, dword [r15 + 0x27c]
mov edx, 2
sub eax, ebx
xor ebx, ebx
sub eax, ecx
cmp r13d, edx
mov dword [rsp + 0x50], eax
mov rdx, qword [rsp + 0x48]
jne 0x180039107
mov r15d, dword [r15 + 0x2c]
mov r14d, ebx
and r15d, ecx
cmp dword [rdx + 0x28], ebx
jle 0x18003910a
test r15d, r15d
mov r13d, ebx
sete r13b
mov rcx, qword [rdx + 0x20]
mov r8d, r13d
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.180028798
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180037a91
mov rdx, qword [rsp + 0x48]
lea ecx, [rax + 1]
add r14d, ecx
add rbx, 0x20
cmp r14d, dword [rdx + 0x28]
jl 0x1800390c1
mov r13d, dword [rsp + 0x70]
xor ebx, ebx
mov eax, dword [rsp + 0x50]
jmp 0x18003910a
mov r15d, ebx
mov r14d, ebx
cmp dword [rdx + 0x28], ebx
jle 0x18003914d
mov rcx, qword [rdx + 0x20]
mov r8d, eax
mov edx, r13d
mov rcx, qword [rbx + rcx + 8]
call fcn.18002897c
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180037a91
mov rdx, qword [rsp + 0x48]
lea ecx, [rax + 1]
mov eax, dword [rsp + 0x50]
add r14d, ecx
add rbx, 0x20
cmp r14d, dword [rdx + 0x28]
jl 0x180039112
test r15d, r15d
mov r15, qword [rsp + 0x48]
je 0x180039180
mov rax, qword [r15 + 8]
jmp 0x18003916e
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x18003915d
mov rcx, r15
call fcn.18004ce8c
or dword [r15 + 0x2c], 1
mov r14d, dword [rsp + 0x58]
mov ebx, dword [rsp + 0x50]
jmp 0x1800391ac
mov rdx, qword [r15 + 0x270]
mov rcx, r15
mov rax, qword [rdx + 0x18]
mov qword [r15 + 0x270], rax
call fcn.180016414
dec dword [r15 + 0x27c]
cmp qword [r15 + 0x270], r12
jne 0x18003918b
cmp r13d, 1
jne 0x1800391e0
mov rax, qword [r12 + 0x18]
mov rdx, r12
mov rcx, r15
mov qword [r15 + 0x270], rax
call fcn.180016414
test r14d, r14d
jne 0x180039227
dec dword [r15 + 0x27c]
jmp 0x180039207
mov rax, qword [r12 + 8]
mov qword [r15 + 0x288], rax
mov rax, qword [r12 + 0x10]
mov qword [r15 + 0x290], rax
test r14d, r14d
je 0x180039207
mov eax, 2
cmp r13d, eax
jne 0x180039227
mov r8d, ebx
mov edx, r13d
mov rcx, r15
call fcn.18006dfcc
xor ebx, ebx
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180037a91
jmp 0x180039229
xor ebx, ebx
test esi, esi
jne 0x180037a91
jmp 0x18003892b
mov edx, dword [rdi + 8]
mov dword [rsp + 0x58], ebx
test edx, edx
je 0x180039251
mov eax, dword [r12 + 0x30]
bt rax, 0x14
jb 0x18003c6ae
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov r14, qword [rcx + rax + 8]
test r14, r14
je 0x180039357
lea r8, [rsp + 0x58]
mov rcx, r14
call fcn.180027a14
xor ebx, ebx
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x18003c6b8
mov r11, qword [rbp + 0x250]
cmp dword [rdi + 8], ebx
je 0x180039353
mov eax, 0x80
test byte [r11 + 0xc8], al
je 0x180039353
cmp byte [r12 + 0x5f], bl
je 0x1800392c0
cmp dword [r12 + 0xcc], r13d
jle 0x180039353
cmp dword [r11 + 0x40], ebx
jne 0x1800392e2
add dword [r12 + 0x280], r13d
mov ecx, dword [r12 + 0x280]
add ecx, dword [r12 + 0x27c]
mov dword [r11 + 0x40], ecx
mov r8d, dword [r11 + 0x40]
xor edx, edx
sub r8d, r13d
mov rcx, r12
call fcn.18006dfcc
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180039334
mov rax, qword [r14 + 8]
mov r15, qword [rbp + 0x250]
mov rcx, qword [rax]
mov edx, dword [r15 + 0x40]
cmp edx, dword [rcx + 0x80]
jle 0x180039329
cmp byte [rcx + 0xa], bl
je 0x180039329
call fcn.180022498
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x18003932f
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov r15, qword [rsp + 0x40]
mov rax, qword [r12 + 0x288]
mov r11, qword [rbp + 0x250]
mov qword [r11 + 0x58], rax
mov rax, qword [r12 + 0x290]
mov qword [r11 + 0x60], rax
mov ebx, dword [rsp + 0x58]
xor r14d, r14d
cmp word [rdi + 2], r14w
je 0x1800393f5
cmp ebx, dword [rdi + 0xc]
jne 0x180039384
mov rax, qword [r12 + 0x20]
movsxd rcx, dword [rdi + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rdi + 0x10]
cmp dword [rcx + 4], eax
je 0x1800393f5
mov rdx, qword [r11 + 0xa8]
test rdx, rdx
je 0x180039398
mov rcx, r12
call fcn.180016414
lea rdx, str.database_schema_has_changed
mov rcx, r12
call fcn.1800167f4
mov r11, qword [rbp + 0x250]
mov qword [r11 + 0xa8], rax
movsxd rdx, dword [rdi + 4]
mov rax, qword [r12 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], ebx
je 0x1800393dd
mov rcx, r12
call fcn.18004ce10
mov r11, qword [rbp + 0x250]
and dword [r11 + 0xc8], 0xfffffffd
mov esi, 0x11
or dword [r11 + 0xc8], r13d
mov dword [rsp + 0x30], esi
xor ebx, ebx
test esi, esi
jne 0x180037a91
jmp 0x180036fe0
movsxd rax, dword [rdi + 4]
lea r8, [rbp - 0x20]
mov rcx, qword [r12 + 0x20]
mov edx, dword [rdi + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18002e2f4
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
movsxd rcx, dword [rbp - 0x20]
mov qword [rax], rcx
jmp 0x180036fd9
movsxd rbx, dword [rdi + 4]
mov r8d, dword [rdi + 0xc]
mov edx, dword [rdi + 8]
shl rbx, 5
add rbx, qword [r12 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.18002e344
mov esi, eax
mov dword [rsp + 0x30], eax
cmp dword [rdi + 8], r13d
jne 0x180039472
mov rcx, qword [rbx + 0x18]
mov eax, dword [rdi + 0xc]
mov dword [rcx], eax
or dword [r12 + 0x2c], r13d
jmp 0x180039486
mov eax, 2
cmp dword [rdi + 8], eax
jne 0x180039486
mov rcx, qword [rbx + 0x18]
mov al, byte [rdi + 0xc]
mov byte [rcx + 0x70], al
xor ebx, ebx
cmp dword [rdi + 4], r13d
jne 0x1800394c0
mov rax, qword [r12 + 8]
jmp 0x1800394a7
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r13d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x180039495
mov r11, qword [rbp + 0x250]
and dword [r11 + 0xc8], 0xfffffffc
jmp 0x1800393f7
mov r11, qword [rbp + 0x250]
jmp 0x1800393f7
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je 0x1800394e9
mov eax, dword [rdi + 8]
cmp dword [rbx + 0x4c], eax
je 0x18003964b
xor ebx, ebx
mov eax, dword [r11 + 0xc8]
and al, 3
cmp al, r13b
je 0x18003c6f8
movsxd rdx, dword [rdi + 0xc]
mov r12d, ebx
mov r8, qword [rsp + 0x48]
mov rax, rdx
movsxd r15, dword [rdi + 8]
mov r13, rbx
shl rax, 5
mov dword [rsp + 0x5c], edx
add rax, qword [r8 + 0x20]
cmp r14b, 0x62
mov r14d, 4
mov rcx, qword [rax + 8]
mov qword [rsp + 0x78], rcx
jne 0x18003955a
mov rax, qword [rax + 0x18]
lea ecx, [r14 + 4]
movzx esi, word [rdi + 2]
and esi, ecx
or esi, r14d
mov cl, byte [rax + 0x70]
cmp cl, byte [r11 + 0xc3]
jae 0x18003955c
mov byte [r11 + 0xc3], cl
jmp 0x18003955c
mov esi, ebx
mov eax, 0x10
test byte [rdi + 2], al
je 0x180039596
imul rbx, r15, 0x38
add rbx, r10
mov rcx, rbx
call fcn.180030330
mov edx, dword [rsp + 0x5c]
mov r11, qword [rbp + 0x250]
mov qword [rbx], rax
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], r14w
mov r15d, dword [rbx]
xor ebx, ebx
mov al, byte [rdi + 1]
cmp al, 0xf7
jne 0x1800395a8
mov r13, qword [rdi + 0x10]
movzx r12d, word [r13 + 8]
jmp 0x1800395b0
cmp al, 0xfd
jne 0x1800395b0
mov r12d, dword [rdi + 0x10]
mov r9d, edx
mov byte [rsp + 0x20], bl
mov edx, dword [rdi + 4]
mov r8d, r12d
mov rcx, r11
call fcn.1800369b8
mov rbx, rax
test rax, rax
je 0x180038810
or dword [rax + 8], r14d
mov ecx, 1
mov byte [rax + 2], cl
mov dword [rax + 0x4c], r15d
mov rax, qword [rax + 0x38]
cmp r15d, ecx
jge 0x1800395f6
mov ecx, 0x108ea
call fcn.180081c90
jmp 0x18003960e
mov rcx, qword [rsp + 0x78]
mov r9, r13
mov r8d, esi
mov qword [rsp + 0x20], rax
mov edx, r15d
call fcn.180028a3c
mov r11, qword [rbp + 0x250]
mov esi, eax
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
mov qword [rbx + 0x40], r13
mov r13d, 1
cmp byte [rdi + 1], 0xf7
mov dword [rsp + 0x30], eax
setne al
mov byte [rbx + 4], al
mov cl, byte [rdi + 2]
mov rax, qword [rbx + 0x38]
and cl, 3
xor ebx, ebx
mov byte [rax + 3], cl
test esi, esi
jne 0x180037a91
jmp case.0x180036def.86
movsxd rcx, dword [rdi + 8]
xor esi, esi
mov rax, qword [r11 + 0x78]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov byte [rsp + 0x20], sil
mov rbx, qword [rax + rcx*8]
mov rcx, r11
movsx r8d, word [rbx + 0x50]
call fcn.1800369b8
mov rdx, rax
test rax, rax
je 0x180038815
or dword [rax + 8], r13d
lea r14d, [rsi + 4]
mov byte [rax + 2], r13b
mov r9, qword [rbx + 0x40]
mov qword [rax + 0x40], r9
mov cl, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], ecx
mov eax, dword [rbx + 8]
xor eax, dword [rdx + 8]
and eax, r14d
xor dword [rdx + 8], eax
mov rax, qword [rdx + 0x38]
mov edx, ecx
cmp ecx, r13d
jge 0x1800396dd
mov ecx, 0x108ea
call fcn.180081c90
jmp 0x1800396ee
mov rcx, qword [rbx + 0x10]
mov r8d, r14d
mov qword [rsp + 0x20], rax
call fcn.180028a3c
mov dword [rsp + 0x30], eax
mov esi, eax
jmp 0x18003743f
movsxd rdx, dword [rdi + 4]
xor ecx, ecx
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x180039739
mov qword [rbx + 0x18], rcx
xor r14d, r14d
mov dword [rbx + 0x28], ecx
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x18003987d
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
call fcn.18002e06c
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x18003986a
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov byte [rsp + 0x20], cl
mov rcx, r11
call fcn.1800369b8
mov rbx, rax
test rax, rax
je 0x180038815
or dword [rax + 8], r13d
lea r14, [rax + 0x10]
movzx ecx, word [rdi + 2]
mov r9, r14
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
mov r8, r12
mov rcx, qword [r12]
xor edx, edx
call fcn.180026fd0
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x18003984d
mov rcx, qword [r14]
xor r8d, r8d
mov edx, r13d
call fcn.180027a14
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x18003984d
mov r15, qword [rdi + 0x10]
mov rcx, qword [r14]
mov qword [rbx + 0x40], r15
test r15, r15
je 0x180039822
movzx r8d, word [rdi + 2]
lea r12, [rbx + 0x4c]
or r8d, 2
mov rdx, r12
call fcn.18002dbf0
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180039814
mov rax, qword [rbx + 0x38]
cmp dword [r12], r13d
jge 0x1800397f4
mov ecx, 0x108ea
call fcn.180081c90
jmp 0x18003980e
mov edx, dword [r12]
mov r9, r15
mov rcx, qword [r14]
mov r8d, 4
mov qword [rsp + 0x20], rax
call fcn.180028a3c
mov dword [rsp + 0x30], eax
mov esi, eax
mov r12, qword [rsp + 0x48]
xor r15d, r15d
mov byte [rbx + 4], r15b
jmp 0x180039848
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov edx, r13d
mov dword [rbx + 0x4c], r13d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.180028a3c
mov esi, eax
mov dword [rsp + 0x30], eax
mov byte [rbx + 4], r13b
mov r15, qword [rsp + 0x40]
xor r14d, r14d
mov eax, r14d
lea ecx, [r14 + 8]
cmp word [rdi + 2], cx
setne al
shl eax, 2
xor eax, dword [rbx + 8]
and eax, 4
xor dword [rbx + 8], eax
mov r9d, dword [rbp + 0x268]
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x250]
test esi, esi
jne 0x180037a91
mov byte [rbx + 2], r13b
jmp 0x1800372ca
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov rcx, r11
mov byte [rsp + 0x20], r13b
call fcn.1800369b8
test rax, rax
je 0x180038815
mov rcx, qword [rdi + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov rcx, r12
mov edx, dword [rdi + 0xc]
call fcn.18003dcf0
mov esi, eax
mov dword [rsp + 0x30], eax
test eax, eax
jmp 0x180037c3f
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 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 0x18003c4f6
jmp 0x180036e51
mov r8d, dword [rdi + 0xc]
mov eax, 3
mov edx, dword [rdi + 4]
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], al
call fcn.1800369b8
test rax, rax
je 0x180038815
mov byte [rax + 2], r13b
mov ecx, dword [rdi + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x180156808]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], r13b
jmp 0x180036fd9
movsxd rax, dword [rdi + 4]
mov rcx, r11
mov rdx, qword [r11 + 0x78]
mov rdx, qword [rdx + rax*8]
call fcn.180032b7c
mov r11, qword [rbp + 0x250]
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov qword [rax + rcx*8], rbx
jmp 0x180036fe0
movsxd rcx, dword [rdi + 4]
xor edx, edx
mov rax, qword [r11 + 0x78]
mov dword [rsp + 0x70], ebx
mov r15, qword [rax + rcx*8]
mov word [r15 + 2], dx
mov dword [r15 + 0x28], edx
cmp byte [r15 + 4], dl
je 0x180039a74
movsxd rax, dword [rdi + 0xc]
lea ecx, [rdx + 2]
imul rbx, rax, 0x38
add rbx, r10
movzx r12d, word [rbx + 8]
mov al, r12b
and al, 0x2e
cmp al, cl
jne 0x1800399b0
mov rcx, rbx
call fcn.180036ae4
mov rcx, rbx
call fcn.180030330
movzx ecx, word [rbx + 8]
mov r13, rax
mov word [rbx + 8], r12w
test cl, 0x24
jne 0x180039a3c
mov eax, 8
test al, cl
jne 0x180039a0c
lea r13d, [rax - 7]
test r13b, cl
jne 0x18003be05
cmp r14d, 0x18
jge 0x18003be05
mov rcx, qword [r15 + 0x38]
lea rdx, [rsp + 0x54]
call fcn.1800293fc
xor ebx, ebx
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180037a91
jmp 0x180039b99
movsd xmm1, qword [rbx]
xorps xmm0, xmm0
cvtsi2sd xmm0, r13
comisd xmm1, xmm0
jae 0x180039a2d
mov eax, 1
test al, r14b
je 0x180039a3c
sub r14d, eax
jmp 0x180039a3c
jbe 0x180039a3c
mov eax, 1
test al, r14b
jne 0x180039a3c
add r14d, eax
mov rcx, qword [r15 + 0x38]
lea rax, [rsp + 0x54]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r13
xor edx, edx
call fcn.180029458
xor ebx, ebx
mov dword [rsp + 0x30], eax
mov qword [r15 + 0x58], r13
mov esi, eax
test eax, eax
jne 0x180037a91
lea r13d, [rax + 1]
jmp 0x180039af9
mov rax, qword [r15 + 0x38]
mov cl, byte [rax + 3]
mov rax, qword [r15 + 0x40]
and cl, 2
mov qword [rbp - 8], rax
movzx eax, word [rdi + 0x10]
cmovne ebx, r13d
mov word [rbp + 8], ax
mov eax, r14d
and al, r13b
mov byte [rbp + 0xe], dl
neg al
mov dword [rsp + 0x70], ebx
movsxd rax, dword [rdi + 0xc]
lea rdx, [rbp - 8]
sbb cl, cl
xor r9d, r9d
and cl, 0xfe
xor r8d, r8d
add cl, r13b
mov byte [rbp + 0xa], cl
imul rcx, rax, 0x38
lea rax, [rsp + 0x54]
add rcx, r10
mov qword [rsp + 0x20], rax
mov qword [rbp], rcx
mov rcx, qword [r15 + 0x38]
call fcn.180029458
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180037a91
test ebx, ebx
je 0x180039af7
xor ebx, ebx
cmp byte [rbp + 0xe], bl
je 0x180039b99
jmp 0x180039af9
xor ebx, ebx
mov eax, dword [rsp + 0x54]
cmp r14d, 0x18
jl 0x180039b4f
test eax, eax
js 0x180039b18
jne 0x180039b0f
cmp r14d, 0x19
je 0x180039b18
mov dword [rsp + 0x54], ebx
jmp 0x180039b9f
mov rcx, qword [r15 + 0x38]
xor edx, edx
mov dword [rsp + 0x54], ebx
call fcn.180029a20
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
je 0x180039b9f
cmp eax, 0x65
jne 0x180037a91
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x54], r13d
mov r15, qword [rsp + 0x40]
jmp 0x18003c4f6
test eax, eax
jg 0x180039b6c
jne 0x180039b5b
cmp r14d, 0x16
je 0x180039b6c
mov rax, qword [r15 + 0x38]
mov ecx, ebx
cmp byte [rax], bl
setne cl
mov dword [rsp + 0x54], ecx
jmp 0x180039b99
mov rcx, qword [r15 + 0x38]
xor edx, edx
mov dword [rsp + 0x54], ebx
call fcn.180029b70
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
je 0x180039b9f
cmp eax, 0x65
jne 0x180037a91
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov dword [rsp + 0x54], r13d
cmp dword [rsp + 0x54], ebx
jne 0x180039b45
mov r11, qword [rbp + 0x250]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
cmp dword [rsp + 0x70], ebx
je case.0x180036def.86
add rdi, 0x18
jmp case.0x180036def.86
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rdi + 8]
shl eax, 3
xor eax, dword [rdx + 8]
and eax, 8
xor dword [rdx + 8], eax
jmp 0x180036e51
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov eax, 8
test byte [rcx + 8], al
jne case.0x180036def.86
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rsi, rax, 0x38
add rsi, r10
cmp dword [rdi + 0x10], ebx
jle 0x180039c4a
mov rax, qword [r14 + 0x40]
lea rbx, [rbp + 0x68]
mov qword [rbp + 0x68], rax
movzx eax, word [rdi + 0x10]
mov word [rbp + 0x78], ax
xor eax, eax
mov r15d, eax
mov qword [rbp + 0x70], rsi
jmp 0x180039c96
mov eax, 0x4000
test word [rsi + 8], ax
je 0x180039c5f
mov rcx, rsi
call fcn.180030010
jmp 0x180039c61
mov eax, ebx
test eax, eax
jne 0x180038815
mov rcx, qword [r14 + 0x40]
call fcn.180033e5c
mov rbx, rax
mov r15, rax
test rax, rax
je 0x180038815
mov r8, qword [rsi + 0x10]
mov r9, rax
mov edx, dword [rsi + 0xc]
mov rcx, qword [r14 + 0x40]
call fcn.180033eb4
xor eax, eax
mov byte [rbx + 0x12], al
mov r12d, eax
cmp byte [rdi], 0x1b
jne 0x180039cc8
movzx edx, word [rbx + 0x10]
mov ecx, eax
test edx, edx
jle 0x180039cc8
mov rax, qword [rbx + 8]
add rax, 8
test byte [rax], r13b
jne 0x180039cc5
add ecx, r13d
add rax, 0x38
cmp ecx, edx
jl 0x180039cb3
jmp 0x180039cc8
mov r12d, r13d
mov rcx, qword [r14 + 0x38]
lea rax, [rbp - 0x10]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rbx
call fcn.180029458
xor ebx, ebx
mov dword [rsp + 0x30], eax
mov esi, eax
test r15, r15
je 0x180039cfd
mov rcx, qword [rsp + 0x48]
mov rdx, r15
call fcn.180016414
test esi, esi
jne 0x180037a91
mov eax, dword [rbp - 0x10]
mov ecx, ebx
test eax, eax
mov dword [r14 + 0x2c], eax
mov eax, r13d
mov byte [r14 + 3], bl
sete cl
mov dword [r14 + 0x28], ebx
sub al, cl
mov byte [r14 + 2], al
cmp byte [rdi], 0x1d
jne 0x180039d30
test ecx, ecx
jmp 0x180037ebe
test r12d, r12d
jne 0x180039b45
mov r15, qword [rsp + 0x40]
test ecx, ecx
je 0x18003c4f6
jmp 0x18003c506
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r10
test byte [rcx + 8], 0x24
jne case.0x180036def.31
movups xmm0, xmmword [rcx]
mov r8b, dl
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0xe8], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0xf8], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0xe8]
movups xmmword [rbp + 0x108], xmm0
movsd qword [rbp + 0x118], xmm1
call fcn.180036b7c
mov eax, 4
test byte [rbp + 0xf0], al
je 0x18003c4f6
mov r14, qword [rbp + 0xe8]
mov r11, qword [rbp + 0x250]
jmp 0x180039dc7
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r14, qword [rcx + r10]
movsxd rcx, dword [rdi + 4]
xor r9d, r9d
mov rax, qword [r11 + 0x78]
mov r8, r14
xor edx, edx
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov dword [rbp - 0x60], eax
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x38]
call fcn.180029458
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
mov qword [rbx + 0x58], r14
mov word [rbx + 2], ax
mov dword [rbx + 0x28], eax
mov eax, dword [rbp - 0x60]
mov dword [rbx + 0x2c], eax
xor ebx, ebx
test eax, eax
je 0x180037c3d
cmp dword [rdi + 8], ebx
jne 0x18003c4f6
mov ecx, 0x159cf
call fcn.180081c90
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x180037c3d
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
movsxd rdx, dword [rdi + 4]
mov r11, qword [rbp + 0x250]
mov rcx, qword [r11 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r13
jmp 0x180036fe0
xor r14d, r14d
mov qword [rsp + 0x68], rbx
mov rdx, rdi
mov dword [rsp + 0x50], r14d
mov rcx, r11
call fcn.180036ce8
movsxd rdx, dword [rdi + 4]
mov r12, rax
mov rax, qword [rbp + 0x250]
mov rcx, qword [rax + 0x78]
mov r15, qword [rcx + rdx*8]
lea ecx, [r14 + 2]
test byte [r15 + 8], cl
jne 0x180039f10
mov rcx, qword [r15 + 0x38]
lea rdx, [rsp + 0x50]
call fcn.1800293fc
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180037a91
cmp dword [rsp + 0x50], r14d
je 0x180039ecd
mov rbx, r13
jmp 0x180039eff
mov rbx, qword [r15 + 0x38]
mov rcx, rbx
call fcn.180028b9c
mov rbx, qword [rbx + 0x30]
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x68], rbx
cmp rbx, rax
jl 0x180039efc
mov ecx, 2
or dword [r15 + 8], ecx
jmp 0x180039f09
add rbx, r13
mov ecx, 2
mov qword [rsp + 0x68], rbx
mov rax, qword [rbp + 0x250]
movsxd rdx, dword [rdi + 0xc]
test edx, edx
je 0x180039f9f
mov rcx, qword [rax + 0x100]
test rcx, rcx
je 0x180039f44
mov rax, qword [rcx + 8]
jmp 0x180039f35
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x180039f2e
imul r14, rdx, 0x38
add r14, qword [rcx + 0x20]
jmp 0x180039f4d
imul r14, rdx, 0x38
add r14, qword [rsp + 0x38]
mov rcx, r14
call fcn.180030330
mov ecx, 0x3e40
mov qword [r14], rax
and word [r14 + 8], cx
mov ecx, 4
or word [r14 + 8], cx
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x18003a008
mov ecx, 2
test byte [r15 + 8], cl
jne 0x18003a008
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [r14], rbx
xor r14d, r14d
mov qword [rsp + 0x68], rbx
test byte [r15 + 8], cl
je 0x18003a012
lea rdx, [rsp + 0x68]
mov ecx, 8
call fcn.1800182ec
mov rbx, qword [rsp + 0x68]
movabs rax, 0x3fffffffffffffff
mov rcx, qword [r15 + 0x38]
and rbx, rax
add rbx, r13
lea rax, [rsp + 0x50]
mov r8, rbx
mov qword [rsp + 0x68], rbx
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor edx, edx
call fcn.180029458
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
test esi, esi
jne 0x180037a91
cmp dword [rsp + 0x50], eax
jne 0x18003a012
add r14d, r13d
cmp r14d, 0x64
jl 0x180039fa5
mov esi, reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x180037a91
xor r14d, r14d
mov byte [r15 + 3], r14b
mov dword [r15 + 0x28], r14d
mov qword [r12], rbx
jmp 0x1800378b1
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r11 + 0x78]
add rdx, r10
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r10]
xor ecx, ecx
cmp byte [rdi + 1], 0xfa
mov qword [rbp + 0x88], r8
jne 0x18003a07c
cmp qword [r12 + 0x120], rcx
je 0x18003a07c
movsx rcx, byte [rbx + 1]
mov rax, qword [r12 + 0x20]
mov r14, qword [rdi + 0x10]
shl rcx, 5
mov r15, qword [rcx + rax]
xor ecx, ecx
jmp 0x18003a082
mov r14, rcx
mov r15, rcx
test byte [rdi + 2], r13b
je 0x18003a08c
add dword [r11 + 0x3c], r13d
mov eax, Ordinal_36
test byte [rdi + 2], al
je 0x18003a09b
mov qword [r12 + 0x38], r8
mov rax, qword [rdx + 0x10]
movzx r8d, word [rdi + 2]
mov qword [rbp + 0x90], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp + 0xa4], eax
mov eax, 0x10
test al, r8b
je 0x18003a0c4
mov r9d, dword [rbx + 0x2c]
jmp 0x18003a0c7
mov r9d, ecx
mov eax, 0x4000
test word [rdx + 8], ax
je 0x18003a0dc
mov eax, dword [rdx]
mov dword [rbp + 0xa8], eax
jmp 0x18003a0e2
mov dword [rbp + 0xa8], ecx
mov qword [rbp + 0x80], rcx
lea rdx, [rbp + 0x80]
mov rcx, qword [rbx + 0x38]
and r8d, 0xa
call fcn.18002d3dc
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
mov byte [rbx + 3], al
mov dword [rbx + 0x28], eax
xor ebx, ebx
test esi, esi
jne 0x180037a91
test r14, r14
je 0x180038ecf
mov al, byte [rdi + 2]
mov r8, r15
mov r9, qword [r14]
and al, 4
mov rcx, qword [r12 + 0x118]
neg al
mov rax, qword [rbp + 0x88]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r12 + 0x120]
jmp 0x180038ecf
cmp byte [rdi + 1], 0xfa
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov r13d, dword [rdi + 8]
mov r14, qword [rax + rcx*8]
jne 0x18003a1b2
cmp qword [r12 + 0x120], rbx
je 0x18003a1b2
mov rax, qword [r12 + 0x20]
movsx rcx, byte [r14 + 1]
mov r15, qword [rdi + 0x10]
shl rcx, 5
mov r12, qword [rcx + rax]
mov eax, 2
test byte [rdi + 2], al
je 0x18003a1b8
cmp byte [r14 + 4], bl
je 0x18003a1b8
mov rbx, qword [r14 + 0x38]
mov rcx, rbx
call fcn.180028b9c
mov rax, qword [rbx + 0x30]
xor ebx, ebx
mov qword [r14 + 0x58], rax
jmp 0x18003a1b8
mov r12, rbx
mov r15, rbx
mov dl, byte [rdi + 2]
mov rcx, qword [r14 + 0x38]
call fcn.18002d800
mov dword [rsp + 0x30], eax
mov esi, eax
mov qword [r14 + 0x28], 0
test eax, eax
jne 0x180037a91
mov r11, qword [rbp + 0x250]
test r13b, 1
lea r13d, [rax + 1]
je 0x180038938
add dword [r11 + 0x3c], r13d
mov rax, qword [rsp + 0x48]
mov r10, qword [rax + 0x120]
test r10, r10
je 0x18003c3d8
lea eax, [rsi + 0x20]
test byte [r15 + 0x40], al
jne 0x180038938
mov rax, qword [r14 + 0x58]
lea edx, [rsi + 9]
mov r9, qword [r15]
mov r8, r12
mov r12, qword [rsp + 0x48]
mov qword [rsp + 0x20], rax
mov rcx, qword [r12 + 0x118]
call r10
jmp 0x180038ecf
mov eax, dword [r11 + 0x3c]
add dword [r12 + 0x78], eax
mov dword [r12 + 0x74], eax
mov dword [r11 + 0x3c], ebx
jmp case.0x180036def.86
mov rax, qword [r11 + 0x78]
lea r9, [rbp - 0x5c]
movsxd rcx, dword [rdi + 4]
mov r8d, dword [rdi + 0x10]
mov dword [rbp - 0x5c], ebx
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rdx, rax, 0x38
add rdx, r10
call fcn.18003f10c
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180037a91
cmp dword [rbp - 0x5c], ebx
jmp 0x1800382dc
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rbx, rax, 0x38
mov rax, qword [r11 + 0x78]
add rbx, r10
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x38]
xor ecx, ecx
cmp byte [rax + 0x58], cl
je 0x18003a2d3
mov rdx, qword [rax + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov esi, dword [rax + 0x14]
mov r14, qword [rax + 0x28]
jmp 0x18003a2dd
mov rax, qword [rax + 0x38]
mov esi, dword [rax]
lea r14, [rax + 0x10]
cmp dword [rbx + 0x20], esi
jge 0x18003a2f1
xor r8d, r8d
mov edx, esi
mov rcx, rbx
call fcn.18002fe20
jmp 0x18003a300
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0x2d
mov qword [rbx + 0x10], rax
xor eax, eax
test eax, eax
jne 0x18003c702
mov rcx, qword [rbx + 0x10]
mov eax, 0x3e40
and word [rbx + 8], ax
mov rdx, r14
mov eax, 0x10
movsxd r8, esi
or word [rbx + 8], ax
mov dword [rbx + 0xc], esi
call fcn.1800c1170
movsxd rcx, dword [rdi + 0xc]
xor ebx, ebx
mov r11, qword [rbp + 0x250]
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], ebx
jmp 0x180036fe0
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
movsxd rdx, dword [rdi + 4]
mov rbx, rax
mov r15, qword [rbp + 0x250]
mov rcx, qword [r15 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rsi, qword [rdx + 0x38]
mov rcx, rsi
call fcn.180028b9c
mov r8d, dword [rsi + 0x40]
cmp r8d, dword [r12 + 0x7c]
ja 0x18003c7d2
mov r9, rbx
xor edx, edx
mov rcx, rsi
call fcn.180030c34
xor r14d, r14d
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180037a98
cmp dword [rdi + 0xc], r14d
jne 0x1800371b4
mov eax, 0x1000
test word [rbx + 8], ax
je 0x1800371b4
mov rcx, rbx
call fcn.18002ffb4
xor ebx, ebx
test eax, eax
jne 0x180038815
jmp 0x180038ecf
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
mov r11, qword [rbp + 0x250]
mov r14, rax
movsxd rdx, dword [rdi + 4]
xor eax, eax
mov rcx, qword [r11 + 0x78]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], al
je 0x18003a40b
mov word [r14 + 8], r13w
jmp 0x180037446
cmp byte [rbx + 3], al
je 0x18003a419
mov rax, qword [rbx + 0x58]
jmp 0x18003a4b3
mov eax, 2
cmp byte [rbx], al
jne 0x18003a463
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp - 0x18]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_96]
mov r15, qword [rbp + 0x250]
mov rdx, rbx
mov rcx, r15
mov dword [rsp + 0x30], eax
mov esi, eax
call fcn.180034d48
xor ebx, ebx
test esi, esi
jne 0x180037a98
mov rax, qword [rbp - 0x18]
mov r11, r15
mov r15, qword [rsp + 0x40]
jmp 0x18003a4b9
mov rax, qword [rbx + 0x38]
xor esi, esi
cmp byte [rax], sil
je 0x18003a485
mov rcx, rbx
call fcn.180033bf8
mov r11, qword [rbp + 0x250]
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x18003a489
mov dword [rsp + 0x30], esi
xor eax, eax
test esi, esi
jne 0x180037a91
cmp byte [rbx + 2], al
jne 0x18003a401
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.180028b9c
mov rax, qword [rbx + 0x30]
mov r11, qword [rbp + 0x250]
xor ebx, ebx
mov qword [rbp - 0x18], rax
mov qword [r14], rax
jmp 0x180036fe0
movsxd rcx, dword [rdi + 4]
xor r14d, r14d
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 2], r13b
mov dword [rbx + 0x28], r14d
cmp byte [rbx], r14b
jne 0x180036fb5
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x18]
call fcn.1800163bc
mov qword [rbx + 0x18], r14
mov byte [rbx], r13b
jmp 0x18003743f
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov dword [rbp - 0x58], eax
mov rcx, qword [rbx + 0x38]
cmp r14b, 0x82
jne 0x18003a521
or dword [rbx + 0x2c], 0xffffffff
cmp byte [rcx], al
je 0x180036fb5
lea rdx, [rbp - 0x58]
call fcn.1800293fc
xor ecx, ecx
mov dword [rsp + 0x30], eax
mov esi, eax
mov byte [rbx + 3], cl
mov eax, dword [rbp - 0x58]
mov byte [rbx + 2], al
mov dword [rbx + 0x28], ecx
xor ebx, ebx
test esi, esi
jne 0x180037a91
cmp dword [rdi + 8], ebx
jle 0x180036fd9
jmp 0x1800382da
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.18002917c
xor r14d, r14d
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x18003a58f
mov rcx, rbx
mov dword [rbp - 0x68], r14d
call fcn.18002930c
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x18003a5ab
mov eax, 0x10
cmp esi, eax
jne 0x18003a5a7
xor esi, esi
mov dword [rbp - 0x68], r13d
mov dword [rsp + 0x30], esi
mov r14d, r13d
jmp 0x18003a5ab
mov r14d, dword [rbp - 0x68]
test esi, esi
jne 0x180037a91
test r14d, r14d
jne 0x18003be0a
xor r14d, r14d
cmp byte [rbx], r14b
jne 0x18003743f
mov rax, qword [rbx + 0x88]
cmp byte [rax + 8], r14b
je 0x18003743f
movsx r9d, byte [rbx + 0x54]
mov r8b, r14b
movzx ecx, word [rax + 0x18]
test r9d, r9d
jle 0x18003a60a
movzx eax, r8b
add r8b, r13b
mov rdx, qword [rbx + rax*8 + 0x90]
movzx eax, word [rdx + 0x18]
imul rcx, rax
movzx eax, r8b
cmp eax, r9d
jl 0x18003a5ea
xor ebx, ebx
test rcx, rcx
js 0x180036fd9
call fcn.180019b30
movsx ecx, ax
cmp ecx, dword [rdi + 0xc]
jge 0x180036fd9
mov dword [rbp - 0x68], r13d
jmp 0x18003c4f6
add dword [r11 + 0xdc], r13d
movsxd rcx, dword [rdi + 4]
mov r14d, r13d
mov rax, qword [r11 + 0x78]
mov r15, qword [rax + rcx*8]
cmp byte [r15], r13b
jne 0x18003a6a1
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov rbx, qword [r15 + 0x38]
xor eax, eax
cmp byte [rbx + 0x58], al
jne 0x18003a678
lea rdx, [rbx + 0x38]
cmp qword [rdx], rax
je 0x18003a69d
lea rcx, [rbx + 0x60]
mov r14d, eax
call fcn.18003e1d0
mov esi, eax
mov dword [rsp + 0x30], eax
jmp 0x18003a69d
mov rcx, rbx
call fcn.18003e720
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x18003a69d
mov rcx, rbx
call fcn.18003ef98
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
mov r14d, eax
xor ebx, ebx
jmp 0x18003a6d4
mov rbx, qword [r15 + 0x38]
mov rcx, rbx
call fcn.18002917c
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
test esi, esi
jne 0x18003a6ed
mov rcx, rbx
mov r14d, eax
call fcn.18002930c
mov esi, eax
mov dword [rsp + 0x30], eax
xor ebx, ebx
mov byte [r15 + 3], bl
mov dword [r15 + 0x28], ebx
test esi, esi
jne 0x180037a91
mov byte [r15 + 2], r14b
test r14d, r14d
mov r15, qword [rsp + 0x40]
jmp 0x1800382dc
mov eax, 0x10
cmp esi, eax
jne 0x18003a6ca
xor ebx, ebx
mov esi, ebx
mov dword [rsp + 0x30], ebx
jmp 0x18003a6cc
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov r14, qword [rax + rcx*8]
mov rsi, qword [r14 + 0x38]
cmp byte [rsi + 0x58], bl
je 0x18003a739
mov rcx, qword [rsi + 0x18]
lea rdx, [rbp - 0x54]
mov dword [rbp - 0x54], ebx
call fcn.18003e568
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x18003a798
cmp dword [rbp - 0x54], ebx
je 0x18003a798
lea esi, [rax + 0x65]
jmp 0x18003a776
mov rdx, qword [rsi + 0x38]
mov rax, qword [rdx + 8]
mov qword [rsi + 0x38], rax
mov qword [rdx + 8], rbx
cmp qword [rsi + 0x40], rbx
jne 0x18003a768
mov rbx, qword [rdx + 8]
mov rcx, r12
call fcn.180016414
mov rdx, rbx
test rbx, rbx
jne 0x18003a74f
mov r15, qword [rsp + 0x40]
mov rax, qword [rsi + 0x38]
neg rax
sbb esi, esi
not esi
and esi, 0x65
mov dword [rsp + 0x30], esi
jmp 0x18003a798
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov edx, dword [rdi + 0xc]
mov r14, qword [rax + rcx*8]
mov rcx, qword [r14 + 0x38]
call qword [rdi + 0x10]
mov esi, eax
mov dword [rsp + 0x30], eax
mov dword [r14 + 0x28], ebx
test esi, esi
jne 0x18003a7bc
mov rcx, qword [rbp + 0x250]
mov byte [r14 + 2], bl
movzx eax, word [rdi + 2]
add dword [rcx + rax*4 + 0xd4], r13d
jmp case.0x180036def.11
cmp esi, 0x65
jne 0x180037a91
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov byte [r14 + 2], r13b
jmp 0x18003bfb6
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, r10
test byte [rdi + 2], r13b
je 0x18003a7f5
add dword [r11 + 0x3c], r13d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18003a811
mov rcx, rbx
call fcn.180030010
mov r10, qword [rsp + 0x38]
mov esi, eax
jmp 0x18003a813
xor esi, esi
test esi, esi
jne 0x180037a91
cmp byte [rdi], 0x83
jne 0x18003a82f
mov rdx, rbx
mov rcx, r14
call fcn.18003e83c
xor ebx, ebx
jmp 0x18003a894
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [rdi + 2]
mov qword [rbp + 0x198], rax
mov rax, qword [rbx + 0x10]
xor ebx, ebx
mov qword [rbp + 0x190], rax
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rdi + 0x10]
add rcx, r10
mov word [rbp + 0x1b0], ax
mov eax, 0x10
mov qword [rbp + 0x1a8], rcx
test al, r8b
je 0x18003a879
mov r9d, dword [r14 + 0x2c]
jmp 0x18003a87c
mov r9d, ebx
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp + 0x190]
and r8d, 0xa
call fcn.18002d3dc
mov dword [r14 + 0x28], ebx
mov dword [rsp + 0x30], eax
mov esi, eax
jmp 0x180037c3d
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp + 0x38]
mov rax, qword [r11 + 0x78]
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x40]
mov r14, qword [rbx + 0x38]
mov qword [rbp + 0x38], rax
movzx eax, word [rdi + 0xc]
mov word [rbp + 0x48], ax
xor eax, eax
mov byte [rbp + 0x4a], al
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
lea rax, [rbp - 0x24]
add rcx, r10
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x40], rcx
mov rcx, r14
call fcn.180029458
mov esi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
test esi, esi
jne 0x180037a91
cmp dword [rbp - 0x24], eax
jne 0x18003a91f
lea edx, [rsi + 4]
mov rcx, r14
call fcn.18002d800
xor r14d, r14d
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180037a91
mov qword [rbx + 0x28], 0
jmp 0x18003743f
mov rax, qword [r11 + 0x78]
xor r14d, r14d
movsxd rcx, dword [rdi + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], r14b
je 0x18003a96d
mov rcx, rbx
call fcn.180033bf8
mov r11, qword [rbp + 0x250]
mov esi, eax
mov r10, qword [rsp + 0x38]
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
mov dword [rsp + 0x30], eax
jmp 0x18003a975
mov esi, r14d
mov dword [rsp + 0x30], r14d
test esi, esi
jne 0x180037a91
cmp byte [rbx + 2], r14b
jne 0x18003a9f7
mov rdx, qword [rbx + 0x38]
lea r8, [rbp - 0x70]
mov rcx, r12
mov qword [rbp - 0x70], r14
call fcn.180034b50
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180037a91
cmp byte [rdi], 0x86
jne 0x18003a9dc
movsxd rcx, dword [rdi + 0xc]
mov r11, qword [rbp + 0x250]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 0x70]
mov word [rdx + 2], 0x100
mov qword [rdx + 0x58], rax
mov rax, qword [rdi + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x180037446
mov rcx, qword [rbp + 0x250]
mov rdx, rdi
call fcn.180036ce8
mov rcx, qword [rbp - 0x70]
mov qword [rax], rcx
jmp 0x1800371b4
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r10
test word [rcx + 8], ax
jne 0x1800381c0
mov word [rcx + 8], r13w
jmp 0x180036fb5
movsxd rcx, dword [rdi + 4]
lea r9, [rsp + 0x60]
mov rax, qword [r11 + 0x78]
lea r8, [rbp + 0x50]
cmp r14b, 0x27
mov dword [rsp + 0x60], ebx
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x40]
mov qword [rbp + 0x50], rax
movzx eax, word [rdi + 0x10]
mov word [rbp + 0x60], ax
sbb al, al
mov byte [rbp + 0x62], al
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r10
mov qword [rbp + 0x58], rcx
mov rcx, r12
call fcn.180034c88
mov esi, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x60]
test byte [rdi], r13b
je 0x18003aa77
neg eax
jmp 0x18003aa7a
add eax, r13d
test esi, esi
jne 0x180037a91
test eax, eax
jg 0x18003c4f6
jmp 0x180036fd9
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
mov rbx, rax
mov word [rax + 8], r13w
mov ecx, dword [r12 + 0xd8]
add ecx, r13d
cmp dword [r12 + 0xcc], ecx
jg 0x18003c715
movsxd r15, dword [rdi + 0xc]
lea r8, [rbp - 0x50]
mov edx, dword [rdi + 4]
xor eax, eax
mov dword [rbp - 0x50], eax
mov r14, r15
mov rax, qword [r12 + 0x20]
shl r14, 5
mov rcx, qword [r14 + rax + 8]
call fcn.18002e0f0
movsxd rdx, dword [rbp - 0x50]
mov esi, eax
mov dword [rsp + 0x30], eax
mov eax, 4
mov word [rbx + 8], ax
mov qword [rbx], rdx
xor ebx, ebx
test esi, esi
jne 0x180037a91
test edx, edx
je 0x180038ecf
mov r8, qword [r12 + 0x20]
mov r9d, dword [rdi + 4]
mov rax, qword [r14 + r8 + 0x18]
mov rcx, qword [rax + 0x10]
jmp 0x18003ab2d
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x38], edx
jne 0x18003ab2a
mov dword [rax + 0x38], r9d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x18003ab1d
mov rax, qword [r14 + r8 + 0x18]
mov rcx, qword [rax + 0x28]
jmp 0x18003ab4d
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], edx
jne 0x18003ab4a
mov dword [rax + 0x58], r9d
mov rcx, qword [rcx]
test rcx, rcx
jne 0x18003ab3d
lea r8d, [r15 + r13]
mov byte [rbp + 0x260], r8b
jmp 0x180038ecf
mov eax, dword [rdi + 0xc]
mov rcx, qword [r12 + 0x20]
neg eax
mov edx, dword [rdi + 4]
lea rax, [rbp - 0x48]
sbb r8, r8
mov dword [rbp - 0x48], ebx
and r8, rax
movsxd rax, dword [rdi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.18002e06c
mov esi, eax
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov dword [rsp + 0x30], eax
cmp dword [rdi + 0xc], ebx
je 0x18003abbe
movsxd rdx, dword [rbp - 0x48]
add dword [r11 + 0x3c], edx
cmp dword [rdi + 0xc], ebx
jle 0x18003abbe
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add qword [rcx + r10], rdx
test esi, esi
jne 0x180037a91
jmp 0x18003bfd2
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r13b
jne 0x18003abed
mov rdx, qword [rcx + 0x38]
mov rcx, r12
call fcn.18003def8
jmp 0x180036fd9
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.18002e06c
jmp 0x1800398c5
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
movsxd rdx, dword [rdi + 4]
xor r14d, r14d
mov rcx, qword [r12 + 0x20]
mov rbx, rax
mov r8d, dword [rdi + 0xc]
shl rdx, 5
mov dword [rsp + 0x5c], r14d
mov rcx, qword [rdx + rcx + 8]
lea rdx, [rsp + 0x5c]
call fcn.18002dbf0
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x180037a91
movsxd rax, dword [rsp + 0x5c]
jmp 0x180037a43
add byte [r12 + 0x6a], r13b
xor r9d, r9d
mov rdx, qword [rdi + 0x10]
xor r8d, r8d
mov rcx, r12
mov qword [rsp + 0x20], rbx
call fcn.18005bf48
dec byte [r12 + 0x6a]
jmp 0x1800398c5
mov rcx, qword [rdi + 0x10]
xor r14d, r14d
movsxd rbx, dword [rdi + 4]
test rcx, rcx
jne 0x18003ace6
mov rcx, qword [r12 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.180053068
mov r8, qword [rbp + 0x250]
mov r9d, r13d
and dword [r12 + 0x2c], 0xffffffef
add r8, 0xa8
mov edx, ebx
mov rcx, r12
call fcn.18005fff0
or dword [r12 + 0x2c], r13d
mov esi, eax
mov r11, qword [rbp + 0x250]
mov r15, qword [rsp + 0x40]
mov dword [rsp + 0x30], eax
and dword [r11 + 0xc8], 0xfffffffc
xor ebx, ebx
jmp 0x18003ada5
mov r8, qword [r12 + 0x20]
lea rax, [r11 + 0xa8]
mov qword [rbp + 0x18], rax
lea r9, str.sqlite_master
mov qword [rbp + 0x10], r12
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov dword [rbp + 0x20], ebx
mov rax, rbx
shl rax, 5
mov dword [rbp + 0x28], r14d
mov qword [rsp + 0x20], rcx
mov rcx, r12
mov r8, qword [rax + r8]
call fcn.1800180b0
mov rbx, rax
test rax, rax
je 0x18003c730
lea r9, [rbp + 0x10]
mov byte [r12 + 0xb5], r13b
lea r8, [fcn.18005fe00]
mov dword [rbp + 0x24], r14d
mov rdx, rax
mov dword [rbp + 0x2c], r14d
mov rcx, r12
mov qword [rsp + 0x20], r14
call fcn.18005bf48
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x18003ad89
mov esi, dword [rbp + 0x24]
mov dword [rsp + 0x30], esi
test esi, esi
jne 0x18003ad89
cmp dword [rbp + 0x2c], r14d
jne 0x18003ad89
mov ecx, 0x15f51
call fcn.180081c90
mov esi, eax
mov dword [rsp + 0x30], eax
mov rdx, rbx
mov rcx, r12
call fcn.180016414
mov r11, qword [rbp + 0x250]
xor ebx, ebx
mov byte [r12 + 0xb5], bl
test esi, esi
jne 0x18003c735
jmp 0x180036fe0
mov edx, dword [rdi + 4]
mov rcx, r12
call fcn.18004b7b8
jmp 0x1800398c5
movsxd rcx, dword [rdi + 4]
xor r8d, r8d
mov rdx, qword [rdi + 0x10]
shl rcx, 5
add rcx, qword [r12 + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.180019f24
test rax, rax
je 0x18003ae03
cmp qword [r12 + 0x298], rbx
jne 0x18003adf8
add dword [rax + 0x3c], 0xffffffff
jne 0x18003ae03
mov rdx, rax
mov rcx, r12
call fcn.18004cfa0
or dword [r12 + 0x2c], r13d
jmp 0x180036fd9
movsxd rcx, dword [rdi + 4]
xor r8d, r8d
mov rax, qword [r12 + 0x20]
mov rdx, qword [rdi + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x20
call fcn.180019f24
mov rdx, rax
test rax, rax
je 0x18003ae03
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x18003ae4e
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x18003ae77
test rcx, rcx
je 0x18003ae77
mov rax, qword [rcx + 0x28]
cmp rax, rdx
je 0x18003ae64
mov rcx, rax
test rax, rax
jne 0x18003ae53
test rcx, rcx
je 0x18003ae77
cmp qword [rcx + 0x28], rdx
jne 0x18003ae77
mov rax, qword [rdx + 0x28]
mov qword [rcx + 0x28], rax
mov rcx, r12
call fcn.18004cca8
jmp 0x18003ae03
movsxd rcx, dword [rdi + 4]
xor r8d, r8d
mov rax, qword [r12 + 0x20]
mov rdx, qword [rdi + 0x10]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x38
call fcn.180019f24
mov rbx, rax
test rax, rax
je 0x18003743f
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x18003aeeb
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.180019e88
mov rdx, qword [rax + 0x10]
test rdx, rdx
je 0x18003aeeb
add rdx, 0x68
jmp 0x18003aedc
lea rdx, [rax + 0x40]
mov rax, qword [rdx]
cmp rax, rbx
jne 0x18003aed8
mov rcx, qword [rax + 0x40]
mov qword [rdx], rcx
mov rdx, rbx
mov rcx, r12
call fcn.180069c0c
or dword [r12 + 0x2c], r13d
jmp 0x18003743f
movsxd rax, dword [rdi + 0xc]
lea r8, [rbp - 0x28]
mov rcx, qword [r12 + 0x20]
mov rdx, qword [rdi + 0x10]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 4]
add rdx, 4
imul rbx, rax, 0x38
movzx eax, word [rdi + 2]
add r14, r10
shl rax, 5
add rbx, r10
mov qword [rsp + 0x20], r8
mov r8d, dword [rdi + 8]
mov r9d, dword [r14]
mov rcx, qword [rax + rcx + 8]
add r9d, r13d
call fcn.18002ef40
mov r15, rax
mov eax, 0x2400
test word [rbx + 8], ax
je 0x18003af60
mov rcx, rbx
call fcn.18003024c
jmp 0x18003af65
mov word [rbx + 8], r13w
mov eax, dword [rbp - 0x28]
test eax, eax
je 0x18003af9b
test r15, r15
je 0x180038815
dec eax
mov r9b, r13b
movsxd rcx, eax
or r8d, 0xffffffff
sub qword [r14], rcx
lea rax, [fcn.1800163bc]
mov rcx, rbx
mov qword [rsp + 0x20], rax
mov rdx, r15
call fcn.180030934
movzx edx, byte [rbp + 0x258]
mov eax, 2
mov ecx, edx
test byte [rbx + 8], al
je 0x1800375c2
movzx eax, byte [rbx + 0xa]
cmp eax, edx
je 0x1800375c2
mov dl, cl
mov rcx, rbx
call fcn.1800184d0
jmp 0x1800371b4
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul r14, rax, 0x38
add rbx, r10
mov eax, 0x10
add r14, r10
test byte [rbx + 8], al
jne 0x18003affd
mov rcx, rbx
call fcn.18003070c
test eax, eax
jne 0x180038815
mov rdx, qword [r14]
mov rcx, qword [rbx + 0x10]
call fcn.18001e354
jmp 0x18003743f
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
mov eax, 0x10
add r14, r10
test byte [r14 + 8], al
je 0x18003b0b7
mov rbx, qword [r14 + 0x10]
mov eax, 2
test byte [rbx + 0x32], al
jne 0x18003b057
test byte [rbx + 0x32], r13b
jne 0x18003b04e
mov rcx, qword [rbx + 0x10]
call fcn.18001e3f0
mov r10, qword [rsp + 0x38]
mov qword [rbx + 0x10], rax
mov eax, 3
or word [rbx + 0x32], ax
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x18003b0b5
mov r14, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x18003b07d
mov rcx, rbx
call fcn.18001e26c
mov r10, qword [rsp + 0x38]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r10
test word [rcx + 8], ax
je 0x18003b0a2
mov rdx, r14
call fcn.180030650
xor ebx, ebx
jmp 0x18003bfb6
mov eax, 4
mov qword [rcx], r14
mov word [rcx + 8], ax
xor ebx, ebx
jmp 0x18003bfbb
xor ebx, ebx
mov eax, 0x2400
test word [r14 + 8], ax
je 0x18003b0d0
mov rcx, r14
call fcn.18003024c
jmp case.0x180036def.11
mov word [r14 + 8], r13w
jmp case.0x180036def.11
movsxd rax, dword [rdi + 4]
mov r14d, dword [rdi + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul r15, rax, 0x38
add rbx, r10
mov eax, 0x10
add r15, r10
test byte [rbx + 8], al
jne 0x18003b10e
mov rcx, rbx
call fcn.18003070c
test eax, eax
jne 0x180038815
test r14d, r14d
je 0x18003b12d
mov r8, qword [r15]
mov edx, r14d
mov rcx, qword [rbx + 0x10]
call fcn.18001e5c0
test eax, eax
jne 0x18003be05
test r14d, r14d
js 0x1800371b4
mov rdx, qword [r15]
mov rcx, qword [rbx + 0x10]
call fcn.18001e354
jmp 0x1800371b4
movsxd rax, dword [rdi + 0xc]
xor r8d, r8d
mov r13, qword [rdi + 0x10]
imul rbx, rax, 0x38
add rbx, r10
cmp word [rdi + 2], r8w
je 0x18003b185
mov rax, qword [r11 + 0x100]
mov rcx, qword [r13 + 0x20]
test rax, rax
je 0x18003b185
cmp qword [rax + 0x38], rcx
je 0x18003b17c
mov rax, qword [rax + 8]
test rax, rax
jne 0x18003b16d
test rax, rax
jne 0x18003c510
mov eax, dword [r12 + 0xa4]
cmp dword [r11 + 0x110], eax
jge 0x18003c75d
mov eax, 0x10
test byte [rbx + 8], al
jne 0x18003b2d4
mov ecx, dword [r13 + 0x10]
mov r15d, dword [r13 + 0xc]
add r15d, ecx
test ecx, ecx
jne 0x18003b1ba
inc r15d
lea eax, [r15 + 2]
imul edx, eax, 7
mov eax, dword [r13 + 8]
add edx, ecx
mov ecx, 7
add eax, ecx
jns 0x18003b1d2
add eax, ecx
mov rcx, qword [rsp + 0x48]
sar eax, 3
lea r12d, [rax + rdx*8]
movsxd rdx, r12d
call fcn.180016608
mov r14, rax
xor eax, eax
test r14, r14
je 0x180038810
mov ecx, 0x2400
test word [rbx + 8], cx
jne 0x18003b204
cmp dword [rbx + 0x20], eax
je 0x18003b20c
mov rcx, rbx
call fcn.18003028c
mov r11, qword [rbp + 0x250]
mov eax, 0x410
sub rdi, qword [rsp + 0x40]
mov word [rbx + 8], ax
lea rax, [0x180032394]
mov qword [rbx + 0x30], rax
mov dword [rbx + 0xc], r12d
mov r12, qword [rsp + 0x48]
mov qword [rbx + 0x10], r14
mov qword [r14], r11
mov dword [r14 + 0x60], r15d
mov eax, dword [r13 + 0x10]
mov dword [r14 + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r14 + 0x54], edx
mov rax, qword [r11 + 0x68]
mov qword [r14 + 0x20], rax
mov eax, dword [r11 + 0x28]
mov dword [r14 + 0x5c], eax
mov rax, qword [r11 + 0x78]
mov qword [r14 + 0x28], rax
mov eax, dword [r11 + 0x2c]
mov dword [r14 + 0x50], eax
mov rax, qword [r11 + 0x88]
mov qword [r14 + 0x10], rax
mov eax, dword [r11 + 0x90]
mov dword [r14 + 0x58], eax
mov rax, qword [r13 + 0x20]
mov qword [r14 + 0x38], rax
movsxd rax, r15d
add rax, 2
imul rcx, rax, 0x38
lea rax, [r14 + 0x70]
add rcx, r14
cmp rax, rcx
je 0x18003b2d8
mov edx, 0x80
mov word [rax + 8], dx
mov qword [rax + 0x28], r12
add rax, 0x38
cmp rax, rcx
jne 0x18003b2c1
jmp 0x18003b2d8
mov r14, qword [rbx + 0x10]
inc dword [r11 + 0x110]
lea rdx, [r14 + 0x70]
mov rax, qword [r11 + 0x100]
xor ebx, ebx
mov qword [r14 + 8], rax
mov rax, qword [r12 + 0x38]
mov qword [r14 + 0x40], rax
mov eax, dword [r11 + 0x3c]
lea r8d, [rbx + 7]
mov dword [r14 + 0x68], eax
mov rax, qword [r11]
mov qword [rsp + 0x38], rdx
mov ecx, dword [rax + 0x74]
mov dword [r14 + 0x6c], ecx
mov rax, qword [r11 + 0x120]
mov qword [r14 + 0x48], rax
mov qword [r11 + 0x68], rdx
mov qword [r11 + 0x120], rbx
mov dword [r11 + 0x3c], ebx
mov qword [r11 + 0x100], r14
movsxd rcx, dword [r14 + 0x60]
mov dword [r11 + 0x28], ecx
movzx eax, word [r14 + 0x64]
mov dword [r11 + 0x2c], eax
imul rcx, rcx, 0x38
add rdx, rcx
mov qword [r11 + 0x78], rdx
movsxd rax, dword [r13 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [r14 + 0x30], rcx
mov eax, dword [r13 + 8]
add eax, r8d
cdq
and edx, r8d
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1800c1d50
mov r15, qword [r13]
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov qword [rsp + 0x40], r15
lea rdi, [r15 - 0x18]
mov qword [r11 + 0x88], r15
mov eax, dword [r13 + 8]
lea r13d, [rbx + 1]
mov dword [r11 + 0x90], eax
jmp 0x18003bfc2
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
mov r15, qword [rbp + 0x250]
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 [rdi + 4]
movsxd rcx, r8d
mov r8d, 0x1000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
call fcn.180030810
jmp 0x180038ecf
mov eax, dword [r12 + 0x30]
bt rax, 0x13
movsxd rax, dword [rdi + 8]
jae 0x18003b414
add qword [r12 + 0x290], rax
jmp case.0x180036def.86
cmp dword [rdi + 4], ebx
je 0x18003b426
add qword [r12 + 0x288], rax
jmp case.0x180036def.86
add qword [r11 + 0x50], rax
jmp case.0x180036def.86
cmp dword [rdi + 4], ebx
je 0x18003b43e
cmp qword [r12 + 0x288], rbx
jmp 0x18003b442
cmp qword [r11 + 0x50], rbx
jne case.0x180036def.86
cmp qword [r12 + 0x290], rbx
jmp 0x18003832b
mov rcx, qword [r11 + 0x100]
test rcx, rcx
je 0x18003b481
mov rax, qword [rcx + 8]
jmp 0x18003b46e
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x18003b467
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, qword [rcx + 0x20]
jmp 0x18003b48c
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, r10
mov rcx, r14
call fcn.180030330
mov qword [r14], rax
mov eax, 0x3e40
and word [r14 + 8], ax
mov eax, 4
or word [r14 + 8], ax
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.180030330
mov r11, qword [rbp + 0x250]
mov ecx, 0x3e40
and word [rbx + 8], cx
mov ecx, 4
or word [rbx + 8], cx
mov r10, qword [rsp + 0x38]
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
mov qword [rbx], rax
xor ebx, ebx
cmp qword [r14], rax
jge case.0x180036def.86
mov qword [r14], rax
jmp case.0x180036def.86
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r10]
test rdx, rdx
jle 0x180036e51
movsxd rax, dword [rdi + 0xc]
sub rdx, rax
mov qword [rcx + r10], rdx
jmp 0x18003c4f6
movsxd rax, dword [rdi + 4]
mov rdx, rdi
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
mov rcx, r11
imul r14, rax, 0x38
add rbx, r10
add r14, r10
call fcn.180036ce8
mov rcx, qword [rbx]
mov r10, rax
xor ebx, ebx
mov qword [rsp + 0x78], rcx
test rcx, rcx
jle 0x18003b57d
cmp qword [r14], rbx
lea rcx, [rsp + 0x78]
mov edx, ebx
cmovg rdx, qword [r14]
call fcn.180019a74
test eax, eax
jne 0x18003b57d
mov rax, qword [rsp + 0x78]
mov qword [r10], rax
jmp 0x180036fd9
or qword [r10], 0xffffffffffffffff
jmp 0x180036fd9
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r10]
test rax, rax
je case.0x180036def.86
jle 0x18003c4f6
dec rax
mov qword [rcx + r10], rax
jmp 0x18003c4f6
movsxd rax, dword [rdi + 4]
movabs r8, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r10]
cmp rax, r8
jle 0x18003b5cf
dec rax
mov qword [rcx + r10], rax
cmp qword [rcx + r10], rbx
jmp 0x18003832b
movzx ebx, word [rdi + 2]
mov rcx, r12
mov r14d, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.180016678
xor r11d, r11d
mov r8, rax
test rax, rax
je 0x180038815
mov r10, qword [rsp + 0x38]
lea rcx, [rbx + 6]
lea rcx, [rax + rcx*8]
mov qword [rax + 0x10], r11
mov qword [rax], rcx
mov word [rcx + 8], r13w
mov qword [rcx + 0x28], r12
mov dword [rcx + 0x20], r11d
mov rcx, qword [rdi + 0x10]
mov qword [rax + 8], rcx
mov rcx, rdi
sub rcx, r15
mov byte [r8 + 0x28], r11b
mov r15, qword [rbp + 0x250]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r15
sar rdx, 2
mov rax, rdx
mov dword [r8 + 0x24], r11d
mov byte [r8 + 0x29], bl
shr rax, 0x3f
add rdx, rax
mov dword [r8 + 0x20], edx
mov word [rdi], 0xf09b
mov qword [rdi + 0x10], r8
jmp 0x18003b678
mov r15, qword [rbp + 0x250]
xor r11d, r11d
movsxd rax, dword [rdi + 0xc]
mov rbx, qword [rdi + 0x10]
mov r14, qword [rsp + 0x38]
imul rdx, rax, 0x38
add rdx, r10
cmp qword [rbx + 0x10], rdx
je 0x18003b6d3
movzx r8d, byte [rbx + 0x29]
sub r8d, r13d
mov qword [rbx + 0x10], rdx
movsxd r9, r8d
js 0x18003b6d3
lea r10, [r9 + 6]
mov r12d, 8
lea r10, [rbx + r10*8]
mov eax, dword [rdi + 8]
add eax, r8d
sub r8d, r13d
cdqe
imul rcx, rax, 0x38
add rcx, r14
mov qword [r10], rcx
sub r10, r12
sub r9, r13
jns 0x18003b6b1
mov r12, qword [rsp + 0x48]
add dword [rdx + 0xc], r13d
lea r8, [rbx + 0x30]
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
cmp dword [rdi + 4], r11d
je 0x18003b6f1
call qword [rax + 0x30]
jmp 0x18003b6f4
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
xor edx, edx
test eax, eax
je 0x1800371b4
jle 0x18003b729
mov rcx, qword [rbx]
mov dl, r13b
call fcn.180030d44
mov r8, rax
lea rdx, [0x1801087a0]
mov rcx, r15
call fcn.1800312b4
mov esi, dword [rbx + 0x24]
xor edx, edx
mov dword [rsp + 0x30], esi
cmp byte [rbx + 0x28], dl
je 0x18003b764
cmp dword [rdi - 0x14], edx
je 0x18003b761
movsxd rax, dword [rdi - 0x14]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r14
test word [rcx + 8], ax
je 0x18003b755
mov rdx, r13
call fcn.180030650
xor edx, edx
jmp 0x18003b761
mov eax, 4
mov qword [rcx], r13
mov word [rcx + 8], ax
mov byte [rbx + 0x28], dl
mov rcx, qword [rbx]
mov eax, 0x2400
test word [rcx + 8], ax
jne 0x18003b777
cmp dword [rcx + 0x20], edx
je 0x18003b77e
call fcn.18003028c
xor edx, edx
mov rax, qword [rbx]
mov word [rax + 8], r13w
mov dword [rbx + 0x24], edx
xor ebx, ebx
test esi, esi
jne 0x180037a98
jmp 0x180038ecf
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
xor eax, eax
add rbx, r10
cmp dword [rdi + 0xc], eax
je 0x18003b81e
movsxd rax, dword [rdi + 0xc]
lea rcx, [rbp + 0x158]
mov r14, qword [rdi + 0x10]
xor edx, edx
imul rsi, rax, 0x38
lea r8d, [rdx + 0x38]
add rsi, r10
call fcn.1800c1d50
mov eax, 0x2400
test word [rsi + 8], ax
je 0x18003b7e0
mov rcx, rsi
call fcn.18003024c
jmp 0x18003b7e5
mov word [rsi + 8], r13w
lea rcx, [rbp + 0x158]
mov qword [rbp + 0x158], rsi
mov qword [rbp + 0x168], rbx
mov qword [rbp + 0x160], r14
call qword [r14 + Ordinal_41]
movsxd rax, dword [rdi + 0xc]
mov esi, dword [rbp + 0x17c]
imul rbx, rax, 0x38
mov dword [rsp + 0x30], esi
add rbx, qword [rsp + 0x38]
jmp 0x18003b830
mov rdx, qword [rdi + 0x10]
mov rcx, rbx
call fcn.18003019c
mov esi, eax
mov dword [rsp + 0x30], eax
test esi, esi
jne 0x18003c776
movzx ecx, byte [rbp + 0x258]
lea eax, [rsi + 2]
test byte [rbx + 8], al
je 0x18003b859
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x18003b859
mov dl, cl
mov rcx, rbx
call fcn.1800184d0
test byte [rbx + 8], 0x12
je 0x18003b87f
mov edx, dword [rbx + 0xc]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18003b86f
add edx, dword [rbx]
mov rax, qword [rbx + 0x28]
xor ebx, ebx
mov ecx, ebx
cmp edx, dword [rax + 0x7c]
setg cl
jmp 0x18003b883
xor ebx, ebx
mov ecx, ebx
mov r11, qword [rbp + 0x250]
test ecx, ecx
jne 0x18003c7d9
jmp 0x180036fe0
mov r8d, dword [rdi + 8]
lea rax, [rbp - 0x30]
mov edx, dword [rdi + 4]
lea r9, [rbp - 0x34]
or dword [rbp - 0x30], 0xffffffff
mov rcx, r12
or dword [rbp - 0x34], 0xffffffff
mov qword [rsp + 0x20], rax
mov dword [rbp - 0x38], ebx
call fcn.180080b74
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
je 0x18003b8df
mov eax, 5
cmp esi, eax
jne 0x180037a91
mov esi, ebx
mov dword [rsp + 0x30], ebx
mov dword [rbp - 0x38], r13d
movsxd rax, dword [rdi + 0xc]
mov ecx, 0x2400
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x38]
xor eax, eax
mov r14d, eax
lea r15d, [rax + 4]
lea r12d, [rax + 3]
movsxd rax, dword [rbp + r14*4 - 0x38]
test word [rbx + 8], cx
je 0x18003b91b
mov rdx, rax
mov rcx, rbx
call fcn.180030650
mov ecx, 0x2400
jmp 0x18003b923
mov qword [rbx], rax
mov word [rbx + 8], r15w
add r14, r13
add rbx, 0x38
cmp r14, r12
jl 0x18003b8fe
jmp 0x1800378b1
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
mov ebx, dword [rdi + 0xc]
mov r12, rax
mov r8, qword [rsp + 0x48]
mov eax, 3
movsxd rdx, dword [rdi + 4]
shl rdx, 5
cmp ebx, 0xffffffff
mov rcx, qword [r8 + 0x20]
mov r13, qword [rdx + rcx + 8]
mov rcx, qword [r13 + 8]
mov r14, qword [rcx]
movzx r15d, byte [r14 + 9]
cmove ebx, r15d
xor edx, edx
cmp byte [r14 + 0x14], al
jae 0x18003b98a
mov rax, qword [r14 + 0x50]
cmp qword [rax], rdx
je 0x18003b98d
cmp qword [r14 + 0x60], rdx
jle 0x18003b98d
mov ebx, r15d
lea rcx, [0x18010794c]
cmp byte [r14 + 0x13], dl
jne 0x18003b9a1
mov rcx, qword [r14 + 0xd0]
mov r9d, 5
cmp ebx, r9d
jne 0x18003b9e9
test rcx, rcx
je 0x18003b9e6
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], dl
jne 0x18003b9b5
and eax, 0x3fffffff
je 0x18003b9e6
mov rax, qword [r14 + 0x48]
mov rcx, qword [rax]
cmp byte [r14 + 0x11], dl
jne 0x18003b9e6
cmp byte [r14 + 8], dl
jne 0x18003b9e9
mov eax, 2
cmp dword [rcx], eax
jl 0x18003b9e6
cmp qword [rcx + 0x68], rdx
jne 0x18003b9e9
mov ebx, r15d
cmp ebx, r15d
je 0x18003ba6d
cmp r15d, r9d
je 0x18003b9f8
cmp ebx, r9d
jne 0x18003ba6d
cmp byte [r8 + 0x5f], dl
je 0x18003c79c
cmp dword [r8 + 0xcc], 1
jg 0x18003c79c
cmp r15d, r9d
jne 0x18003ba38
mov rdx, r8
mov rcx, r14
call fcn.180022a50
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
jne 0x18003ba71
mov edx, ebx
mov rcx, r14
call fcn.180022850
xor edx, edx
jmp 0x18003ba53
mov eax, 4
cmp r15d, eax
jne 0x18003ba4f
lea edx, [rax - 2]
mov rcx, r14
call fcn.180022850
xor edx, edx
test esi, esi
jne 0x18003ba71
mov eax, 5
mov rcx, r13
cmp ebx, eax
sete dl
inc edx
call fcn.18002f378
mov esi, eax
mov dword [rsp + 0x30], eax
test esi, esi
je 0x18003ba74
mov ebx, r15d
mov edx, ebx
mov rcx, r14
call fcn.180022850
xor ebx, ebx
mov ecx, 0xa02
mov word [r12 + 8], cx
cmp eax, 6
jne 0x18003ba94
mov ecx, ebx
jmp 0x18003baa5
cdqe
lea rcx, [0x180000000]
mov rcx, qword [rcx + rax*8 + 0xed8f0]
mov qword [r12 + 0x10], rcx
test rcx, rcx
jne 0x18003bab3
mov eax, ebx
jmp 0x18003bac4
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], bl
jne 0x18003bab7
and eax, 0x3fffffff
movzx edx, byte [rbp + 0x258]
mov r13d, 1
mov dword [r12 + 0xc], eax
mov eax, edx
mov byte [r12 + 0xa], r13b
cmp edx, r13d
je 0x18003baf2
mov dl, al
mov rcx, r12
call fcn.1800184d0
mov dl, byte [rbp + 0x258]
test esi, esi
jne 0x180037a91
mov r11, qword [rbp + 0x250]
mov r12, qword [rsp + 0x48]
mov r10, qword [rsp + 0x38]
mov r15, qword [rsp + 0x40]
jmp 0x18003bfd8
cmp dword [rdi + 8], ebx
je 0x18003bb27
movsxd rax, dword [rdi + 8]
imul r9, rax, 0x38
add r9, r10
jmp 0x18003bb2a
mov r9, rbx
mov r8d, dword [rdi + 4]
lea rcx, [r11 + 0xa8]
mov rdx, r12
call fcn.18006ca9c
jmp 0x1800398c5
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.1800283a0
mov dword [rsp + 0x30], eax
mov esi, eax
test eax, eax
je 0x180036fd9
cmp eax, 0x65
jne 0x180037a91
mov esi, ebx
mov dword [rsp + 0x30], ebx
jmp 0x18003c4f6
cmp dword [rdi + 4], ebx
jne 0x18003bbb1
mov rax, qword [r12 + 8]
mov ecx, dword [rdi + 8]
test rax, rax
je case.0x180036def.86
inc ecx
and ecx, 3
and dword [rax + 0xc8], 0xfffffffc
or dword [rax + 0xc8], ecx
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x18003bb96
jmp case.0x180036def.86
mov eax, dword [rdi + 8]
add eax, r13d
xor eax, dword [r11 + 0xc8]
and eax, 3
xor dword [r11 + 0xc8], eax
jmp case.0x180036def.86
mov rbx, qword [rdi + 0x10]
mov rcx, r12
mov rdx, rbx
call fcn.18006dee8
mov r15, qword [rbp + 0x250]
mov esi, eax
mov dword [rsp + 0x30], eax
test rbx, rbx
je 0x18003b789
mov rdx, qword [rbx + 0x10]
mov rcx, r15
call fcn.180034d48
jmp 0x18003b789
xor edx, edx
lea rcx, [rbp + 0x120]
lea r8d, [rdx + 0x38]
call fcn.1800c1d50
movsxd rax, dword [rdi + 8]
lea rcx, [rbp + 0x120]
imul rdx, rax, 0x38
mov qword [rbp + 0x148], r12
add rdx, qword [rsp + 0x38]
call fcn.18003084c
mov dl, r13b
mov dword [rsp + 0x30], eax
lea rcx, [rbp + 0x120]
mov esi, eax
call fcn.180030d44
mov r15, qword [rbp + 0x250]
test rax, rax
je 0x18003bc71
mov edx, dword [rdi + 4]
lea r9, [r15 + 0xa8]
mov r8, rax
mov rcx, r12
call fcn.18006da18
mov esi, eax
mov dword [rsp + 0x30], eax
mov eax, 0x2400
test word [rbp + 0x128], ax
jne 0x18003bc8b
cmp dword [rbp + 0x140], ebx
je 0x18003b78b
lea rcx, [rbp + 0x120]
call fcn.18003028c
jmp 0x18003b78b
add dword [r12 + 0xd8], r13d
mov rcx, r12
mov r8, qword [rdi + 0x10]
mov edx, dword [rdi + 4]
call fcn.18006dd38
dec dword [r12 + 0xd8]
jmp 0x1800398c5
mov rax, qword [rdi + 0x10]
mov qword [rbp - 0x80], rbx
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x18003c7c8
mov r14, qword [rbx]
test r14, r14
je 0x18003c7c8
lea rdx, [rbp - 0x80]
mov rcx, rbx
call qword [r14 + 0x30]
mov r15, qword [rbp + 0x250]
mov rdx, rbx
mov rcx, r15
mov dword [rsp + 0x30], eax
mov esi, eax
call fcn.180034d48
test esi, esi
jne 0x180037a98
mov rax, qword [rbp - 0x80]
or r9d, 0xffffffff
xor r8d, r8d
mov rcx, r15
mov qword [rax], rbx
lea eax, [rsi + 2]
mov edx, dword [rdi + 4]
mov byte [rsp + 0x20], al
call fcn.1800369b8
mov rcx, qword [rbp - 0x80]
test rax, rax
je 0x18003c7bf
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r13d
jmp 0x1800371b4
mov r8, qword [rbp + 0x250]
lea r11, [r10 + 0x38]
movsxd rax, dword [rdi + 0xc]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r8 + 0x78]
mov r14, qword [r8 + 0x70]
add r11, rdx
mov r13, qword [rax + rcx*8]
xor eax, eax
movsxd r9, dword [r11]
mov r8d, eax
mov edx, dword [rdx + r10]
mov qword [rsp + 0x78], r13
mov rbx, qword [r13 + 0x38]
mov r12, qword [rbx]
mov r15, qword [r12]
test r9d, r9d
jle 0x18003bdb2
lea r13d, [rax + 1]
mov r10d, r13d
movsxd rax, r10d
add r10d, r13d
imul rcx, rax, 0x38
add rcx, r11
mov qword [r14 + r8*8], rcx
add r8, r13
cmp r8, r9
jl 0x18003bd94
mov r13, qword [rsp + 0x78]
mov r8, qword [rdi + 0x10]
mov rcx, rbx
mov qword [rsp + 0x20], r14
call qword [r15 + 0x40]
mov rcx, qword [rbp + 0x250]
mov rdx, r12
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.180034d48
xor r14d, r14d
test esi, esi
jne 0x180037a91
mov rcx, rbx
call qword [r15 + 0x50]
mov r15, qword [rsp + 0x40]
xor ebx, ebx
mov byte [r13 + 2], bl
lea r13d, [rsi + 1]
test eax, eax
je 0x18003c506
jmp 0x18003c4f6
mov r15, qword [rsp + 0x40]
xor ebx, ebx
jmp 0x18003c4f6
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
xor eax, eax
add rbx, r10
cmp byte [r14 + 2], al
jne 0x1800381b2
mov rax, qword [r14 + 0x38]
lea rcx, [rbp + 0x1c0]
xor edx, edx
mov r15, qword [rax]
lea r8d, [rdx + 0x38]
mov rsi, qword [r15]
call fcn.1800c1d50
mov qword [rbp + 0x1c0], rbx
test byte [rdi + 2], r13b
je 0x18003be86
mov eax, 0x2400
test word [rbx + 8], ax
je 0x18003be72
mov rcx, rbx
call fcn.18003024c
jmp 0x18003be77
mov word [rbx + 8], r13w
mov eax, 0x4001
mov word [rbx + 8], ax
xor eax, eax
mov dword [rbx], eax
jmp 0x18003be94
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], r13w
mov r8d, dword [rdi + 8]
lea rdx, [rbp + 0x1c0]
mov rcx, qword [r14 + 0x38]
call qword [rsi + reloc.WLDAP32.dll_Ordinal_88]
mov rcx, qword [rbp + 0x250]
mov rdx, r15
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.180034d48
xor eax, eax
cmp dword [rbp + 0x1e4], eax
jle 0x18003bef0
mov dl, r13b
mov rcx, rbx
call fcn.180030d44
mov rcx, qword [rbp + 0x250]
lea rdx, [0x1801087a0]
mov r8, rax
call fcn.1800312b4
mov esi, dword [rbp + 0x1e4]
mov dword [rsp + 0x30], esi
movzx ecx, byte [rbp + 0x258]
mov eax, 2
test byte [rbx + 8], al
je 0x18003bf13
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x18003bf13
mov dl, cl
mov rcx, rbx
call fcn.1800184d0
test byte [rbx + 8], 0x12
je 0x18003bf39
mov edx, dword [rbx + 0xc]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18003bf29
add edx, dword [rbx]
mov rax, qword [rbx + 0x28]
xor ebx, ebx
mov ecx, ebx
cmp edx, dword [rax + 0x7c]
setg cl
jmp 0x18003bf3d
xor ebx, ebx
mov ecx, ebx
test ecx, ecx
jne 0x18003c7d2
test esi, esi
jne 0x180037a91
jmp 0x180038ecf
movsxd rcx, dword [rdi + 4]
mov rax, qword [r11 + 0x78]
mov r14, qword [rax + rcx*8]
cmp byte [r14 + 2], bl
jne case.0x180036def.86
mov rcx, qword [r14 + 0x38]
mov rbx, qword [rcx]
mov r15, qword [rbx]
call qword [r15 + SQLSetEnvAttr]
mov rcx, qword [rbp + 0x250]
mov rdx, rbx
mov esi, eax
mov dword [rsp + 0x30], eax
call fcn.180034d48
xor ebx, ebx
test esi, esi
jne 0x180037a91
mov rcx, qword [r14 + 0x38]
call qword [r15 + 0x50]
mov r15, qword [rsp + 0x40]
test eax, eax
jne 0x18003bfb6
mov eax, dword [rdi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x250]
mov eax, dword [r12 + 0x160]
test eax, eax
jne 0x18003ca23
mov dl, byte [rbp + 0x258]
mov r9d, dword [rbp + 0x268]
jmp case.0x180036def.86
mov r14d, dword [r12 + 0x30]
mov eax, 0x4000000
or qword [r12 + 0x30], rax
and r14d, eax
mov rax, qword [rdi + 0x10]
mov r15, qword [rax + 0x10]
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 2
add rbx, r10
test byte [rbx + 8], al
je 0x18003c028
cmp byte [rbx + 0xa], r13b
je 0x18003c028
mov dl, r13b
mov rcx, rbx
call fcn.1800184d0
mov esi, eax
jmp 0x18003c02a
xor esi, esi
test esi, esi
jne 0x180037a91
mov rax, qword [r15]
mov rcx, r15
mov rdx, qword [rbx + 0x10]
call qword [rax + Ordinal_157]
xor ebx, ebx
mov dword [rsp + 0x30], eax
mov esi, eax
test r14d, r14d
jne 0x18003c056
btr qword [r12 + 0x30], 0x1a
mov rcx, qword [rbp + 0x250]
mov rdx, r15
call fcn.180034d48
mov r11, qword [rbp + 0x250]
and dword [r11 + 0xc8], 0xfffffffc
test esi, esi
jne 0x180037a91
jmp 0x18003893d
cmp byte [r12 + 0x61], bl
jne 0x180038815
mov rax, qword [rdi + 0x10]
xor r14d, r14d
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x18003c7c8
mov r10, qword [rbx]
test r10, r10
je 0x18003c7c8
movsxd rdx, dword [rdi + 8]
cmp qword [r10 + 0x68], r14
je 0x18003c525
movsxd rax, dword [rdi + 0xc]
mov r8, qword [r11 + 0x70]
xor r11d, r11d
mov r14b, byte [r12 + 0x66]
imul rcx, rax, 0x38
mov eax, r11d
add rcx, qword [rsp + 0x38]
test edx, edx
jle 0x18003c0ea
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r13
cmp rax, rdx
jl 0x18003c0da
mov al, byte [rdi + 2]
lea r9, [rbp + 0x30]
mov rcx, rbx
mov byte [r12 + 0x66], al
call qword [r10 + 0x68]
mov rcx, qword [rbp + 0x250]
mov rdx, rbx
mov esi, eax
mov dword [rsp + 0x30], eax
mov byte [r12 + 0x66], r14b
call fcn.180034d48
xor ebx, ebx
test esi, esi
jne 0x18003c12b
cmp dword [rdi + 4], ebx
je 0x18003c12b
mov rax, qword [rbp + 0x30]
mov qword [r12 + 0x38], rax
cmp sil, 0x13
jne 0x18003c179
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x1c], bl
je 0x18003c179
mov eax, 4
cmp word [rdi + 2], ax
jne 0x18003c150
mov esi, ebx
mov dword [rsp + 0x30], ebx
jmp 0x180036fd9
mov eax, 5
cmp word [rdi + 2], ax
jne 0x18003c162
mov eax, 2
jmp 0x18003c166
movzx eax, word [rdi + 2]
mov r11, qword [rbp + 0x250]
mov byte [r11 + 0xc2], al
jmp 0x1800393f7
mov r11, qword [rbp + 0x250]
add dword [r11 + 0x3c], r13d
jmp 0x1800393f7
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
mov rcx, qword [r12 + 0x20]
movsxd rdx, dword [rdi + 4]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x3c]
mov qword [rax], rdx
jmp 0x180036fd9
mov rdx, rdi
mov rcx, r11
call fcn.180036ce8
mov rcx, qword [r12 + 0x20]
mov r8, rax
movsxd rdx, dword [rdi + 4]
shl rdx, 5
mov rax, qword [rdx + rcx + 8]
mov ecx, ebx
mov edx, dword [rdi + 0xc]
test edx, edx
je 0x18003c1ea
mov rcx, qword [rax + 8]
mov ecx, dword [rcx + 0x3c]
cmp ecx, edx
cmovb ecx, edx
mov rax, qword [rax + 8]
mov rdx, qword [rax]
test ecx, ecx
jle 0x18003c1fb
mov dword [rdx + 0xc0], ecx
movsxd rax, dword [rdx + 0xc0]
mov qword [r8], rax
jmp 0x180036fd9
movzx ebx, word [rdi + 2]
mov rcx, r12
lea eax, [rbx - 1]
movsxd rdx, eax
lea rdx, [rdx*8 + 0x38]
call fcn.180016678
xor r11d, r11d
mov r8, rax
test rax, rax
je 0x180038815
mov r10, qword [rsp + 0x38]
mov qword [rax], r11
mov rcx, qword [rdi + 0x10]
mov qword [rax + 8], rcx
mov rcx, rdi
sub rcx, r15
mov dword [r8 + 0x24], r11d
mov r15, qword [rbp + 0x250]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r15
sar rdx, 2
mov byte [r8 + 0x29], bl
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea eax, [r11 + 2]
mov dword [r8 + 0x20], edx
add byte [rdi], al
mov byte [rdi + 1], 0xf0
mov qword [rdi + 0x10], r8
jmp 0x18003c292
mov r15, qword [rbp + 0x250]
movsxd rax, dword [rdi + 0xc]
mov r14, qword [rdi + 0x10]
imul rbx, rax, 0x38
add rbx, r10
cmp qword [r14], rbx
je 0x18003c2e5
movzx edx, byte [r14 + 0x29]
sub edx, r13d
mov qword [r14], rbx
movsxd r8, edx
js 0x18003c2e5
lea r9, [r8 + 6]
mov r12d, 8
lea r9, [r14 + r9*8]
mov eax, dword [rdi + 8]
add eax, edx
sub edx, r13d
cdqe
imul rcx, rax, 0x38
add rcx, r10
mov qword [r9], rcx
sub r9, r12
sub r8, r13
jns 0x18003c2c4
mov r12, qword [rsp + 0x48]
mov eax, 0x3e40
lea r8, [r14 + 0x30]
and word [rbx + 8], ax
mov rcx, r14
or word [rbx + 8], r13w
mov rax, qword [r14 + 8]
movzx edx, byte [r14 + 0x29]
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [r14 + 0x24]
test eax, eax
je 0x18003c362
jle 0x18003c335
mov dl, r13b
mov rcx, rbx
call fcn.180030d44
mov r8, rax
lea rdx, [0x1801087a0]
mov rcx, r15
call fcn.1800312b4
mov esi, dword [r14 + 0x24]
mov dword [rsp + 0x30], esi
mov rdx, qword [rbp + 0x250]
mov rcx, r12
mov r9d, dword [rdi + 4]
add rdx, 0x120
mov r8d, dword [r14 + 0x20]
call fcn.1800339bc
xor r15d, r15d
mov dword [r14 + 0x24], r15d
test esi, esi
jne 0x180037a91
test byte [rbx + 8], 0x12
je 0x1800371b4
movzx ecx, byte [rbp + 0x258]
mov eax, 2
test byte [rbx + 8], al
je 0x18003c38f
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x18003c38f
mov dl, cl
mov rcx, rbx
call fcn.1800184d0
test byte [rbx + 8], 0x12
je 0x18003c3b5
mov edx, dword [rbx + 0xc]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x18003c3a5
add edx, dword [rbx]
mov rax, qword [rbx + 0x28]
xor ebx, ebx
mov ecx, ebx
cmp edx, dword [rax + 0x7c]
setg cl
jmp 0x18003c3b9
xor ebx, ebx
mov ecx, ebx
mov r11, qword [rbp + 0x250]
test ecx, ecx
jne 0x18003c7d9
jmp 0x18003893d
mov r13d, 1
jmp 0x1800371b4
mov r10, qword [rsp + 0x38]
mov r12, rax
mov r15, qword [rsp + 0x40]
mov r9d, dword [rbp + 0x268]
jmp 0x180036e51
test byte [r12 + 0x68], r13b
je 0x18003c4a2
mov eax, 0x10
test byte [r11 + 0xc8], al
jne 0x18003c4a2
mov r9, qword [rdi + 0x10]
test r9, r9
jne 0x18003c423
mov r9, qword [r11 + 0xf0]
test r9, r9
je 0x18003c49b
cmp dword [r12 + 0xd4], r13d
jle 0x18003c473
mov r8, r9
lea rdx, str.____s
mov rcx, r12
call fcn.1800180b0
mov r8, qword [rbp + 0x250]
mov r9, rax
mov rdx, qword [r12 + 0xf0]
mov ecx, r13d
mov rbx, rax
call qword [r12 + 0xe8]
test rbx, rbx
je 0x18003c46f
mov rdx, rbx
mov rcx, r12
call fcn.180016414
xor ebx, ebx
jmp 0x18003c489
mov rdx, qword [r12 + 0xf0]
mov r8, r11
mov ecx, r13d
call qword [r12 + 0xe8]
mov dl, byte [rbp + 0x258]
mov r10, qword [rsp + 0x38]
mov r11, qword [rbp + 0x250]
mov r9d, dword [rbp + 0x268]
mov eax, dword [0x180150c80]
cmp dword [rdi + 4], eax
jl 0x18003c4eb
cmp byte [rdi], 0xa8
je case.0x180036def.86
mov edx, r13d
cmp dword [r11 + 0x90], r13d
jle 0x18003c4e8
mov eax, reloc.ODBC32.dll_SQLAllocHandle
mov rcx, qword [r11 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x18003c4d8
mov dword [rax + rcx + 4], ebx
add edx, r13d
add rax, 0x18
cmp edx, dword [r11 + 0x90]
jl 0x18003c4c7
mov dword [rdi + 4], ebx
add dword [rdi + 4], r13d
add dword [r11 + 0xec], r13d
mov eax, dword [rdi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
mov r12, qword [rsp + 0x48]
jmp 0x180036fd9
mov r13d, 1
jmp 0x180036fb5
mov r12, qword [rsp + 0x48]
jmp 0x1800372ca
mov r10, qword [rsp + 0x38]
jmp 0x1800372ca
mov ecx, dword [rdi + 4]
mov dword [r11 + 0x38], ecx
mov al, byte [rdi + 8]
mov byte [r11 + 0xc2], al
mov dword [r11 + 0x34], ebx
test ecx, ecx
je 0x18003c5e8
mov rcx, r11
cmp word [rdi + 2], r14w
je 0x18003c5a5
movzx r8d, word [rdi + 2]
lea rax, [0x180000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0xede10]
call fcn.1800312b4
mov r9, qword [rdi + 0x10]
mov rsi, qword [rbp + 0x250]
test r9, r9
je 0x18003c5bc
mov r8, qword [rsi + 0xa8]
lea rdx, str._z:__s
mov rcx, r12
call fcn.1800180b0
mov qword [rsi + 0xa8], rax
jmp 0x18003c5bc
mov r8, qword [rdi + 0x10]
lea rdx, [0x1801087a0]
call fcn.1800312b4
mov rsi, qword [rbp + 0x250]
mov rax, qword [rsi + 0xa8]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [rsi + 0xf0]
mov r8d, ebx
mov ecx, dword [rdi + 4]
mov qword [rsp + 0x20], rax
call fcn.180018220
mov r11, qword [rbp + 0x250]
mov rcx, r11
call fcn.180033534
mov r15, qword [rbp + 0x250]
mov esi, eax
mov eax, 5
cmp esi, eax
jne 0x18003c60b
mov dword [r15 + 0x38], eax
jmp 0x180037b79
mov rax, qword [rbp + 0x250]
mov eax, dword [rax + 0x38]
neg eax
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x180037b79
mov ecx, 0x152d5
call fcn.180081c90
mov esi, eax
jmp 0x180037a91
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r11
call fcn.1800312b4
mov esi, 5
jmp 0x180037a91
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x18003c63c
sub rdi, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor eax, eax
mov dword [rsi + 0x34], edx
mov byte [r15 + 0x5f], al
mov r15, qword [rbp + 0x250]
mov esi, ecx
mov dword [r15 + 0x38], ecx
jmp 0x180037b79
mov r8, r15
lea rdx, str.no_such_savepoint:__s
mov rcx, r11
call fcn.1800312b4
mov esi, 1
jmp 0x180037a91
mov esi, 8
jmp 0x180037a91
mov eax, 5
cmp sil, al
jne 0x180037a91
sub rdi, r15
movabs rax, 0x2aaaaaaaaaaaaaab
mov r15, qword [rbp + 0x250]
imul rdi
mov dword [r15 + 0x38], esi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r15 + 0x34], edx
jmp 0x180037b79
mov esi, 0x204
jmp 0x180037a91
mov r15, qword [rbp + 0x250]
mov esi, 7
mov eax, esi
jmp 0x180037a9d
mov r15, qword [rbp + 0x250]
mov esi, 6
lea eax, [rsi - 4]
mov byte [r15 + 0xc2], al
jmp 0x180037a98
mov esi, 7
mov rcx, r12
call fcn.18004ce8c
mov r14b, byte [rbp + 0x260]
mov eax, 7
cmp esi, eax
je 0x18003881c
mov r15, qword [rbp + 0x250]
jmp 0x180037aa4
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r11
mov esi, 1
call fcn.1800312b4
jmp 0x180037a91
mov dl, r13b
mov rcx, rbx
call fcn.180030d44
mov r8, rax
lea rdx, [0x1801087a0]
mov rcx, qword [rbp + 0x250]
call fcn.1800312b4
jmp 0x180037a91
cmp ebx, r9d
lea rax, str.into
lea r8, str.out_of
mov esi, 1
cmove r8, rax
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
jmp 0x18003c78b
call qword [r14 + 0x38]
jmp 0x180038815
mov esi, 6
jmp 0x180037a91
mov r11, qword [rbp + 0x250]
lea rdx, str.string_or_blob_too_big
mov rcx, r11
call fcn.1800312b4
mov esi, 0x12
jmp 0x180037a91
cmp qword [r11 + 0x50], rbx
jle 0x18003c823
mov eax, 2
mov dword [r11 + 0x38], 0x313
mov byte [r11 + 0xc2], al
lea rdx, str.FOREIGN_KEY_constraint_failed
mov rcx, r11
call fcn.1800312b4
mov esi, r13d
jmp 0x180037a91
mov rax, qword [r11]
cmp dword [rax + 0x280], ebx
je 0x18003c84b
cmp dword [r11 + 0x40], ebx
je 0x18003c84b
mov edx, r13d
mov rcx, r11
call fcn.1800333f0
mov r11, qword [rbp + 0x250]
mov r10, qword [rsp + 0x38]
mov eax, dword [r11 + 0x30]
mov esi, ebx
add eax, 2
or eax, r13d
mov dword [r11 + 0x30], eax
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, r10
mov qword [r11 + 0xa0], r14
cmp dword [rdi + 8], ebx
jle 0x18003c8ca
lea rbx, [r14 + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x18003c897
movsxd rax, esi
imul rcx, rax, 0x38
add rcx, r14
call fcn.18002ffb4
test eax, eax
jne 0x180038815
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
mov ecx, 2
cmp ax, cx
jne 0x18003c8b5
lea rcx, [rbx - 8]
call fcn.18002ff58
add esi, r13d
add rbx, 0x38
cmp esi, dword [rdi + 8]
jl 0x18003c876
mov r11, qword [rbp + 0x250]
xor ebx, ebx
cmp byte [r12 + 0x61], bl
jne 0x180038815
mov eax, 4
test byte [r12 + 0x68], al
je 0x18003c8f9
mov rdx, qword [r12 + 0xf0]
xor r9d, r9d
mov r8, r11
mov ecx, eax
call qword [r12 + 0xe8]
sub rdi, r15
movabs rax, 0x2aaaaaaaaaaaaaab
mov r15, qword [rbp + 0x250]
mov esi, 0x64
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r13d
mov dword [r15 + 0x34], edx
jmp 0x180037b79
movzx eax, byte [r12 + 0x5f]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
cmp ebx, eax
je 0x18003c9f2
xor r14d, r14d
test ecx, ecx
je 0x18003c95e
mov edx, 0x204
mov rcx, r12
call fcn.180080028
mov byte [r12 + 0x5f], r13b
jmp 0x18003c992
test ebx, ebx
je 0x18003c978
cmp dword [r12 + 0xd0], r14d
jle 0x18003c978
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x18003c63c
mov edx, r13d
mov rcx, r11
call fcn.1800334e4
mov esi, eax
test eax, eax
jne 0x180037b72
mov byte [r12 + 0x5f], bl
mov rsi, qword [rbp + 0x250]
mov rcx, rsi
call fcn.180033534
mov ecx, 5
cmp eax, ecx
jne 0x18003c9d8
sub rdi, r15
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub r13b, bl
mov dword [rsi + 0x34], edx
mov byte [r12 + 0x5f], r13b
jmp 0x18003c680
mov rcx, r12
call fcn.18007fba8
mov eax, dword [rsi + 0x38]
neg eax
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x180037b72
xor r9d, r9d
lea r8, str.cannot_rollback___no_transaction_is_active
test ebx, ebx
lea rdx, str.cannot_commit___no_transaction_is_active
mov eax, r9d
sete al
test ecx, ecx
lea rcx, str.cannot_start_a_transaction_within_a_transaction
cmovne rdx, r8
test eax, eax
cmovne rdx, rcx
jmp 0x18003c813
mov r14b, byte [rbp + 0x260]
mov al, byte [r12 + 0x61]
neg al
sbb esi, esi
and esi, 0xfffffffe
add esi, 9
mov ecx, esi
mov dword [r11 + 0x38], esi
call fcn.180080130
mov r8, rax
lea rdx, [0x1801087a0]
mov rcx, r11
call fcn.1800312b4
mov r15, qword [rbp + 0x250]
mov eax, 7
jmp 0x180037aa4