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

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x178]
sub rsp, 0x238
mov r8, qword [rcx + 0x88]
mov r14, rcx
xor ecx, ecx
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov rdi, r8
mov qword [rsp + 0x48], r8
mov esi, ecx
mov rbx, qword [r14]
mov r15b, cl
mov r11, qword [r14 + 0x68]
lea eax, [rcx + 7]
lea r13d, [rcx + 1]
mov dword [rsp + 0x40], ecx
mov r9d, ecx
mov qword [rsp + 0x38], rbx
mov edx, ecx
mov r12b, byte [rbx + 0x5e]
mov byte [rbp + 0x190], r12b
mov byte [rbp + 0x188], cl
mov dword [rsp + 0x30], ecx
mov dword [rbp - 0x48], ecx
mov qword [rsp + 0x50], r11
cmp dword [r14 + 0x38], eax
je 0x14003c598
mov qword [r14 + 0x48], rcx
mov qword [r14 + 0xa0], rcx
mov eax, dword [rbx + 0x160]
mov dword [rbx + 0x228], ecx
test eax, eax
jne 0x14003a802
movsxd rax, dword [r14 + 0x34]
lea r10d, [r13 + 3]
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea rdi, [r8 + rcx*8]
lea rcx, [0x140000000]
movzx r15d, byte [rdi]
add edx, r13d
mov qword [rbp - 0x68], rdi
mov dword [rbp - 0x48], edx
cmp r15d, 0xa8
ja case.default.0x14003723f
mov ecx, dword [rcx + r15*4 + 0x3c5bc]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
movsxd rax, dword [rdi + 4]
movabs rdx, 0xaaaaaaaaaaaaaaab
imul rcx, rax, 0x38
mov rax, rdi
sub rax, r8
sar rax, 3
imul rax, rdx
mov word [rcx + r11 + 8], r10w
cdqe
jmp 0x14003b3ce
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r11]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + r11 + 8], ax
lea rdi, [r8 + rcx*8]
jmp case.0x14003723f.86
movsxd rax, dword [rdi + 4]
xor r15d, r15d
imul rcx, rax, 0x38
mov eax, dword [rdi + 0xc]
sub eax, r13d
cdqe
mov qword [rcx + r11], rax
mov word [rcx + r11 + 8], r10w
cmp dword [rdi + 8], r15d
jne 0x140037dd0
jmp case.0x14003723f.86
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r11]
lea rcx, [rax + rax*2]
mov eax, dword [r8 + rcx*8 + 8]
sub eax, r13d
cdqe
jmp 0x14003727a
movsxd rax, dword [rdi + 4]
sub rdi, r8
imul rdx, rax, 0x38
sar rdi, 3
movabs rax, 0xaaaaaaaaaaaaaaab
imul rax, rdi
movsxd rcx, dword [rdx + r11]
cdqe
mov word [rdx + r11 + 8], r10w
mov qword [rdx + r11], rax
lea rcx, [rcx + rcx*2]
lea rdi, [r8 + rcx*8]
jmp case.0x14003723f.86
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 8], r13b
je case.0x14003723f.86
mov edx, dword [rdi + 4]
mov rbx, rdi
sub rbx, r8
movabs rax, 0xaaaaaaaaaaaaaaab
sar rbx, 3
xor r15d, r15d
imul rbx, rax
test edx, edx
jne 0x14003c0b6
mov rcx, qword [r14 + 0x100]
test rcx, rcx
je 0x14003c0b6
mov rax, qword [rcx + 8]
dec dword [r14 + 0x110]
mov rbx, qword [rsp + 0x38]
mov qword [r14 + 0x100], rax
mov eax, dword [r14 + 0x3c]
add dword [rbx + 0x78], eax
mov dword [rbx + 0x74], eax
call fcn.140032e44
mov r8, qword [r14 + 0x88]
lea r10d, [r15 + 4]
mov qword [rsp + 0x48], r8
cmp dword [rdi + 8], r10d
jne 0x1400373a7
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [r8 + rcx*8 + 8]
sub eax, r13d
mov r11, qword [r14 + 0x68]
cdqe
mov qword [rsp + 0x50], r11
lea rcx, [rax + rax*2]
lea rdi, [r8 + rcx*8]
mov r9d, dword [rsp + 0x30]
jmp case.0x14003723f.86
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov rcx, rax
movsxd rax, dword [rdi + 4]
mov qword [rcx], rax
mov r11, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x30]
mov r10d, 4
jmp case.0x14003723f.86
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov rdx, rax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x1400373d9
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov rdx, rax
mov eax, 8
mov word [rdx + 8], ax
jmp 0x140037401
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov rdx, qword [rdi + 0x10]
xor r15d, r15d
mov rbx, rax
test rdx, rdx
jne 0x140037445
mov eax, r15d
jmp 0x140037457
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], r15b
jne 0x140037449
and eax, 0x3fffffff
mov dword [rdi + 4], eax
cmp r12b, r13b
je 0x1400374da
mov r9b, r13b
mov qword [rsp + 0x20], r15
or r8d, 0xffffffff
mov rcx, rbx
call fcn.140030a70
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x14003b5ea
lea eax, [rsi + 2]
test byte [rbx + 8], al
je 0x1400374a2
cmp byte [rbx + 0xa], r12b
je 0x1400374a2
mov dl, r12b
mov rcx, rbx
call fcn.140018828
test eax, eax
jne 0x14003c372
mov eax, 0x800
mov dword [rbx + 0x20], r15d
or word [rbx + 8], ax
cmp byte [rdi + 1], 0xf9
jne 0x1400374c8
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x1400374c8
mov rcx, qword [rsp + 0x38]
call fcn.1400166f0
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 rbx, qword [rsp + 0x38]
cmp eax, dword [rbx + 0x7c]
jg 0x14003b5ea
mov byte [rdi], Ordinal_73
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov rcx, rax
mov eax, 0xa02
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], r12b
jmp 0x1400373d9
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov r15d, dword [rdi + 0xc]
mov rcx, rax
mov eax, dword [rdi + 4]
mov edx, dword [rdi + 8]
neg eax
mov eax, 0x100
sbb r12w, r12w
lea rbx, [rcx + 8]
and r12w, ax
xor r9d, r9d
add r12w, r13w
mov dword [rcx + 0xc], r9d
sub r15d, edx
mov word [rbx], r12w
test r15d, r15d
jle 0x14003bf8c
mov eax, 0x2400
lea rbx, [rbx + 0x38]
test word [rbx], ax
je 0x14003757e
lea rcx, [rbx - 8]
call fcn.1400302e4
xor r9d, r9d
mov eax, 0x2400
sub r15d, r13d
mov word [rbx], r12w
mov dword [rbx + 4], r9d
test r15d, r15d
jg 0x140037564
mov rbx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
mov r12b, byte [rbp + 0x190]
jmp 0x1400373e3
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, r11
and word [rcx + 8], ax
or word [rcx + 8], r13w
jmp case.0x14003723f.86
mov rdx, rdi
mov rcx, r14
call fcn.140037128
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.140030a70
mov byte [rbx + 0xa], r12b
mov rbx, qword [rsp + 0x38]
jmp 0x1400373d9
movsxd rax, dword [rdi + 4]
imul r15, rax, 0x38
add r15, qword [r14 + 0x80]
lea rcx, [r15 - 0x38]
call fcn.1400308e8
test eax, eax
jne 0x14003b5ea
movsxd rax, dword [rdi + 8]
mov r11, qword [rsp + 0x50]
imul rbx, rax, 0x38
mov eax, 0x2400
add rbx, r11
test word [rbx + 8], ax
je 0x140037645
mov rcx, rbx
call fcn.1400302e4
mov r11, qword [rsp + 0x50]
movups xmm0, xmmword [r15 - 0x38]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [r15 - 0x28]
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 rbx, qword [rsp + 0x38]
jmp 0x1400373de
movsxd rax, dword [rdi + 4]
mov r12d, dword [rdi + 0xc]
imul r15, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add r15, r11
add rbx, r11
mov rdx, r15
mov rcx, rbx
call fcn.140030a10
mov eax, 0x1000
test word [rbx + 8], ax
je 0x1400376ba
mov rcx, rbx
call fcn.14002fff0
test eax, eax
jne 0x14003c372
add r15, 0x38
add rbx, 0x38
sub r12d, r13d
jne 0x140037694
jmp 0x14003758e
movsxd rax, dword [rdi + 4]
mov r12d, dword [rdi + 0xc]
imul r15, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add r15, r11
add rbx, r11
mov r8d, 0x1000
mov rdx, r15
mov rcx, rbx
call fcn.14003094c
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140037712
mov rcx, rbx
call fcn.14002fff0
test eax, eax
jne 0x14003c372
mov eax, r12d
sub r12d, r13d
test eax, eax
je 0x14003bf8c
add rbx, 0x38
add r15, 0x38
jmp 0x1400376e6
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
add rdx, r11
add rcx, r11
mov r8d, 0x1000
call fcn.14003094c
jmp 0x1400373d9
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
add rcx, r11
mov rax, qword [rdx + r11]
mov edx, 0x2400
test word [rcx + 8], dx
je 0x14003777f
mov rdx, rax
call fcn.140030734
jmp 0x1400373d9
mov qword [rcx], rax
mov word [rcx + 8], r10w
jmp case.0x14003723f.86
movsxd rax, dword [rdi + 4]
mov r9d, 1
imul r12, rax, 0x38
movsxd rax, dword [rdi + 8]
imul r15, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add r12, r11
imul rbx, rax, 0x38
add r15, r11
mov qword [rbp - 0x68], r12
movzx r13d, word [r12 + 8]
add rbx, r11
mov al, byte [r15 + 8]
or al, r13b
test r9b, al
je 0x140037800
mov eax, 0x2400
test word [rbx + 8], ax
je 0x1400377e7
mov rcx, rbx
call fcn.1400302e4
mov r13d, 1
jmp 0x14003758e
mov word [rbx + 8], r9w
mov r13, r9
mov rbx, qword [rsp + 0x38]
mov r12b, byte [rbp + 0x190]
jmp 0x1400373ba
test r13b, 0x12
jne 0x140037819
mov dl, byte [rbp + 0x190]
xor r8d, r8d
mov rcx, r12
call fcn.1400300a4
jmp 0x14003782c
mov eax, 0x4000
test ax, r13w
je 0x140037848
mov rcx, r12
call fcn.140030048
test eax, eax
jne 0x14003c372
movzx r13d, word [r12 + 8]
mov eax, 0xfffd
and r13w, ax
mov eax, 0x4000
movzx r12d, word [r15 + 8]
test r12b, 0x12
jne 0x14003795a
mov dl, byte [rbp + 0x190]
xor r8d, r8d
mov rcx, r15
call fcn.1400300a4
test eax, eax
jne 0x14003c372
movzx r12d, word [r15 + 8]
mov eax, 0xfffd
and r12w, ax
xor r8d, r8d
mov rax, qword [rbp - 0x68]
mov r10, qword [rsp + 0x38]
mov edx, dword [rax + 0xc]
add edx, dword [r15 + 0xc]
mov dword [rbp + 0x198], edx
cmp edx, dword [r10 + 0x7c]
jg 0x14003b5ea
cmp rbx, r15
mov rcx, rbx
sete r8b
add edx, 3
call fcn.14002fe14
test eax, eax
jne 0x14003c372
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 2
or word [rbx + 8], ax
cmp rbx, r15
je 0x1400378e8
movsxd r8, dword [r15 + 0xc]
mov rdx, qword [r15 + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.1400c2820
mov word [r15 + 8], r12w
mov r12, qword [rbp - 0x68]
movsxd rcx, dword [r15 + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [r12 + 0xc]
mov rdx, qword [r12 + 0x10]
call fcn.1400c2820
movsxd r9, dword [rbp + 0x198]
xor r15d, r15d
mov word [r12 + 8], r13w
mov edx, r15d
mov rax, qword [rbx + 0x10]
lea r13d, [r15 + 1]
lea r14d, [r15 + 2]
mov byte [r9 + rax], r15b
mov rcx, qword [rbx + 0x10]
add rcx, rdx
add rdx, r13
mov byte [rcx + r9 + 1], r15b
cmp rdx, r14
jl 0x140037926
mov r12b, byte [rbp + 0x190]
mov eax, 0x200
or word [rbx + 8], ax
mov r14, qword [rbp + 0x180]
mov dword [rbx + 0xc], r9d
jmp 0x1400375ef
test ax, r12w
je 0x14003787e
mov rcx, r15
call fcn.140030048
xor r8d, r8d
test eax, eax
jne 0x14003c372
movzx r12d, word [r15 + 8]
mov eax, 0xfffd
and r12w, ax
jmp 0x140037881
movsxd rax, dword [rdi + 4]
imul r15, rax, 0x38
add r15, r11
mov rcx, r15
call fcn.1400370e4
movzx ebx, ax
movsxd rax, dword [rdi + 8]
imul r12, rax, 0x38
add r12, qword [rsp + 0x50]
mov rcx, r12
call fcn.1400370e4
mov r11, qword [rsp + 0x50]
movzx edx, ax
movsxd rax, dword [rdi + 0xc]
and dl, bl
imul r13, rax, 0x38
movzx eax, word [r12 + 8]
mov r10d, 4
or ax, word [r15 + 8]
add r13, r11
test r10b, dl
je 0x140037adf
movzx ecx, byte [rdi]
mov rdx, qword [r12]
mov r8, qword [r15]
mov qword [rbp - 0x40], rdx
sub ecx, 0x67
je 0x140037a80
sub ecx, 1
je 0x140037a6a
sub ecx, 1
je 0x140037a5c
cmp ecx, 1
je 0x140037a30
test r8, r8
je 0x140037bf0
cmp r8, 0xffffffffffffffff
lea r9d, [r10 - 3]
mov rax, rdx
cmove r8, r9
cqo
idiv r8
mov qword [rbp - 0x40], rdx
jmp 0x140037ac1
test r8, r8
je 0x140037bf0
cmp r8, 0xffffffffffffffff
jne 0x140037a52
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x140037aec
mov rax, rdx
cqo
idiv r8
jmp 0x140037abd
mov rdx, r8
lea rcx, [rbp - 0x40]
call fcn.140019dac
jmp 0x140037a76
mov rdx, r8
lea rcx, [rbp - 0x40]
call fcn.140019d7c
test eax, eax
jne 0x140037aec
lea r10d, [rax + 4]
jmp 0x140037ac1
test r8, r8
js 0x140037a9e
test rdx, rdx
jle 0x140037ab9
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x140037ab9
jmp 0x140037aec
test rdx, rdx
jns 0x140037ab9
movabs rax, 0x8000000000000001
lea rcx, [r8 + 1]
sub rax, rdx
cmp rax, rcx
jg 0x140037aec
lea rax, [rdx + r8]
mov qword [rbp - 0x40], rax
mov rax, qword [rbp - 0x40]
mov ecx, 0x3e40
mov qword [r13], rax
movzx eax, word [r13 + 8]
and ax, cx
or ax, r10w
jmp 0x140037bc6
mov ecx, 1
test cl, al
jne 0x140037bf5
mov rcx, r15
call fcn.140030434
mov rcx, r12
movaps xmm6, xmm0
call fcn.140030434
movzx edx, byte [rdi]
sub edx, 0x67
je 0x140037b6f
sub edx, 1
je 0x140037b69
sub edx, 1
je 0x140037b63
cmp edx, 1
je 0x140037b53
mov rcx, r15
call fcn.1400303dc
mov rcx, r12
mov rbx, rax
call fcn.1400303dc
mov qword [rbp - 0x40], rax
test rbx, rbx
je 0x140037be5
cmp rbx, 0xffffffffffffffff
mov r9d, 1
cqo
xorps xmm0, xmm0
cmove rbx, r9
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x140037b73
ucomisd xmm6, xmm7
je 0x140037be5
divsd xmm0, xmm6
jmp 0x140037b73
mulsd xmm0, xmm6
jmp 0x140037b73
subsd xmm0, xmm6
jmp 0x140037b73
addsd xmm0, xmm6
movabs rcx, 0xfffffffffffff
movsd qword [rbp + 0x198], xmm0
mov rax, qword [rbp + 0x198]
movabs rdx, 0x7ff0000000000000
test rcx, rax
mov r10d, 4
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
jne 0x140037beb
movzx eax, word [r13 + 8]
mov ecx, 0x3e40
and ax, cx
movsd qword [r13], xmm0
or ax, 8
mov word [r13 + 8], ax
mov r13d, 1
mov rbx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
jmp 0x1400377f4
mov r10d, 4
mov r11, qword [rsp + 0x50]
mov ecx, 1
mov eax, 0x2400
test word [r13 + 8], ax
je 0x140037c09
mov rcx, r13
jmp 0x1400377d7
mov rbx, qword [rsp + 0x38]
mov word [r13 + 8], cx
mov r13d, 1
jmp 0x140037bdb
xor r15d, r15d
cmp dword [rdi + 4], r15d
je case.0x14003723f.86
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r11
test word [rcx + 8], ax
je 0x140037c41
xor edx, edx
jmp 0x140037775
mov qword [rcx], r15
jmp 0x140037782
movsxd rax, dword [rdi + 4]
imul r12, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add r12, r11
imul r15, rax, 0x38
add rcx, r11
add r15, r11
mov al, byte [rcx + 8]
or al, byte [r12 + 8]
test r13b, al
je 0x140037caf
mov eax, 0x2400
test word [r15 + 8], ax
je 0x140037c90
mov rcx, r15
call fcn.1400302e4
jmp 0x140037593
mov word [r15 + 8], r13w
mov r12b, byte [rbp + 0x190]
lea rcx, [0x140000000]
mov edx, dword [rbp - 0x48]
add rdi, 0x18
jmp 0x140037212
call fcn.1400303dc
mov rcx, r12
mov rbx, rax
call fcn.1400303dc
mov r8b, byte [rdi]
mov rdx, rax
cmp r8b, 0x63
jne 0x140037cd3
and rbx, rax
jmp 0x140037d54
cmp r8b, 0x64
jne 0x140037cde
or rbx, rdx
jmp 0x140037d54
xor r9d, r9d
test rdx, rdx
je 0x140037d54
jns 0x140037d08
mov rcx, rdx
mov eax, reloc.WLDAP32.dll_Ordinal_203
sub al, r8b
neg rcx
mov r8b, al
mov rax, rdx
cmp rax, 0xffffffffffffffc0
lea edx, [r9 + 0x40]
cmovg rdx, rcx
cmp rdx, 0x40
jl 0x140037d24
test rbx, rbx
jns 0x140037d1f
cmp r8b, 0x65
je 0x140037d1f
or rbx, 0xffffffffffffffff
jmp 0x140037d54
mov rbx, r9
jmp 0x140037d54
mov rcx, rdx
cmp r8b, 0x65
jne 0x140037d35
shl rbx, cl
mov r8, rbx
jmp 0x140037d51
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x140037d51
mov ecx, 0x40
sub cl, dl
or rdx, 0xffffffffffffffff
shl rdx, cl
or r8, rdx
mov rbx, r8
mov eax, 0x3e40
mov qword [r15], rbx
and word [r15 + 8], ax
mov r10d, 4
or word [r15 + 8], r10w
jmp 0x140037bd1
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
call fcn.1400304a0
movsxd rax, dword [rdi + 8]
add qword [rbx], rax
jmp 0x1400375f3
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r11
movzx eax, word [rbx + 8]
test r10b, al
jne 0x140037df4
mov r8b, r12b
mov dl, 0x43
mov rcx, rbx
call fcn.140036f64
movzx eax, word [rbx + 8]
mov r10d, 4
test r10b, al
jne 0x140037de5
xor ebx, ebx
cmp dword [rdi + 8], ebx
je 0x14003c179
mov r8, qword [rsp + 0x48]
mov eax, dword [rdi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r8 + rcx*8]
jmp 0x140039f41
mov r11, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x30]
mov ecx, 0x3e40
and ax, cx
or ax, r10w
mov word [rbx + 8], ax
mov rbx, qword [rsp + 0x38]
jmp case.0x14003723f.86
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
add rcx, r11
test byte [rcx + 8], 0x24
je case.0x14003723f.86
call fcn.1400304c8
jmp 0x1400373d9
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r11
test word [rbx + 8], ax
je 0x140037e53
mov rcx, rbx
call fcn.140030048
mov esi, eax
mov dword [rsp + 0x40], eax
jmp 0x140037e5e
xor r15d, r15d
mov esi, r15d
mov dword [rsp + 0x40], r15d
mov dl, byte [rdi + 8]
mov r8b, r12b
mov rcx, rbx
call fcn.1400305d8
test esi, esi
je 0x1400375f3
mov r15b, byte [rbp + 0x188]
jmp 0x14003c312
movsxd rax, dword [rdi + 4]
mov ecx, 1
imul r15, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul r13, rax, 0x38
add r15, r11
add r13, r11
movzx r12d, word [r15 + 8]
movzx ebx, word [r13 + 8]
movzx edx, bx
or dx, r12w
test cl, dl
je 0x140037f38
lea eax, [rcx + 0x7f]
test byte [rdi + 2], al
je 0x140037eea
mov al, bl
and al, r12b
test cl, al
je 0x140037ed6
mov eax, 0x100
test ax, bx
jne 0x140037ed6
xor eax, eax
jmp 0x140038063
movzx eax, bx
not ax
and eax, ecx
lea ecx, [rax*2 - 1]
jmp 0x140038065
mov eax, Ordinal_36
test byte [rdi + 2], al
je 0x140037f25
movsxd rax, dword [rdi + 8]
mov r13d, 1
imul rcx, rax, 0x38
mov eax, 0x3e40
mov dword [rsp + 0x30], r13d
add rcx, r11
mov r9d, r13d
and word [rcx + 8], ax
or word [rcx + 8], r13w
mov rbx, qword [rsp + 0x38]
jmp 0x140037c95
mov eax, 0x10
mov r13, rcx
test byte [rdi + 2], al
jne 0x140037dd0
jmp 0x140037f1b
mov al, byte [rdi + 2]
and al, 0x47
cmp al, 0x43
jb 0x140037fd5
mov r8d, 2
movzx ecx, bx
test r8b, dl
je 0x140037f97
mov al, r12b
and al, 0x2e
cmp al, r8b
jne 0x140037f76
xor edx, edx
mov rcx, r15
call fcn.140036e78
movzx ebx, word [r13 + 8]
mov r10d, 4
lea r8d, [r10 - 2]
mov al, bl
movzx ecx, bx
and al, 0x2e
cmp al, r8b
jne 0x140037f97
xor edx, edx
mov rcx, r13
call fcn.140036e78
movzx ecx, word [r13 + 8]
mov r10d, 4
and cl, byte [r15 + 8]
test r10b, cl
je 0x140038044
mov rax, qword [r15]
mov r11, qword [rsp + 0x50]
cmp qword [r13], rax
jle 0x140037fc1
mov ecx, 1
mov r9d, dword [rsp + 0x30]
jmp 0x140038065
xor ecx, ecx
mov r9d, 1
cmp qword [r13], rax
setge cl
sub ecx, r9d
jmp 0x140037fb7
cmp al, 0x42
jne 0x140038044
mov eax, 2
test al, r12b
jne 0x140038017
test r12b, 0x2c
je 0x140038017
mov dl, byte [rbp + 0x190]
mov r8b, cl
mov rcx, r15
call fcn.1400300a4
movzx eax, r12w
mov ecx, 0x3e40
xor ax, word [r15 + 8]
and ax, cx
mov ecx, 1
xor r12w, ax
lea eax, [rcx + 1]
test al, bl
jne 0x140038044
test bl, 0x2c
je 0x140038044
mov dl, byte [rbp + 0x190]
mov r8b, cl
mov rcx, r13
call fcn.1400300a4
movzx eax, bx
mov ecx, 0x3e40
xor ax, word [r13 + 8]
and ax, cx
xor bx, ax
mov r8, qword [rdi + 0x10]
mov rdx, r15
mov rcx, r13
call fcn.1400345d8
mov r11, qword [rsp + 0x50]
mov r10d, 4
mov r9d, dword [rsp + 0x30]
mov ecx, eax
movzx eax, byte [rdi]
lea rdx, [0x140000000]
test ecx, ecx
jns 0x14003807c
mov al, byte [rax + rdx + 0xf2520]
jmp 0x14003808e
jne 0x140038087
mov al, byte [rax + rdx + 0xf4f64]
jmp 0x14003808e
mov al, byte [rax + rdx + 0xee904]
mov word [r15 + 8], r12w
movzx r8d, al
mov eax, Ordinal_36
mov word [r13 + 8], bx
test byte [rdi + 2], al
je 0x1400380f9
movsxd rax, dword [rdi + 8]
mov r9d, ecx
imul rdx, rax, 0x38
mov eax, 8
mov dword [rsp + 0x30], ecx
add rdx, r11
test byte [rdi + 2], al
je 0x1400380d3
xor eax, eax
cmp byte [rdi], 0x35
sete al
cmp eax, r8d
je 0x14003bf93
mov eax, 0x3e40
mov qword [rdx], r8
and word [rdx + 8], ax
mov r13d, 1
or word [rdx + 8], r10w
mov rbx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
jmp 0x140037c95
test r8d, r8d
mov r13d, 1
mov r8, qword [rsp + 0x48]
jmp 0x140037f30
test r9d, r9d
jmp 0x1400372b3
test byte [rdi + 2], r13b
jne 0x140038121
xor ecx, ecx
mov r15d, ecx
jmp 0x14003812a
mov r15, qword [rdi - 8]
add r15, r10
xor ecx, ecx
mov rax, qword [rdi + 0x10]
mov r12d, ecx
mov r8d, dword [rdi + 4]
mov rbx, rcx
movsxd rcx, dword [rdi + 0xc]
mov edx, dword [rdi + 8]
mov qword [rbp - 0x68], rax
mov dword [rbp + 0x198], r8d
mov dword [rbp - 0x80], edx
mov qword [rbp - 0x78], rcx
test rcx, rcx
jle 0x1400380ea
lea r13, [rax + 0x20]
test r15, r15
je 0x140038165
mov ecx, dword [r15 + rbx*4]
jmp 0x140038168
mov ecx, r12d
mov rax, qword [rax + 0x18]
movzx eax, byte [rbx + rax]
and eax, 1
mov dword [rsp + 0x58], eax
lea eax, [rcx + rdx]
movsxd rdx, eax
lea eax, [rcx + r8]
mov r8, qword [r13]
cdqe
mov qword [rsp + 0x60], rdx
imul rcx, rax, 0x38
imul rdx, rdx, 0x38
add rcx, r11
mov qword [rbp - 0x70], rax
add rdx, r11
call fcn.1400345d8
mov r11, qword [rsp + 0x50]
mov r9d, eax
mov dword [rsp + 0x30], eax
test eax, eax
jne 0x1400381ef
mov r8d, dword [rbp + 0x198]
lea eax, [r9 + 1]
mov edx, dword [rbp - 0x80]
add r12d, eax
add rbx, rax
add r13, 8
mov rax, qword [rbp - 0x68]
cmp rbx, qword [rbp - 0x78]
jl 0x14003815a
mov rbx, qword [rsp + 0x38]
lea r13d, [r9 + 1]
mov r8, qword [rsp + 0x48]
mov r12b, byte [rbp + 0x190]
jmp 0x1400373e8
mov rax, qword [rbp - 0x68]
mov ecx, 2
mov rax, qword [rax + 0x18]
lea r13d, [rcx - 1]
test byte [rbx + rax], cl
je 0x140038226
imul rax, qword [rbp - 0x70], 0x38
test byte [rax + r11 + 8], r13b
jne 0x14003821e
imul rax, qword [rsp + 0x60], 0x38
test byte [rax + r11 + 8], r13b
je 0x140038226
neg r9d
mov dword [rsp + 0x30], r9d
xor ebx, ebx
cmp dword [rsp + 0x58], ebx
lea r10d, [rbx + 4]
mov rbx, qword [rsp + 0x38]
je 0x140039dcb
neg r9d
mov dword [rsp + 0x30], r9d
jmp 0x1400380ef
test r9d, r9d
jns 0x14003825e
mov eax, dword [rdi + 4]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
jmp 0x14003730b
jne 0x140038265
mov eax, dword [rdi + 8]
jmp 0x140038250
mov eax, dword [rdi + 0xc]
jmp 0x140038250
movsxd rax, dword [rdi + 4]
mov r15d, 2
imul rcx, rax, 0x38
mov edx, r15d
add rcx, r11
call fcn.140030460
movsxd rcx, dword [rdi + 8]
mov edx, r15d
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, qword [rsp + 0x50]
call fcn.140030460
lea rdx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [rdi], 0x2c
cdqe
jne 0x1400382b7
mov r8b, byte [rax + rdx + 0xf1560]
jmp 0x1400382bf
mov r8b, byte [rax + rdx + 0xf57b8]
movsxd rax, dword [rdi + 0xc]
mov r10d, 4
mov r11, qword [rsp + 0x50]
imul rdx, rax, 0x38
mov eax, 0x3e40
movzx ecx, word [rdx + r11 + 8]
and cx, ax
cmp r8b, r15b
jne 0x1400382eb
or cx, r13w
jmp 0x1400382f7
movzx eax, r8b
or cx, r10w
mov qword [rdx + r11], rax
mov word [rdx + r11 + 8], cx
mov rbx, qword [rsp + 0x38]
mov r8, qword [rsp + 0x48]
jmp 0x1400373ba
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.140030460
movsxd rdx, dword [rdi + 0x10]
mov r11, qword [rsp + 0x50]
movsxd rcx, eax
movsxd rax, dword [rdi + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r11
test word [rcx + 8], ax
jne 0x140037775
mov r10d, 4
mov qword [rcx], rdx
mov word [rcx + 8], r10w
jmp 0x140038302
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rcx, r11
add rbx, r11
test byte [rcx + 8], r13b
jne 0x1400383b9
xor edx, edx
call fcn.140030460
xor r15d, r15d
test eax, eax
mov ecx, r15d
mov eax, 0x2400
sete cl
test word [rbx + 8], ax
je 0x1400383a1
mov rdx, rcx
mov rcx, rbx
call fcn.140030734
jmp 0x1400375f3
mov r11, qword [rsp + 0x50]
mov r10d, 4
mov word [rbx + 8], r10w
mov qword [rbx], rcx
jmp 0x1400382fd
mov eax, 0x2400
test word [rbx + 8], ax
je 0x1400383d1
mov rcx, rbx
call fcn.1400302e4
jmp 0x1400375f3
mov word [rbx + 8], r13w
jmp 0x140037e04
movsxd rax, dword [rdi + 4]
imul r15, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add r15, r11
mov eax, 0x2400
add rbx, r11
test word [rbx + 8], ax
je 0x140038411
mov rcx, rbx
call fcn.1400302e4
mov r9d, dword [rsp + 0x30]
mov r10d, 4
jmp 0x140038416
mov word [rbx + 8], r13w
test byte [r15 + 8], r13b
jne 0x14003bf99
mov rcx, r15
mov word [rbx + 8], r10w
call fcn.1400303dc
not rax
mov qword [rbx], rax
jmp 0x1400375f3
mov rcx, qword [r14 + 0x100]
test rcx, rcx
je 0x140038490
mov r8, qword [rcx + 0x30]
movabs rdx, 0xaaaaaaaaaaaaaaab
mov rax, rdi
sub rax, qword [r14 + 0x88]
sar rax, 3
imul rax, rdx
mov edx, eax
and eax, 7
shr rdx, 3
movzx ecx, byte [rdx + r8]
bt ecx, eax
jb 0x140037dcb
bts ecx, eax
mov byte [rdx + r8], cl
mov rcx, qword [r14 + 0x88]
mov r8, qword [rsp + 0x48]
jmp 0x1400384a3
mov rcx, qword [r14 + 0x88]
mov eax, dword [rdi + 4]
cmp dword [rcx + 4], eax
je 0x140037dd0
mov eax, dword [rcx + 4]
mov dword [rdi + 4], eax
jmp case.0x14003723f.86
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.140030460
test eax, eax
mov r8, qword [rsp + 0x48]
jne 0x140037dd0
mov r11, qword [rsp + 0x50]
jmp 0x1400373e3
movsxd rax, dword [rdi + 4]
xor r15d, r15d
cmp dword [rdi + 0xc], r15d
mov edx, r15d
sete dl
imul rcx, rax, 0x38
add rcx, r11
call fcn.140030460
mov r8, qword [rsp + 0x48]
test eax, eax
je 0x140037dd0
jmp 0x1400384ce
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 8], r13b
jmp 0x1400372b3
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 8], r13b
je 0x140037dd0
jmp case.0x14003723f.86
movsxd rcx, dword [rdi + 4]
xor r15d, r15d
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], r15b
je case.0x14003723f.86
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r11
test word [rcx + 8], ax
je 0x140038567
call fcn.1400302e4
jmp 0x140037dcb
mov word [rcx + 8], r13w
jmp 0x140037dd0
movsxd rcx, dword [rdi + 4]
lea rdx, [rsp + 0x7c]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0x70], rcx
lea rcx, [rsp + 0x70]
mov eax, dword [rdi + 8]
mov dword [rsp + 0x7c], eax
call fcn.140033f50
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394c9
movsxd rax, dword [rdi + 0xc]
mov r10, qword [rsp + 0x70]
mov r11, qword [rsp + 0x50]
imul r15, rax, 0x38
mov rbx, qword [r10 + 0x60]
mov eax, dword [r14 + 0x30]
add r15, r11
mov qword [rbp - 0x80], r15
mov qword [rsp + 0x60], rbx
cmp dword [r10 + 0x28], eax
je 0x1400386fb
xor r8d, r8d
cmp byte [r10 + 2], r8b
je 0x140038631
cmp byte [r10], 3
jne 0x140038613
movsxd rax, dword [r10 + 0x2c]
imul rdx, rax, 0x38
mov ecx, dword [rdx + r11 + 0xc]
mov dword [r10 + 0x74], ecx
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x70], ecx
mov rcx, qword [rdx + r11 + 0x10]
mov rax, qword [rsp + 0x70]
mov qword [rax + 0x68], rcx
mov rcx, qword [rsp + 0x70]
jmp 0x14003867e
mov eax, 0x2400
test word [r15 + 8], ax
je 0x140038627
mov rcx, r15
jmp 0x1400383c7
mov word [r15 + 8], r13w
jmp 0x140037670
mov rbx, qword [r10 + 0x38]
mov rcx, rbx
call fcn.140028adc
mov edx, dword [rbx + 0x40]
mov rcx, rbx
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x70], edx
mov rdx, qword [rsp + 0x70]
add rdx, 0x74
call fcn.140028ffc
mov rcx, qword [rsp + 0x70]
mov r10, qword [rsp + 0x38]
mov qword [rcx + 0x68], rax
mov rcx, qword [rsp + 0x70]
mov eax, dword [r10 + 0x7c]
cmp dword [rcx + 0x70], eax
ja 0x14003b5ea
mov rbx, qword [rsp + 0x60]
mov eax, dword [r14 + 0x30]
mov dword [rcx + 0x28], eax
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax + 0x68]
mov eax, 0x80
cmp byte [rcx], al
jae 0x1400386a1
movzx eax, byte [rcx]
mov dword [rbx], eax
mov al, r13b
jmp 0x1400386a9
mov rdx, rbx
call fcn.140019bc0
movzx ecx, al
xor r8d, r8d
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x48], ecx
mov rax, qword [rsp + 0x70]
mov word [rax + 0x52], r8w
mov r10, qword [rsp + 0x70]
mov eax, dword [rbx]
cmp dword [r10 + 0x74], eax
jae 0x1400387d1
mov qword [r10 + 0x68], r8
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x74], r8d
mov eax, dword [rbx]
cmp eax, 0x18003
ja 0x1400388b5
mov r10, qword [rsp + 0x70]
cmp eax, dword [r10 + 0x70]
ja 0x1400388b5
movzx eax, word [r10 + 0x52]
movsxd r8, dword [rsp + 0x7c]
cmp eax, r8d
jg 0x140038982
mov eax, dword [rbx]
cmp dword [r10 + 0x48], eax
jae 0x140038939
mov rcx, qword [r10 + 0x68]
mov qword [rbp - 0x70], rcx
test rcx, rcx
jne 0x140038773
xorps xmm0, xmm0
lea r9, [rbp + 0x68]
movups xmmword [rbp + 0x68], xmm0
xor eax, eax
xor edx, edx
movups xmmword [rbp + 0x78], xmm0
mov qword [rbp + 0x98], rax
movups xmmword [rbp + 0x88], xmm0
mov r8d, dword [rbx]
mov rcx, qword [r10 + 0x38]
call fcn.140030de0
xor edx, edx
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394cb
mov rcx, qword [rbp + 0x78]
mov eax, dword [rbx]
mov r10, qword [rsp + 0x70]
mov qword [rbp - 0x70], rcx
movzx edx, word [r10 + 0x52]
lea r15, [0x140000000]
mov r9, qword [rsp + 0x60]
mov r14d, 1
mov r8d, eax
mov r12d, edx
mov dword [rbp + 0x198], edx
mov r13d, dword [rbx + rdx*4]
mov ebx, dword [r10 + 0x48]
lea edi, [r14 + 0x7f]
add rbx, rcx
add r8, rcx
mov qword [rbp - 0x78], r8
movzx eax, byte [rbx]
mov dword [rsp + 0x68], eax
mov dword [r10 + r12*4 + 0x78], eax
cmp dword [rsp + 0x68], edi
jae 0x1400387d7
movzx eax, byte [rsp + 0x68]
add rbx, r14
movzx eax, byte [rax + r15 + 0xf1ad0]
jmp 0x14003881f
mov rcx, qword [r10 + 0x68]
jmp 0x14003876f
lea rdx, [rsp + 0x68]
mov rcx, rbx
call fcn.140019bc0
mov rcx, qword [rsp + 0x70]
movzx eax, al
add rbx, rax
mov eax, dword [rsp + 0x68]
mov dword [rcx + r12*4 + 0x78], eax
mov eax, dword [rsp + 0x68]
cmp eax, edi
jb 0x140038807
add eax, 0xfffffff4
shr eax, 1
jmp 0x140038810
movzx eax, byte [rax + r15 + 0xf1ad0]
mov edx, dword [rbp + 0x198]
mov r8, qword [rbp - 0x78]
mov r9, qword [rsp + 0x60]
add edx, r14d
add r13, rax
movsxd r12, edx
mov dword [rbp + 0x198], edx
mov dword [r9 + r12*4], r13d
cmp edx, dword [rsp + 0x7c]
jg 0x140038847
cmp rbx, r8
jae 0x140038847
mov r10, qword [rsp + 0x70]
jmp 0x1400387ac
mov rcx, qword [rsp + 0x70]
mov rdi, qword [rbp - 0x68]
mov r14, qword [rbp + 0x180]
mov r15, qword [rbp - 0x80]
cmp rbx, r8
jb 0x14003886a
ja 0x140038872
mov eax, dword [rcx + 0x70]
cmp r13, rax
jne 0x140038872
mov eax, dword [rcx + 0x70]
cmp r13, rax
jbe 0x1400388dd
xor r11d, r11d
cmp dword [r9], r11d
jne 0x140038882
mov edx, r11d
mov rbx, r8
jmp 0x1400388e0
xor r15d, r15d
cmp qword [rcx + 0x68], r15
jne 0x1400388a8
mov eax, 0x2400
test word [rbp + 0x70], ax
jne 0x14003889f
cmp dword [rbp + 0x88], r15d
je 0x1400388a8
lea rcx, [rbp + 0x68]
call fcn.140030324
mov r12b, byte [rbp + 0x190]
mov r13d, 1
mov r8, qword [rsp + 0x48]
mov eax, dword [r8 + 0xc]
test eax, eax
jle 0x14003c183
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r8 + rax*8]
mov rbx, qword [rsp + 0x38]
jmp 0x1400384ce
xor r11d, r11d
sub ebx, dword [rbp - 0x70]
mov word [rcx + 0x52], dx
mov rax, qword [rsp + 0x70]
mov dword [rax + 0x48], ebx
mov r10, qword [rsp + 0x70]
cmp qword [r10 + 0x68], r11
jne 0x14003891c
mov eax, 0x2400
test word [rbp + 0x70], ax
jne 0x14003890e
cmp dword [rbp + 0x88], r11d
je 0x14003891c
lea rcx, [rbp + 0x68]
call fcn.140030324
mov r10, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x7c]
mov r13d, 1
mov edx, dword [rsp + 0x68]
mov rbx, qword [rsp + 0x60]
mov r12b, byte [rbp + 0x190]
jmp 0x140038941
xor eax, eax
mov edx, eax
mov dword [rsp + 0x68], eax
movzx eax, word [r10 + 0x52]
cmp eax, r8d
jg 0x14003898b
cmp byte [rdi + 1], 0xf5
jne 0x140038968
mov rdx, qword [rdi + 0x10]
mov r8d, 0x800
mov rcx, r15
call fcn.14003094c
jmp 0x1400375f3
mov eax, 0x2400
test word [r15 + 8], ax
jne 0x14003861f
mov word [r15 + 8], r13w
jmp 0x1400375f3
mov edx, dword [r10 + r8*4 + 0x78]
mov dword [rsp + 0x68], edx
mov eax, 0x2400
test word [r15 + 8], ax
je 0x1400389ad
mov rcx, r15
call fcn.1400302e4
mov r10, qword [rsp + 0x70]
mov r8d, dword [rsp + 0x7c]
mov edx, dword [rsp + 0x68]
lea eax, [r8 + 1]
movsxd rcx, eax
mov eax, dword [rbx + rcx*4]
cmp dword [r10 + 0x74], eax
jb 0x140038a83
movsxd rax, r8d
mov r12d, dword [rbx + rax*4]
add r12, qword [r10 + 0x68]
cmp edx, 0xc
jae 0x1400389e1
mov r8, r15
mov rcx, r12
call fcn.140033ff8
jmp 0x14003758e
mov al, byte [rbp + 0x190]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [r15 + 0xc], ebx
mov byte [r15 + 0xa], al
lea edx, [rbx + 2]
cmp dword [r15 + 0x20], edx
jge 0x140038a1b
xor r8d, r8d
mov word [r15 + 8], r13w
mov rcx, r15
call fcn.14002fe14
test eax, eax
jne 0x14003c372
mov rcx, qword [r15 + 0x10]
jmp 0x140038a23
mov rcx, qword [r15 + 0x18]
mov qword [r15 + 0x10], rcx
mov r8d, ebx
mov rdx, r12
call fcn.1400c2820
mov rax, qword [r15 + 0x10]
lea rcx, [0x140000000]
mov r11, qword [rsp + 0x50]
xor r8d, r8d
mov r12b, byte [rbp + 0x190]
mov r10d, 4
mov r9d, dword [rsp + 0x30]
mov byte [rbx + rax], r8b
mov rax, qword [r15 + 0x10]
mov byte [rax + rbx + 1], r8b
mov eax, dword [rsp + 0x68]
mov rbx, qword [rsp + 0x38]
and rax, r13
mov r8, qword [rsp + 0x48]
movzx eax, word [rcx + rax*2 + 0xed0b4]
mov word [r15 + 8], ax
jmp case.default.0x14003723f
mov byte [r15 + 0xa], r12b
test byte [rdi + 2], 0xc0
mov edx, dword [rsp + 0x68]
je 0x140038aa7
cmp edx, 0xc
jb 0x140038a9b
test r13b, dl
je 0x140038ace
mov eax, 0x80
test byte [rdi + 2], al
jne 0x140038ace
jmp 0x140038aac
mov eax, 0x80
cmp edx, eax
jb 0x140038ab9
lea r8d, [rdx - 0xc]
shr r8d, 1
jmp 0x140038ac9
lea rcx, [0x140000000]
movzx r8d, byte [rdx + rcx + 0xf1ad0]
test r8d, r8d
jne 0x140038ae2
mov r8, r15
lea rcx, [0x140159b00]
call fcn.140033ff8
jmp 0x1400375f3
movsxd rax, dword [rsp + 0x7c]
mov r9, r15
mov rcx, qword [rsp + 0x70]
mov edx, dword [rbx + rax*4]
mov rcx, qword [rcx + 0x38]
call fcn.140030de0
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394c9
mov edx, dword [rsp + 0x68]
mov r8, r15
mov rcx, qword [r15 + 0x10]
call fcn.140033ff8
mov eax, 0xefff
and word [r15 + 8], ax
jmp 0x1400375f3
movsxd rax, dword [rdi + 4]
mov r15, qword [rdi + 0x10]
imul rbx, rax, 0x38
mov al, byte [r15]
add rbx, r11
mov r8b, r12b
mov dl, al
mov rcx, rbx
call fcn.140036f64
cmp byte [r15], 0x45
jne 0x140038b9a
movzx ecx, word [rbx + 8]
test cl, 4
je 0x140038b9a
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x140038b83
and cx, ax
or cx, 0x20
jmp 0x140038b96
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
or cx, 8
movsd qword [rbx], xmm0
mov word [rbx + 8], cx
add r15, r13
mov al, byte [r15]
test al, al
je 0x14003bf8c
add rbx, 0x38
jmp 0x140038b3a
movsxd rax, dword [rdi + 4]
xor ebx, ebx
mov r15, qword [rdi + 0x10]
mov r10d, ebx
imul rdx, rax, 0x38
mov eax, dword [rdi + 8]
mov r9d, ebx
mov qword [rsp + 0x60], rbx
lea r12d, [rbx + 1]
sub eax, r13d
mov dword [rsp + 0x58], ebx
add rdx, r11
cdqe
mov r11b, byte [r14 + 0xc3]
mov r8d, ebx
imul r13, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add r13, rdx
mov qword [rbp - 0x80], rbx
add rcx, qword [rsp + 0x50]
mov qword [rbp - 0x70], rdx
mov qword [rbp - 0x78], r13
mov byte [rbp + 0x198], r11b
mov qword [rbp - 0x38], rcx
test r15, r15
je 0x140038c8c
mov al, byte [r15]
lea rbx, [rdx + 8]
mov r14b, byte [rbp + 0x190]
lea edi, [r8 + 0x20]
xor r13d, r13d
mov esi, 0xfffb
lea rcx, [rbx - 8]
mov r8b, r14b
mov dl, al
call fcn.140036f64
cmp byte [r15], 0x45
jne 0x140038c52
movzx eax, word [rbx]
test al, 4
je 0x140038c52
and ax, si
or ax, di
mov word [rbx], ax
add r15, r12
add rbx, 0x38
mov al, byte [r15]
test al, al
jne 0x140038c2e
mov rdi, qword [rbp - 0x68]
mov r10, r13
mov r13, qword [rbp - 0x78]
xor ebx, ebx
mov esi, dword [rsp + 0x40]
mov r14, qword [rbp + 0x180]
mov r9d, dword [rsp + 0x58]
mov r11b, byte [rbp + 0x198]
mov rdx, qword [rbp - 0x70]
mov r8, qword [rbp - 0x80]
add r13, 0x24
movzx ecx, word [r13 - 0x1c]
test r12b, cl
je 0x140038cb6
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r13], eax
add r9d, r12d
jmp 0x140038e53
test cl, 0x24
je 0x140038dae
mov r8, qword [r13 - 0x24]
mov rdx, r8
test r8, r8
jns 0x140038cce
not rdx
add r9d, r12d
mov dword [rsp + 0x58], r9d
cmp rdx, 0x7f
ja 0x140038d05
mov rax, r8
and rax, r12
cmp rax, r8
jne 0x140038cf5
cmp r11b, 4
jb 0x140038cf5
lea eax, [rdx + 8]
jmp 0x140038da1
add r10, r12
mov eax, r12d
mov qword [rsp + 0x60], r10
jmp 0x140038da1
cmp rdx, 0x7fff
ja 0x140038d15
mov eax, 2
jmp 0x140038d3c
cmp rdx, 0x7fffff
ja 0x140038d2e
add r10, 3
mov eax, 3
mov qword [rsp + 0x60], r10
jmp 0x140038da1
cmp rdx, 0x7fffffff
ja 0x140038d46
mov eax, 4
add r10, rax
mov qword [rsp + 0x60], r10
jmp 0x140038da1
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x140038d65
add r10, 6
mov eax, 5
mov qword [rsp + 0x60], r10
jmp 0x140038da1
mov edx, 8
add r10, rdx
mov qword [rsp + 0x60], r10
lea eax, [rdx + 0x18]
test al, cl
je 0x140038d9c
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
lea eax, [rdx - 1]
cvtsi2sd xmm0, r8
or cx, dx
mov word [r13 - 0x1c], cx
movsd qword [r13 - 0x24], xmm0
jmp 0x140038da1
mov eax, 6
mov rdx, qword [rbp - 0x70]
mov dword [r13], eax
jmp 0x140038e58
mov eax, 8
test al, cl
je 0x140038dd0
add r9d, r12d
add r10, rax
mov eax, 7
mov dword [r13], eax
mov qword [rsp + 0x60], r10
jmp 0x140038e53
mov r15d, dword [r13 - 0x18]
mov eax, ecx
shr eax, 1
and eax, r12d
bt cx, 0xe
lea r12d, [r15 + 6]
lea r12d, [rax + r12*2]
jae 0x140038e1d
lea rbx, [r13 - 0x24]
movsxd rax, dword [rbx]
lea r12d, [r12 + rax*2]
test r10, r10
je 0x140038e14
mov rcx, rbx
call fcn.140030048
test eax, eax
jne 0x14003c372
add r15d, dword [rbx]
mov r10, qword [rsp + 0x60]
jmp 0x140038e1b
add r8, rax
mov qword [rbp - 0x80], r8
xor ebx, ebx
mov eax, r15d
mov edx, 1
add r10, rax
mov ecx, edx
mov qword [rsp + 0x60], r10
mov eax, r12d
jmp 0x140038e36
add ecx, edx
shr rax, 7
test rax, rax
jne 0x140038e34
mov r9d, dword [rsp + 0x58]
mov rdx, qword [rbp - 0x70]
add r9d, ecx
mov dword [r13], r12d
lea r12d, [rax + 1]
mov dword [rsp + 0x58], r9d
lea rax, [r13 - 0x24]
cmp rax, rdx
je 0x140038e75
mov r11b, byte [rbp + 0x198]
sub r13, 0x38
mov r8, qword [rbp - 0x80]
jmp 0x140038c90
cmp r9d, 0x7e
jle 0x140038eaf
mov edx, r12d
movsxd rax, r9d
jmp 0x140038e86
add edx, r12d
shr rax, 7
test rax, rax
jne 0x140038e83
add r9d, edx
mov ecx, r12d
mov dword [rsp + 0x58], r9d
movsxd rax, r9d
jmp 0x140038ea2
add ecx, r12d
shr rax, 7
test rax, rax
jne 0x140038e9f
cmp edx, ecx
jge 0x140038eb7
add r9d, r12d
mov dword [rsp + 0x58], r9d
mov r13, qword [rbp - 0x80]
mov r12, qword [rbp - 0x38]
movsxd r15, r9d
movsxd rax, dword [r12 + 0x20]
lea rbx, [r10 + r15]
lea rcx, [rbx + r13]
cmp rcx, rax
jg 0x140038ee0
mov rax, qword [r12 + 0x18]
mov qword [r12 + 0x10], rax
jmp 0x140038f09
mov r10, qword [rsp + 0x38]
movsxd rax, dword [r10 + 0x7c]
cmp rcx, rax
jg 0x14003b5ea
mov edx, ebx
mov rcx, r12
call fcn.14002ff70
test eax, eax
jne 0x14003c372
mov r9d, dword [rsp + 0x58]
mov dword [r12 + 0xc], ebx
mov eax, 0x10
mov word [r12 + 8], ax
test r13, r13
je 0x140038f2d
mov eax, 0x4010
mov dword [r12], r13d
mov word [r12 + 8], ax
mov rbx, qword [r12 + 0x10]
mov edi, 0x80
lea r12, [rbx + r15]
cmp r9d, edi
jae 0x140038f48
mov byte [rbx], r9b
lea eax, [rdi - 0x7f]
jmp 0x140038f53
mov rdx, r15
mov rcx, rbx
call fcn.1400199cc
mov r13, qword [rbp - 0x70]
movzx eax, al
add rbx, rax
mov r15d, dword [r13 + 0x24]
cmp r15d, edi
jae 0x140038f70
mov byte [rbx], r15b
mov eax, 1
jmp 0x140038f7b
mov rdx, r15
mov rcx, rbx
call fcn.1400199cc
movzx eax, al
mov r8d, r15d
mov rdx, r13
mov rcx, r12
add rbx, rax
call fcn.140033f98
mov eax, eax
add r13, 0x38
add r12, rax
cmp r13, qword [rbp - 0x78]
jbe 0x140038f5d
mov rdi, qword [rbp - 0x68]
mov r14, qword [rbp + 0x180]
jmp 0x1400377dc
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp + 0x50]
mov rax, qword [r14 + 0x78]
xor r15d, r15d
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
mov qword [rbp + 0x50], r15
call fcn.14002e3f4
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394c9
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov rcx, qword [rbp + 0x50]
mov qword [rax], rcx
jmp 0x1400373d9
mov r13d, dword [rdi + 4]
xor eax, eax
mov r12, qword [rdi + 0x10]
mov dword [rsp + 0x60], r13d
test r13d, r13d
jne 0x1400390da
cmp dword [rbx + 0xd0], eax
jg 0x14003c1b6
test r12, r12
jne 0x140039020
mov ebx, eax
jmp 0x140039033
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [r12 + rbx], al
jne 0x140039024
and ebx, 0x3fffffff
mov r15, qword [rsp + 0x38]
xor edx, edx
mov rcx, r15
mov r8d, dword [r15 + 0x280]
add r8d, dword [r15 + 0x27c]
call fcn.14006e944
xor edx, edx
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394cb
mov edx, ebx
mov rcx, r15
add rdx, 0x21
call fcn.140016964
mov r15, rax
test rax, rax
je 0x14003bf86
lea rcx, [rax + 0x20]
mov rdx, r12
lea r8d, [rbx + 1]
mov qword [rax], rcx
call fcn.1400c2820
mov rbx, qword [rsp + 0x38]
lea r13d, [rsi + 1]
xor eax, eax
cmp byte [rbx + 0x5f], al
je 0x1400390a6
mov byte [rbx + 0x5f], al
mov byte [rbx + 0x67], r13b
jmp 0x1400390ad
add dword [rbx + 0x27c], r13d
mov rax, qword [rbx + 0x270]
mov qword [r15 + 0x18], rax
mov rax, qword [rbx + 0x288]
mov qword [rbx + 0x270], r15
mov qword [r15 + 8], rax
mov rax, qword [rbx + 0x290]
mov qword [r15 + 0x10], rax
jmp 0x140037593
mov rbx, qword [rbx + 0x270]
mov r15d, eax
mov dword [rbp + 0x198], r15d
test rbx, rbx
je 0x14003c203
mov rcx, qword [rbx]
mov rdx, r12
call fcn.140019038
xor ecx, ecx
test eax, eax
je 0x14003910e
mov rbx, qword [rbx + 0x18]
inc r15d
jmp 0x1400390e4
mov r9, qword [rsp + 0x38]
mov r8d, 1
cmp dword [r9 + 0xd0], ecx
jle 0x14003912b
cmp r13d, r8d
je 0x14003c1cf
lea r12, [rbx + 0x18]
mov qword [rbp - 0x78], r12
cmp qword [r12], rcx
jne 0x140039193
cmp byte [r9 + 0x67], cl
je 0x140039193
mov dword [rbp - 0x80], r8d
mov r15d, r8d
cmp r13d, r8d
jne 0x140039198
mov edx, r8d
mov rcx, r14
call fcn.1400337f0
mov esi, eax
test eax, eax
jne 0x140039582
mov rsi, qword [rsp + 0x38]
mov rcx, r14
mov byte [rsi + 0x5f], 1
call fcn.140033840
mov ecx, 5
cmp eax, ecx
je 0x14003c1d8
xor eax, eax
mov r9, rsi
mov byte [rsi + 0x67], al
mov esi, dword [r14 + 0x38]
mov dword [rsp + 0x40], esi
jmp 0x1400392bb
mov dword [rbp - 0x80], ecx
jmp 0x14003919f
mov r15d, dword [rbp + 0x198]
mov edx, dword [r9 + 0x27c]
mov ecx, 2
mov eax, dword [r9 + 0x28]
sub edx, r15d
sub edx, r8d
xor r15d, r15d
mov dword [rbp + 0x198], edx
cmp r13d, ecx
jne 0x14003922e
mov ecx, dword [r9 + 0x2c]
mov r13d, r15d
and ecx, r8d
mov dword [rsp + 0x58], ecx
test eax, eax
jle 0x140039227
mov r12d, ecx
xor r12d, r8d
mov rcx, qword [r9 + 0x20]
mov r8d, r12d
mov edx, 0x204
mov rcx, qword [rcx + r15 + 8]
call fcn.1400286d4
xor edx, edx
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394cb
mov r9, qword [rsp + 0x38]
lea r8d, [rax + 1]
add r13d, r8d
add r15, 0x20
mov eax, dword [r9 + 0x28]
cmp r13d, eax
jl 0x1400391db
mov ecx, dword [rsp + 0x58]
xor r15d, r15d
mov edx, dword [rbp + 0x198]
mov r13d, dword [rsp + 0x60]
jmp 0x140039235
mov ecx, r15d
mov dword [rsp + 0x58], ecx
mov r12d, r15d
test eax, eax
jle 0x140039280
mov rcx, qword [r9 + 0x20]
mov r8d, edx
mov edx, r13d
mov rcx, qword [rcx + r15 + 8]
call fcn.1400288b8
xor edx, edx
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394cb
mov r9, qword [rsp + 0x38]
lea r8d, [rax + 1]
mov edx, dword [rbp + 0x198]
add r12d, r8d
add r15, 0x20
cmp r12d, dword [r9 + 0x28]
jl 0x14003923c
mov ecx, dword [rsp + 0x58]
test ecx, ecx
je 0x1400392b3
mov rax, qword [r9 + 8]
jmp 0x14003929c
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r8d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14003928a
mov rcx, r9
call fcn.14004cb40
mov r9, qword [rsp + 0x38]
or dword [r9 + 0x2c], 1
mov r12, qword [rbp - 0x78]
mov r15d, dword [rbp - 0x80]
mov rcx, qword [r9 + 0x270]
jmp 0x1400392ed
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r9
mov qword [r9 + 0x270], rax
call fcn.1400166f0
mov r9, qword [rsp + 0x38]
mov rcx, qword [r9 + 0x270]
dec dword [r9 + 0x27c]
cmp rcx, rbx
jne 0x1400392c4
cmp r13d, 1
jne 0x140039320
mov rax, qword [r12]
mov rdx, rbx
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
mov qword [r9 + 0x270], rax
call fcn.1400166f0
test r15d, r15d
jne 0x14003936a
dec dword [rbx + 0x27c]
jmp 0x14003934a
mov rax, qword [rbx + 8]
mov qword [r9 + 0x288], rax
mov rax, qword [rbx + 0x10]
mov rbx, qword [rsp + 0x38]
mov qword [rbx + 0x290], rax
test r15d, r15d
je 0x14003934a
mov eax, 2
cmp r13d, eax
jne 0x14003936a
mov r8d, dword [rbp + 0x198]
mov edx, r13d
mov rcx, rbx
call fcn.14006e944
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394c9
test esi, esi
jne 0x1400394c9
mov r13d, 1
jmp 0x140037593
mov edx, dword [rdi + 8]
xor r15d, r15d
mov dword [rbp + 0x198], r15d
test edx, edx
je 0x14003939c
mov eax, dword [rbx + 0x30]
bt rax, 0x14
jb 0x14003c21f
movsxd rcx, dword [rdi + 4]
mov rax, qword [rbx + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x140039468
lea r8, [rbp + 0x198]
mov rcx, rbx
call fcn.14002793c
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x14003c229
cmp dword [rdi + 8], r15d
je 0x14003946f
mov eax, 0x80
test byte [r14 + 0xc8], al
je 0x14003946f
mov rcx, qword [rsp + 0x38]
cmp byte [rcx + 0x5f], r15b
je 0x140039403
cmp dword [rcx + 0xcc], r13d
jle 0x140039476
mov r8d, dword [r14 + 0x40]
test r8d, r8d
jne 0x140039425
add dword [rcx + 0x280], r13d
mov r8d, dword [rcx + 0x27c]
add r8d, dword [rcx + 0x280]
mov dword [r14 + 0x40], r8d
dec r8d
xor edx, edx
call fcn.14006e944
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x14003944b
mov edx, dword [r14 + 0x40]
mov rcx, rbx
call fcn.140028894
mov esi, eax
mov dword [rsp + 0x40], eax
mov rbx, qword [rsp + 0x38]
mov rax, qword [rbx + 0x288]
mov qword [r14 + 0x58], rax
mov rax, qword [rbx + 0x290]
mov qword [r14 + 0x60], rax
jmp 0x140039479
mov rbx, qword [rsp + 0x38]
jmp 0x14003948e
mov rbx, qword [rsp + 0x38]
jmp 0x140039479
mov rbx, rcx
mov r9d, dword [rsp + 0x30]
mov r10d, 4
mov r8, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
cmp word [rdi + 2], r15w
je 0x1400394c1
mov eax, dword [rdi + 0xc]
cmp dword [rbp + 0x198], eax
jne 0x14003c25b
mov rax, qword [rbx + 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
jne 0x14003c25b
test esi, esi
je case.0x14003723f.86
xor edx, edx
mov r15b, byte [rbp + 0x188]
mov rbx, qword [rsp + 0x38]
mov eax, 7
mov r12d, 0xc0a
cmp byte [rbx + 0x61], dl
cmovne esi, eax
cmp qword [r14 + 0xa8], rdx
jne 0x14003950f
cmp esi, r12d
je 0x14003950f
mov ecx, esi
call fcn.140080bf4
mov r8, rax
lea rdx, [0x14010bb30]
mov rcx, r14
call fcn.140031454
mov edx, esi
mov dword [r14 + 0x38], esi
mov rcx, rbx
call fcn.140018e70
mov rax, qword [r14 + 0xa8]
lea rdx, str.statement_aborts_at__d:___s___s
sub rdi, qword [rsp + 0x48]
movabs r8, 0xaaaaaaaaaaaaaaab
mov r9, qword [r14 + 0xf0]
mov ecx, esi
sar rdi, 3
imul r8, rdi
mov qword [rsp + 0x20], rax
call fcn.140018574
mov rcx, r14
call fcn.140033840
cmp esi, r12d
jne 0x14003956a
mov rcx, rbx
call fcn.140016c2c
mov esi, 1
test r15b, r15b
je 0x140039582
movzx edx, r15b
mov rcx, rbx
dec edx
call fcn.14004cac4
mov eax, dword [rbp - 0x48]
lea r11, [rsp + 0x238]
add dword [r14 + 0xe4], eax
mov eax, esi
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbx
pop rbp
ret
movsxd rax, dword [rdi + 4]
lea r8, [rbp + 0x38]
mov rcx, qword [rbx + 0x20]
mov edx, dword [rdi + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002e32c
mov rdx, rdi
mov rcx, r14
call fcn.140037128
movsxd rcx, dword [rbp + 0x38]
jmp 0x140038feb
mov r10, qword [rsp + 0x38]
movsxd rbx, dword [rdi + 4]
mov r8d, dword [rdi + 0xc]
mov edx, dword [rdi + 8]
shl rbx, 5
add rbx, qword [r10 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14002e378
mov esi, eax
mov dword [rsp + 0x40], eax
cmp dword [rdi + 8], r13d
jne 0x140039622
mov rcx, qword [rbx + 0x18]
mov eax, dword [rdi + 0xc]
mov rbx, qword [rsp + 0x38]
mov dword [rcx], eax
or dword [rbx + 0x2c], r13d
jmp 0x14003963b
mov eax, 2
cmp dword [rdi + 8], eax
jne 0x140039636
mov rcx, qword [rbx + 0x18]
mov al, byte [rdi + 0xc]
mov byte [rcx + 0x70], al
mov rbx, qword [rsp + 0x38]
cmp dword [rdi + 4], r13d
jne 0x140039666
mov rax, qword [rbx + 8]
jmp 0x140039659
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r13d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140039647
and dword [r14 + 0xc8], 0xfffffffc
test esi, esi
jne 0x1400394c9
jmp 0x1400373d9
movsxd rcx, dword [rdi + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je 0x140039690
mov eax, dword [rdi + 8]
cmp dword [rbx + 0x4c], eax
je 0x1400397fb
mov rbx, qword [rsp + 0x38]
mov eax, dword [r14 + 0xc8]
and al, 3
cmp al, r13b
je 0x14003c2c4
movsxd rdx, dword [rdi + 0xc]
xor r8d, r8d
movsxd r12, dword [rdi + 8]
mov rax, rdx
shl rax, 5
mov r13d, r8d
add rax, qword [rbx + 0x20]
mov qword [rbp - 0x78], r8
mov dword [rbp + 0x198], edx
mov rcx, qword [rax + 8]
mov qword [rbp - 0x38], rcx
cmp r15b, 0x62
jne 0x1400396fb
mov rax, qword [rax + 0x18]
movzx esi, word [rdi + 2]
and esi, 8
or esi, r10d
mov cl, byte [rax + 0x70]
cmp cl, byte [r14 + 0xc3]
jae 0x1400396fe
mov byte [r14 + 0xc3], cl
jmp 0x1400396fe
mov esi, r8d
mov eax, 0x10
test byte [rdi + 2], al
je 0x140039723
imul rbx, r12, 0x38
add rbx, r11
mov rcx, rbx
call fcn.1400304a0
mov edx, dword [rbp + 0x198]
xor r8d, r8d
mov r12d, dword [rbx]
mov al, byte [rdi + 1]
cmp al, 0xf7
jne 0x140039735
mov r15, qword [rdi + 0x10]
movzx r13d, word [r15 + 8]
jmp 0x140039746
cmp al, 0xfd
jne 0x140039743
mov r13d, dword [rdi + 0x10]
mov r15, qword [rbp - 0x78]
jmp 0x140039746
mov r15, r13
mov byte [rsp + 0x20], r8b
mov r9d, edx
mov edx, dword [rdi + 4]
mov r8d, r13d
mov rcx, r14
call fcn.140036d54
mov rbx, rax
test rax, rax
je 0x14003c372
or dword [rax + 8], 4
mov r13d, 1
mov byte [rax + 2], r13b
mov dword [rax + 0x4c], r12d
mov rax, qword [rax + 0x38]
cmp r12d, r13d
jge 0x1400397b4
lea rax, [0x140110bf4]
mov r9d, 0x108ea
lea esi, [r13 + 0xa]
mov qword [rsp + 0x20], rax
mov ecx, esi
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140018574
mov dword [rsp + 0x40], esi
jmp 0x1400397d1
mov rcx, qword [rbp - 0x38]
mov r9, r15
mov r8d, esi
mov qword [rsp + 0x20], rax
mov edx, r12d
call fcn.140028978
mov esi, eax
mov dword [rsp + 0x40], eax
mov r11, qword [rsp + 0x50]
mov r10d, 4
mov r8, qword [rsp + 0x48]
mov r12b, byte [rbp + 0x190]
mov r9d, dword [rsp + 0x30]
mov qword [rbx + 0x40], r15
cmp byte [rdi + 1], 0xf7
setne al
mov byte [rbx + 4], al
mov cl, byte [rdi + 2]
mov rax, qword [rbx + 0x38]
and cl, 3
mov byte [rax + 3], cl
test esi, esi
jne 0x1400394c9
jmp 0x140037e04
movsxd rcx, dword [rdi + 8]
xor r15d, r15d
mov rax, qword [r14 + 0x78]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov byte [rsp + 0x20], r15b
mov rbx, qword [rax + rcx*8]
mov rcx, r14
movsx r8d, word [rbx + 0x50]
call fcn.140036d54
mov rdx, rax
test rax, rax
je 0x14003c372
or dword [rax + 8], r13d
lea r8d, [r15 + 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, r8d
xor dword [rdx + 8], eax
mov rax, qword [rdx + 0x38]
cmp ecx, r13d
jge 0x1400398b2
lea rax, [0x140110bf4]
mov r9d, 0x108ea
lea esi, [r15 + 0xb]
mov qword [rsp + 0x20], rax
mov ecx, esi
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140018574
mov dword [rsp + 0x40], esi
jmp 0x1400375f3
mov edx, ecx
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x10]
call fcn.140028978
mov esi, eax
mov dword [rsp + 0x40], eax
jmp 0x1400375f3
movsxd rdx, dword [rdi + 4]
xor r15d, r15d
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x140039910
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], r15
mov dword [rbx + 0x28], r15d
test rcx, rcx
je 0x140039a8e
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
call fcn.14002e0a8
mov esi, eax
mov dword [rsp + 0x40], eax
lea r10d, [r15 + 4]
jmp 0x140039a7f
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov rcx, r14
mov byte [rsp + 0x20], r15b
call fcn.140036d54
mov rbx, rax
test rax, rax
je 0x14003c372
or dword [rax + 8], r13d
lea r15, [rax + 0x10]
movzx ecx, word [rdi + 2]
mov r9, r15
mov rax, qword [rsp + 0x38]
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov r8, rax
mov dword [rsp + 0x20], ecx
xor edx, edx
mov rcx, qword [rax]
call fcn.140026f30
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x140039a5e
mov rcx, qword [r15]
xor r8d, r8d
mov edx, r13d
call fcn.14002793c
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x140039a5e
mov r13, qword [rdi + 0x10]
lea r12, [rbx + 0x4c]
mov rcx, qword [r15]
mov qword [rbx + 0x40], r13
test r13, r13
je 0x140039a2b
movzx r8d, word [rdi + 2]
mov rdx, r12
or r8d, 2
call fcn.14002dc60
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x140039a1e
mov rax, qword [rbx + 0x38]
lea r9d, [rsi + 1]
cmp dword [r12], r9d
jge 0x1400399fe
lea rax, [0x140110bf4]
mov esi, reloc.Cabinet.dll_FCIAddFile
mov ecx, esi
mov qword [rsp + 0x20], rax
mov r9d, 0x108ea
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140018574
mov dword [rsp + 0x40], esi
jmp 0x140039a1e
mov edx, dword [r12]
mov r9, r13
mov rcx, qword [r15]
mov r8d, 4
mov qword [rsp + 0x20], rax
call fcn.140028978
mov esi, eax
mov dword [rsp + 0x40], eax
xor r15d, r15d
mov byte [rbx + 4], r15b
lea r13d, [r15 + 1]
jmp 0x140039a57
mov rax, qword [rbx + 0x38]
mov r13d, 1
xor r9d, r9d
mov dword [r12], r13d
mov edx, r13d
mov qword [rsp + 0x20], rax
lea r8d, [r13 + 3]
call fcn.140028978
mov esi, eax
mov dword [rsp + 0x40], eax
mov byte [rbx + 4], r13b
mov r12b, byte [rbp + 0x190]
movzx eax, word [rdi + 2]
mov r10d, 4
sub ax, 8
neg ax
mov eax, dword [rbx + 8]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, r10d
or ecx, eax
mov dword [rbx + 8], ecx
mov r9d, dword [rsp + 0x30]
mov r8, qword [rsp + 0x48]
mov r11, qword [rsp + 0x50]
test esi, esi
jne 0x1400394c9
mov byte [rbx + 2], r13b
jmp 0x140037e04
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov rcx, r14
mov byte [rsp + 0x20], r13b
call fcn.140036d54
test rax, rax
je 0x14003c591
mov rcx, qword [rdi + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov rcx, rbx
mov edx, dword [rdi + 0xc]
call fcn.14003d82c
mov esi, eax
mov dword [rsp + 0x40], eax
test eax, eax
jmp 0x140039668
movsxd rcx, dword [rdi + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
test rcx, rcx
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
jmp 0x140038523
mov r8d, dword [rdi + 0xc]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov rcx, r14
mov byte [rsp + 0x20], 3
call fcn.140036d54
test rax, rax
je 0x14003c591
mov byte [rax + 2], r13b
mov ecx, dword [rdi + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x140159b10]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], r13b
jmp 0x1400373d9
movsxd rax, dword [rdi + 4]
mov rcx, r14
mov rdx, qword [r14 + 0x78]
mov rdx, qword [rdx + rax*8]
call fcn.140032d48
movsxd rcx, dword [rdi + 4]
xor r8d, r8d
mov rax, qword [r14 + 0x78]
mov qword [rax + rcx*8], r8
jmp 0x1400373d9
movsxd rcx, dword [rdi + 4]
xor r8d, r8d
mov rax, qword [r14 + 0x78]
mov dword [rbp + 0x198], r8d
mov r13, qword [rax + rcx*8]
mov word [r13 + 2], r8w
mov dword [r13 + 0x28], r8d
cmp byte [r13 + 4], r8b
je 0x140039c72
movsxd rax, dword [rdi + 0xc]
lea ecx, [r8 + 2]
imul rbx, rax, 0x38
add rbx, r11
movzx r12d, word [rbx + 8]
mov al, r12b
and al, 0x2e
cmp al, cl
jne 0x140039bba
xor edx, edx
mov rcx, rbx
call fcn.140036e78
mov rcx, rbx
call fcn.1400303dc
movzx ecx, word [rbx + 8]
mov qword [rbp - 0x38], rax
mov word [rbx + 8], r12w
test cl, 0x24
jne 0x140039c3c
mov edx, 8
test dl, cl
jne 0x140039c14
test cl, 1
jne 0x14003bab5
cmp r15d, 0x18
jae 0x14003bab5
mov rcx, qword [r13 + 0x38]
lea rdx, [rsp + 0x78]
call fcn.1400293a0
xor r15d, r15d
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394c9
jmp 0x140039d99
movsd xmm1, qword [rbx]
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
comisd xmm1, xmm0
jae 0x140039c31
test r15b, 1
je 0x140039c3c
dec r15d
jmp 0x140039c3c
jbe 0x140039c3c
test r15b, 1
jne 0x140039c3c
inc r15d
lea rcx, [rsp + 0x78]
xor r9d, r9d
mov qword [rsp + 0x20], rcx
mov r8, rax
mov rcx, qword [r13 + 0x38]
xor edx, edx
call fcn.140029408
mov esi, eax
mov dword [rsp + 0x40], eax
mov rax, qword [rbp - 0x38]
mov qword [r13 + 0x58], rax
test esi, esi
jne 0x1400394c9
jmp 0x140039d03
mov rax, qword [r13 + 0x38]
mov r12d, r8d
mov edx, 1
mov bl, byte [rax + 3]
mov rax, qword [r13 + 0x40]
and bl, 2
mov qword [rbp - 0x30], rax
movzx eax, word [rdi + 0x10]
setne r12b
mov word [rbp - 0x20], ax
mov eax, r15d
and al, dl
mov byte [rbp - 0x1a], r8b
neg al
mov dword [rbp + 0x198], r12d
movsxd rax, dword [rdi + 0xc]
sbb cl, cl
xor r9d, r9d
and cl, 0xfe
add cl, dl
lea rdx, [rbp - 0x30]
mov byte [rbp - 0x1e], cl
imul rcx, rax, 0x38
lea rax, [rsp + 0x78]
add rcx, r11
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x28], rcx
mov rcx, qword [r13 + 0x38]
call fcn.140029408
xor edx, edx
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394cb
test bl, bl
je 0x140039d03
xor ebx, ebx
mov dword [rbp + 0x198], r12d
cmp byte [rbp - 0x1a], bl
je 0x140039d96
mov eax, dword [rsp + 0x78]
cmp r15d, 0x18
jl 0x140039d5f
test eax, eax
js 0x140039d26
jne 0x140039d19
cmp r15d, 0x19
je 0x140039d26
xor r15d, r15d
mov dword [rsp + 0x78], r15d
jmp 0x140039daa
xor r15d, r15d
xor edx, edx
mov dword [rsp + 0x78], r15d
mov rcx, qword [r13 + 0x38]
call fcn.140029a34
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
je 0x140039d99
cmp eax, 0x65
jne 0x1400394c9
lea r13d, [rax - 0x64]
mov dword [rsp + 0x40], r15d
mov dword [rsp + 0x78], r13d
mov esi, r15d
jmp 0x140039d9f
test eax, eax
jg 0x140039d81
jne 0x140039d6b
cmp r15d, 0x16
je 0x140039d81
mov rax, qword [r13 + 0x38]
xor r15d, r15d
mov ecx, r15d
cmp byte [rax], r15b
setne cl
mov dword [rsp + 0x78], ecx
jmp 0x140039d99
xor r15d, r15d
xor edx, edx
mov dword [rsp + 0x78], r15d
mov rcx, qword [r13 + 0x38]
call fcn.140029b88
jmp 0x140039d39
xor r15d, r15d
mov r13d, 1
cmp dword [rsp + 0x78], r15d
jne 0x140037dcb
mov r13d, 1
mov rbx, qword [rsp + 0x38]
mov r9d, dword [rsp + 0x30]
lea r10d, [r13 + 3]
cmp dword [rbp + 0x198], r15d
je 0x140039dcb
add rdi, 0x18
mov r11, qword [rsp + 0x50]
jmp 0x1400380ef
mov rax, qword [r14 + 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 case.0x14003723f.86
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov eax, 8
test byte [rcx + 8], al
jne case.0x14003723f.86
mov rax, qword [r14 + 0x78]
xor r8d, r8d
movsxd rcx, dword [rdi + 4]
mov r15, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, r11
cmp dword [rdi + 0x10], r8d
jle 0x140039e4c
mov rax, qword [r15 + 0x40]
lea rsi, [rbp - 0x30]
mov qword [rbp - 0x30], rax
mov r12d, r8d
movzx eax, word [rdi + 0x10]
mov word [rbp - 0x20], ax
mov qword [rbp - 0x28], rbx
jmp 0x140039e95
mov eax, 0x4000
test word [rbx + 8], ax
je 0x140039e67
mov rcx, rbx
call fcn.140030048
test eax, eax
jne 0x14003c372
mov rcx, qword [r15 + 0x40]
call fcn.14003420c
mov rsi, rax
mov r12, rax
test rax, rax
je 0x14003c372
mov r8, qword [rbx + 0x10]
mov r9, rax
mov edx, dword [rbx + 0xc]
mov rcx, qword [r15 + 0x40]
call fcn.140034264
xor r8d, r8d
mov byte [rsi + 0x12], r8b
mov ebx, r8d
cmp byte [rdi], 0x1b
jne 0x140039ec9
movzx edx, word [rsi + 0x10]
mov ecx, r8d
test edx, edx
je 0x140039ec9
mov rax, qword [rsi + 8]
add rax, 8
test byte [rax], r13b
jne 0x140039ec6
add ecx, r13d
add rax, 0x38
cmp ecx, edx
jl 0x140039eb4
jmp 0x140039ec9
mov ebx, r13d
mov rcx, qword [r15 + 0x38]
lea rax, [rbp + 8]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rsi
call fcn.140029408
xor edx, edx
mov dword [rsp + 0x40], eax
mov esi, eax
test r12, r12
je 0x140039f00
mov rcx, qword [rsp + 0x38]
mov rdx, r12
call fcn.1400166f0
xor edx, edx
test esi, esi
jne 0x1400394cb
mov eax, dword [rbp + 8]
xor r8d, r8d
mov dword [r15 + 0x2c], eax
xor eax, eax
mov ecx, eax
mov eax, dword [rbp + 8]
test eax, eax
mov byte [r15 + 3], r8b
mov dword [r15 + 0x28], r8d
sete cl
test eax, eax
setne al
mov byte [r15 + 2], al
cmp byte [rdi], 0x1d
jne 0x140039f4b
mov r8, qword [rsp + 0x48]
test ecx, ecx
jne 0x140037dd0
mov rbx, qword [rsp + 0x38]
jmp 0x140037598
test ebx, ebx
jne 0x140037dcb
mov r8, qword [rsp + 0x48]
test ecx, ecx
je 0x140037dd0
jmp 0x140039f41
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r11
test byte [rcx + 8], 0x24
jne case.0x14003723f.31
movups xmm0, xmmword [rcx]
mov r8b, r12b
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0xd8], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0xe8], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0xd8]
movups xmmword [rbp + 0xf8], xmm0
movsd qword [rbp + 0x108], xmm1
call fcn.140036f64
test byte [rbp + 0xe0], 4
je 0x140037dcb
mov r15, qword [rbp + 0xd8]
jmp 0x140039fd3
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r15, qword [rcx + r11]
movsxd rcx, dword [rdi + 4]
xor r9d, r9d
mov rax, qword [r14 + 0x78]
mov r8, r15
xor edx, edx
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x54], eax
lea rax, [rbp - 0x54]
mov qword [rsp + 0x20], rax
call fcn.140029408
mov qword [rbx + 0x58], r15
mov esi, eax
xor r15d, r15d
mov dword [rsp + 0x40], eax
mov word [rbx + 2], r15w
mov dword [rbx + 0x28], r15d
mov eax, dword [rbp - 0x54]
mov dword [rbx + 0x2c], eax
cmp dword [rbp - 0x54], r15d
je 0x14003a035
cmp dword [rdi + 8], r15d
jne 0x140037dcb
mov r9d, 0x159cf
jmp 0x14003c189
test esi, esi
jne 0x1400394c9
jmp 0x1400375f3
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov rcx, qword [r14 + 0x78]
movsxd rdx, dword [rdi + 4]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rdi + 4]
mov rax, qword [r14 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r13
jmp 0x1400373d9
xor ebx, ebx
mov rdx, rdi
mov rcx, r14
mov qword [rsp + 0x60], rbx
mov dword [rbp + 0x198], ebx
call fcn.140037128
movsxd rdx, dword [rdi + 4]
lea r8d, [rbx + 2]
mov rcx, qword [r14 + 0x78]
mov r12, rax
mov r15, qword [rcx + rdx*8]
test byte [r15 + 8], r8b
jne 0x14003a115
mov rcx, qword [r15 + 0x38]
lea rdx, [rbp + 0x198]
call fcn.1400293a0
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394c9
cmp dword [rbp + 0x198], ebx
je 0x14003a0d3
mov qword [rsp + 0x60], r13
jmp 0x14003a10f
mov rbx, qword [r15 + 0x38]
mov rcx, rbx
call fcn.140028adc
mov rax, qword [rbx + 0x30]
movabs rcx, 0x7fffffffffffffff
mov qword [rsp + 0x60], rax
cmp rax, rcx
jl 0x14003a105
mov r8d, 2
or dword [r15 + 8], r8d
xor ebx, ebx
jmp 0x14003a115
inc rax
mov qword [rsp + 0x60], rax
xor ebx, ebx
mov r8d, 2
movsxd rdx, dword [rdi + 0xc]
test edx, edx
je 0x14003a195
mov rcx, qword [r14 + 0x100]
test rcx, rcx
je 0x14003a145
mov rax, qword [rcx + 8]
jmp 0x14003a136
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003a12f
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x14003a14e
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.1400304a0
mov rax, qword [rbx]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14003c2ce
mov r8d, 2
test byte [r15 + 8], r8b
jne 0x14003c2ce
mov rcx, qword [rsp + 0x60]
inc rax
cmp rcx, rax
cmovl rcx, rax
mov qword [rsp + 0x60], rcx
mov qword [rbx], rcx
xor ebx, ebx
test byte [r15 + 8], r8b
je 0x14003a206
lea rdx, [rsp + 0x60]
mov ecx, 8
call fcn.140018644
mov r8, qword [rsp + 0x60]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
add r8, r13
lea rax, [rbp + 0x198]
mov qword [rsp + 0x60], r8
xor edx, edx
mov rcx, qword [r15 + 0x38]
mov qword [rsp + 0x20], rax
call fcn.140029408
xor edx, edx
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394cb
cmp dword [rbp + 0x198], edx
jne 0x14003a206
add ebx, r13d
cmp ebx, 0x64
jl 0x14003a19b
lea esi, [rax + 0xd]
jmp 0x1400394cb
xor ebx, ebx
mov byte [r15 + 3], bl
mov dword [r15 + 0x28], ebx
mov rax, qword [rsp + 0x60]
mov qword [r12], rax
jmp 0x14003758e
movsxd rax, dword [rdi + 8]
xor r10d, r10d
movsxd rcx, dword [rdi + 4]
mov r9, qword [rsp + 0x38]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
add rdx, r11
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
cmp byte [rdi + 1], 0xfa
mov r8, qword [rcx + r11]
mov qword [rbp - 0x28], r8
jne 0x14003a273
cmp qword [r9 + 0x120], r10
je 0x14003a273
movsx rcx, byte [rbx + 1]
mov rax, qword [r9 + 0x20]
mov r15, qword [rdi + 0x10]
shl rcx, 5
mov r12, qword [rcx + rax]
jmp 0x14003a279
mov r15, r10
mov r12, r10
movzx ecx, word [rdi + 2]
test r13b, cl
je 0x14003a28a
add dword [r14 + 0x3c], r13d
movzx ecx, word [rdi + 2]
mov eax, Ordinal_36
test al, cl
je 0x14003a29b
mov qword [r9 + 0x38], r8
movzx ecx, word [rdi + 2]
mov rax, qword [rdx + 0x10]
mov qword [rbp - 0x20], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp - 0xc], eax
mov eax, 0x10
test al, cl
je 0x14003a2b8
mov r9d, dword [rbx + 0x2c]
jmp 0x14003a2bb
mov r9d, r10d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x14003a2cd
mov eax, dword [rdx]
mov dword [rbp - 8], eax
jmp 0x14003a2d1
mov dword [rbp - 8], r10d
movzx r8d, cx
lea rdx, [rbp - 0x30]
mov qword [rbp - 0x30], r10
and r8d, 0xa
mov rcx, qword [rbx + 0x38]
call fcn.14002d46c
mov esi, eax
mov dword [rsp + 0x40], eax
xor eax, eax
mov byte [rbx + 3], al
mov dword [rbx + 0x28], eax
test esi, esi
jne 0x1400394c9
mov rbx, qword [rsp + 0x38]
test r15, r15
je 0x14003bf6e
mov al, byte [rdi + 2]
mov r8, r12
mov r9, qword [r15]
and al, 4
mov rcx, qword [rbx + 0x118]
neg al
mov rax, qword [rbp - 0x28]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [rbx + 0x120]
jmp 0x140037593
movsxd rcx, dword [rdi + 4]
xor edx, edx
cmp byte [rdi + 1], 0xfa
mov rax, qword [r14 + 0x78]
mov ebx, dword [rdi + 8]
mov dword [rbp + 0x198], ebx
mov r15, qword [rax + rcx*8]
jne 0x14003a3a8
mov rax, qword [rsp + 0x38]
cmp qword [rax + 0x120], rdx
je 0x14003a3a8
mov rax, qword [rax + 0x20]
movsx rcx, byte [r15 + 1]
mov r12, qword [rdi + 0x10]
shl rcx, 5
mov r13, qword [rcx + rax]
lea eax, [rdx + 2]
test byte [rdi + 2], al
je 0x14003a3ae
cmp byte [r15 + 4], dl
je 0x14003a3ae
mov rbx, qword [r15 + 0x38]
mov rcx, rbx
call fcn.140028adc
mov rax, qword [rbx + 0x30]
mov ebx, dword [rbp + 0x198]
mov qword [r15 + 0x58], rax
jmp 0x14003a3ae
mov r13, rdx
mov r12, rdx
mov dl, byte [rdi + 2]
mov rcx, qword [r15 + 0x38]
call fcn.14002d870
xor edx, edx
mov dword [rsp + 0x40], eax
mov qword [r15 + 0x28], rdx
mov esi, eax
test eax, eax
jne 0x1400394cb
lea eax, [rsi + 1]
test al, bl
mov rbx, qword [rsp + 0x38]
je 0x14003bf6b
add dword [r14 + 0x3c], eax
mov r10, qword [rbx + 0x120]
test r10, r10
je 0x14003bf7e
lea eax, [rsi + 0x20]
test byte [r12 + 0x40], al
jne 0x14003bf7e
mov rax, qword [r15 + 0x58]
lea edx, [rsi + 9]
mov r9, qword [r12]
mov r8, r13
mov rcx, qword [rbx + 0x118]
mov qword [rsp + 0x20], rax
call r10
jmp 0x140039372
mov eax, dword [r14 + 0x3c]
add dword [rbx + 0x78], eax
xor r15d, r15d
mov dword [rbx + 0x74], eax
mov dword [r14 + 0x3c], r15d
jmp case.0x14003723f.86
mov rax, qword [r14 + 0x78]
lea r9, [rbp + 0xc]
movsxd rcx, dword [rdi + 4]
xor r15d, r15d
mov r8d, dword [rdi + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rdx, rax, 0x38
mov dword [rbp + 0xc], r15d
add rdx, r11
call fcn.14003ed9c
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394c9
cmp dword [rbp + 0xc], r15d
jmp 0x1400384c3
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
add rdx, r11
mov rcx, qword [rax + rcx*8]
call fcn.14003ecf4
xor r15d, r15d
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394c9
movsxd rcx, dword [rdi + 0xc]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r15d
jmp 0x1400373d9
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov rcx, qword [r14 + 0x78]
mov rbx, rax
movsxd rdx, dword [rdi + 4]
mov rdx, qword [rcx + rdx*8]
mov rsi, qword [rdx + 0x38]
mov rcx, rsi
call fcn.140028adc
mov r10, qword [rsp + 0x38]
mov r8d, dword [rsi + 0x40]
cmp r8d, dword [r10 + 0x7c]
ja 0x14003b5ea
mov r9, rbx
xor edx, edx
mov rcx, rsi
call fcn.140030de0
xor r15d, r15d
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394c9
cmp dword [rdi + 0xc], r15d
jne 0x14003bf8c
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14003bf8c
mov rcx, rbx
call fcn.14002fff0
mov rbx, qword [rsp + 0x38]
test eax, eax
jne 0x14003c591
jmp 0x1400373d9
mov rdx, rdi
mov rcx, r14
call fcn.140037128
movsxd rdx, dword [rdi + 4]
xor r8d, r8d
mov rcx, qword [r14 + 0x78]
mov r15, rax
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], r8b
je 0x14003a573
mov word [rax + 8], r13w
jmp 0x1400375f3
cmp byte [rbx + 3], r8b
je 0x14003a57f
mov rax, qword [rbx + 0x58]
jmp 0x14003a5fc
mov eax, 2
cmp byte [rbx], al
jne 0x14003a5b8
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp + 0x40]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_96]
mov rdx, rbx
mov rcx, r14
mov esi, eax
mov dword [rsp + 0x40], eax
call fcn.140035118
test esi, esi
jne 0x1400394c9
mov rax, qword [rbp + 0x40]
jmp 0x14003a600
mov rax, qword [rbx + 0x38]
xor esi, esi
cmp byte [rax], sil
je 0x14003a5dd
mov rcx, rbx
call fcn.140033f04
xor edx, edx
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394cb
jmp 0x14003a5e3
mov dword [rsp + 0x40], esi
xor edx, edx
cmp byte [rbx + 2], dl
jne 0x140038978
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.140028adc
mov rax, qword [rbx + 0x30]
mov qword [rbp + 0x40], rax
mov qword [r15], rax
jmp 0x1400375f3
movsxd rcx, dword [rdi + 4]
xor r15d, r15d
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 2], r13b
mov dword [rbx + 0x28], r15d
cmp byte [rbx], r15b
jne 0x14003bf99
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x18]
call fcn.140016670
mov qword [rbx + 0x18], r15
mov byte [rbx], r13b
jmp 0x1400375f3
movsxd rcx, dword [rdi + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x50], eax
cmp r15b, 0x82
jne 0x14003a66e
or dword [rbx + 0x2c], 0xffffffff
xor r15d, r15d
cmp byte [rcx], r15b
je 0x14003bf99
jmp 0x14003a671
xor r15d, r15d
lea rdx, [rbp - 0x50]
call fcn.1400293a0
mov esi, eax
mov dword [rsp + 0x40], eax
mov al, byte [rbp - 0x50]
mov byte [rbx + 2], al
mov byte [rbx + 3], r15b
mov dword [rbx + 0x28], r15d
test esi, esi
jne 0x1400394c9
cmp dword [rdi + 8], r15d
jle 0x14003bf8c
cmp dword [rbp - 0x50], r15d
mov r8, qword [rsp + 0x48]
jne 0x140037dd0
jmp 0x1400388d3
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x60]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.140029360
xor r15d, r15d
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394c9
cmp dword [rbp - 0x60], r15d
jne 0x140037dcb
mov rcx, rbx
call fcn.1400298dc
test rax, rax
js 0x14003a712
mov rcx, rax
call fcn.140019eb8
movsx ecx, ax
mov eax, dword [rbp - 0x60]
cmp ecx, dword [rdi + 0xc]
cmovl eax, r13d
mov dword [rbp - 0x60], eax
jmp 0x14003a715
mov eax, dword [rbp - 0x60]
test eax, eax
jmp 0x14003a6a4
add dword [r14 + 0xdc], r13d
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x5c]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x5c], r13d
cmp byte [rbx], r13b
jne 0x14003a746
mov rcx, rbx
call fcn.14003ebfc
xor r15d, r15d
jmp 0x14003a75a
mov rcx, qword [rbx + 0x38]
call fcn.140029360
xor r15d, r15d
mov byte [rbx + 3], r15b
mov dword [rbx + 0x28], r15d
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394c9
mov al, byte [rbp - 0x5c]
mov byte [rbx + 2], al
cmp dword [rbp - 0x5c], r15d
jmp 0x14003a6a4
movsxd rcx, dword [rdi + 4]
mov rax, qword [r14 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
call fcn.14003ec64
jmp 0x14003a7a8
movsxd rcx, dword [rdi + 4]
mov rax, qword [r14 + 0x78]
mov edx, dword [rdi + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
call qword [rdi + 0x10]
mov dword [rsp + 0x40], eax
mov esi, eax
xor r15d, r15d
mov dword [rbx + 0x28], r15d
test eax, eax
jne 0x14003a7ce
mov byte [rbx + 2], r15b
movzx eax, word [rdi + 2]
add dword [r14 + rax*4 + 0xd4], r13d
jmp 0x14003bc00
cmp esi, 0x65
jne 0x1400394c9
mov esi, r15d
mov dword [rsp + 0x40], r15d
mov byte [rbx + 2], r13b
mov r8, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x38]
mov eax, dword [rbx + 0x160]
test eax, eax
je 0x140037598
mov r15b, byte [rbp + 0x188]
mov al, byte [rbx + 0x61]
neg al
sbb esi, esi
and esi, 0xfffffffe
add esi, 9
mov ecx, esi
mov dword [r14 + 0x38], esi
call fcn.140080bf4
mov r8, rax
lea rdx, [0x14010bb30]
mov rcx, r14
call fcn.140031454
jmp 0x14003c312
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r15, qword [rax + rcx*8]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, r11
test byte [rdi + 2], r13b
je 0x14003a852
add dword [r14 + 0x3c], r13d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003a876
mov rcx, rbx
call fcn.140030048
xor edx, edx
mov esi, eax
test eax, eax
jne 0x1400394cb
mov r11, qword [rsp + 0x50]
cmp byte [rdi], 0x83
jne 0x14003a888
mov rdx, rbx
mov rcx, r15
call fcn.14003e324
jmp 0x14003a8e0
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [rdi + 2]
mov qword [rbp - 0x28], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp - 0x30], rax
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rdi + 0x10]
add rcx, r11
mov word [rbp - 0x10], ax
mov eax, 0x10
mov qword [rbp - 0x18], rcx
test al, r8b
je 0x14003a8c4
mov r9d, dword [r15 + 0x2c]
jmp 0x14003a8c9
xor eax, eax
mov r9d, eax
mov rcx, qword [r15 + 0x38]
lea rdx, [rbp - 0x30]
and r8d, 0xa
call fcn.14002d46c
xor ebx, ebx
mov dword [r15 + 0x28], ebx
mov dword [rsp + 0x40], eax
mov esi, eax
jmp 0x14003a035
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x30]
mov rax, qword [r14 + 0x78]
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x40]
mov r15, qword [rbx + 0x38]
mov qword [rbp - 0x30], rax
movzx eax, word [rdi + 0xc]
mov word [rbp - 0x20], ax
xor eax, eax
mov byte [rbp - 0x1e], al
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
lea rax, [rbp + 0x30]
add rcx, r11
mov qword [rsp + 0x20], rax
mov qword [rbp - 0x28], rcx
mov rcx, r15
call fcn.140029408
xor edx, edx
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394cb
cmp dword [rbp + 0x30], edx
jne 0x14003a967
mov dl, 4
mov rcx, r15
call fcn.14002d870
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394c9
and qword [rbx + 0x28], 0
jmp 0x1400375f3
mov rax, qword [r14 + 0x78]
xor r15d, r15d
movsxd rcx, dword [rdi + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], r15b
je 0x14003a9b4
mov rcx, rbx
call fcn.140033f04
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394c9
mov r11, qword [rsp + 0x50]
lea r10d, [r15 + 4]
mov r8, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x30]
jmp 0x14003a9bc
mov esi, r15d
mov dword [rsp + 0x40], r15d
cmp byte [rbx + 2], r15b
jne 0x14003aa2f
mov rcx, qword [rsp + 0x38]
lea r8, [rbp + 0x28]
mov qword [rbp + 0x28], r15
mov rdx, qword [rbx + 0x38]
call fcn.140034ef8
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394c9
cmp byte [rdi], 0x86
jne 0x14003aa18
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [rdi + 0xc]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r15b
mov rax, qword [rbp + 0x28]
mov qword [rdx + 0x58], rax
mov byte [rdx + 3], r13b
mov rax, qword [rdi + 0x10]
mov qword [rdx + 0x20], rax
mov qword [rdx + 0x30], rbx
jmp 0x1400375f3
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov rcx, qword [rbp + 0x28]
mov qword [rax], rcx
jmp 0x1400375f3
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r11
test word [rcx + 8], ax
jne 0x1400383c7
mov word [rcx + 8], r13w
jmp 0x140037e04
movsxd rcx, dword [rdi + 4]
lea r9, [rbp - 0x58]
mov rax, qword [r14 + 0x78]
lea r8, [rbp - 0x30]
cmp r15b, 0x27
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x40]
mov qword [rbp - 0x30], rax
movzx eax, word [rdi + 0x10]
mov word [rbp - 0x20], ax
sbb al, al
mov byte [rbp - 0x1e], al
xor r15d, r15d
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov dword [rbp - 0x58], r15d
add rcx, r11
mov qword [rbp - 0x28], rcx
mov rcx, rbx
call fcn.140035030
mov esi, eax
mov dword [rsp + 0x40], eax
mov eax, dword [rbp - 0x58]
test byte [rdi], r13b
je 0x14003aab0
neg eax
jmp 0x14003aab2
inc eax
mov dword [rbp - 0x58], eax
test esi, esi
jne 0x1400394c9
mov r8, qword [rsp + 0x48]
test eax, eax
jg 0x140037dd0
jmp 0x1400384ce
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov rbx, rax
mov word [rax + 8], r13w
mov rax, qword [rsp + 0x38]
mov ecx, dword [rax + 0xd8]
add ecx, r13d
cmp dword [rax + 0xcc], ecx
jg 0x14003c2d8
movsxd r15, dword [rdi + 0xc]
lea r8, [rbp - 0x4c]
mov rax, qword [rax + 0x20]
xor ecx, ecx
mov edx, dword [rdi + 4]
mov dword [rbp - 0x4c], ecx
mov rcx, r15
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14002e12c
mov esi, eax
mov dword [rsp + 0x40], eax
mov r10d, 4
mov word [rbx + 8], r10w
movsxd rax, dword [rbp - 0x4c]
mov qword [rbx], rax
test esi, esi
jne 0x1400394c9
mov r8d, dword [rbp - 0x4c]
mov rbx, qword [rsp + 0x38]
test r8d, r8d
je 0x14003bf74
mov r9d, dword [rdi + 4]
mov edx, r15d
mov rcx, rbx
call fcn.14004f3c8
lea edx, [r15 + r13]
mov byte [rbp + 0x188], dl
jmp 0x1400373d9
mov eax, dword [rdi + 0xc]
xor r15d, r15d
mov rcx, qword [rbx + 0x20]
neg eax
mov edx, dword [rdi + 4]
lea rax, [rbp + 0x198]
sbb r8, r8
mov dword [rbp + 0x198], r15d
and r8, rax
movsxd rax, dword [rdi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002e0a8
mov esi, eax
mov r11, qword [rsp + 0x50]
mov dword [rsp + 0x40], eax
cmp dword [rdi + 0xc], r15d
je 0x14003abd4
movsxd rdx, dword [rbp + 0x198]
add dword [r14 + 0x3c], edx
cmp dword [rdi + 0xc], r15d
jle 0x14003abd4
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add qword [rcx + r11], rdx
test esi, esi
jne 0x1400394c9
jmp 0x1400373de
movsxd rcx, dword [rdi + 4]
mov rax, qword [r14 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r13b
jne 0x14003ac03
mov rdx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.14003da2c
jmp 0x1400373d9
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.14002e0a8
jmp 0x140039ad6
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov r10, qword [rsp + 0x38]
xor r15d, r15d
movsxd rdx, dword [rdi + 4]
mov rbx, rax
mov r8d, dword [rdi + 0xc]
shl rdx, 5
mov rcx, qword [r10 + 0x20]
mov dword [rbp + 0x10], r15d
mov rcx, qword [rdx + rcx + 8]
lea rdx, [rbp + 0x10]
call fcn.14002dc60
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x1400394c9
movsxd rax, dword [rbp + 0x10]
jmp 0x140038430
add byte [rbx + 0x6a], r13b
xor r15d, r15d
mov rdx, qword [rdi + 0x10]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r15
mov rcx, rbx
call fcn.14005c068
dec byte [rbx + 0x6a]
jmp 0x140039ad6
mov rcx, qword [rdi + 0x10]
xor r15d, r15d
movsxd rbx, dword [rdi + 4]
mov rsi, qword [rsp + 0x38]
test rcx, rcx
jne 0x14003acec
mov rcx, qword [rsi + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.140053064
and dword [rsi + 0x2c], 0xffffffef
lea r8, [r14 + 0xa8]
mov edx, ebx
mov r9d, r13d
mov rcx, rsi
mov rbx, rsi
call fcn.140060418
or dword [rbx + 0x2c], r13d
mov esi, eax
and dword [r14 + 0xc8], 0xfffffffc
mov dword [rsp + 0x40], eax
jmp 0x14003adc4
mov r8, qword [rsi + 0x20]
lea rax, [r14 + 0xa8]
mov qword [rbp - 0x28], rax
lea r9, str.sqlite_master
mov qword [rbp - 0x30], rsi
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 - 0x18], r15d
mov qword [rsp + 0x20], rcx
mov rcx, rsi
mov r8, qword [rax + r8]
call fcn.140018404
mov rbx, rax
test rax, rax
je 0x14003c2ec
lea r9, [rbp - 0x30]
mov byte [rsi + 0xb5], r13b
lea r8, [fcn.140060214]
mov dword [rbp - 0x1c], r15d
mov rdx, rax
mov dword [rbp - 0x14], r15d
mov rcx, rsi
mov qword [rsp + 0x20], r15
call fcn.14005c068
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x14003adad
mov esi, dword [rbp - 0x1c]
mov dword [rsp + 0x40], esi
test esi, esi
jne 0x14003adad
cmp dword [rbp - 0x14], r15d
jne 0x14003adad
lea rax, [0x140110bf4]
mov esi, reloc.Cabinet.dll_FCIAddFile
mov ecx, esi
mov qword [rsp + 0x20], rax
mov r9d, 0x15f51
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140018574
mov dword [rsp + 0x40], esi
mov rdx, rbx
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.1400166f0
mov byte [rbx + 0xb5], r15b
test esi, esi
jne 0x14003c2f6
jmp 0x1400373d9
mov edx, dword [rdi + 4]
mov rcx, rbx
call fcn.14004b2ec
jmp 0x140039ad6
mov r8, qword [rdi + 0x10]
mov rcx, rbx
mov edx, dword [rdi + 4]
call fcn.14004ce48
jmp 0x1400373d9
mov r8, qword [rdi + 0x10]
mov rcx, rbx
mov edx, dword [rdi + 4]
call fcn.14004c948
jmp 0x1400373d9
mov r8, qword [rdi + 0x10]
mov rcx, rbx
mov edx, dword [rdi + 4]
call fcn.14006a784
jmp 0x1400373d9
movsxd rax, dword [rdi + 0xc]
lea r8, [rbp + 0x34]
mov r10, qword [rsp + 0x38]
mov rdx, qword [rdi + 0x10]
imul r15, rax, 0x38
movsxd rax, dword [rdi + 4]
add rdx, 4
mov rcx, qword [r10 + 0x20]
add r15, r11
imul rbx, rax, 0x38
movzx eax, word [rdi + 2]
mov r9d, dword [r15]
add rbx, r11
shl rax, 5
add r9d, r13d
mov qword [rsp + 0x20], r8
mov r8d, dword [rdi + 8]
mov rcx, qword [rax + rcx + 8]
call fcn.14002ef68
mov rcx, rbx
mov r12, rax
call fcn.1400306c8
mov edx, dword [rbp + 0x34]
test edx, edx
je 0x14003aeaa
test r12, r12
je 0x14003c372
dec edx
lea rax, [fcn.140016670]
movsxd r8, edx
mov r9b, r13b
sub qword [r15], r8
mov rdx, r12
or r8d, 0xffffffff
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140030a70
movzx r12d, byte [rbp + 0x190]
mov rcx, rbx
mov edx, r12d
call fcn.14002fdfc
jmp 0x1400375f3
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul r15, rax, 0x38
add rbx, r11
mov eax, 0x10
add r15, r11
test byte [rbx + 8], al
jne 0x14003aef2
mov rcx, rbx
call fcn.140030800
test eax, eax
jne 0x14003c372
mov rdx, qword [r15]
mov rcx, qword [rbx + 0x10]
call fcn.14001e204
jmp 0x1400375f3
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 0x10
add rbx, r11
test byte [rbx + 8], al
je 0x14003af44
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x58]
call fcn.14001e474
test eax, eax
je 0x14003af44
movsxd rax, dword [rdi + 0xc]
mov rdx, qword [rbp + 0x58]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x50]
call fcn.14003076c
jmp 0x14003a7e3
mov rcx, rbx
call fcn.1400306c8
jmp 0x14003bc00
movsxd rax, dword [rdi + 4]
mov r12d, dword [rdi + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul r15, rax, 0x38
add rbx, r11
mov eax, 0x10
add r15, r11
test byte [rbx + 8], al
jne 0x14003af85
mov rcx, rbx
call fcn.140030800
test eax, eax
jne 0x14003c372
test r12d, r12d
je 0x14003afaa
mov r8, qword [r15]
mov edx, r12d
mov rcx, qword [rbx + 0x10]
call fcn.14001e4e4
test eax, eax
jne 0x140037dcb
test r12d, r12d
js 0x14003bf8c
mov rdx, qword [r15]
mov rcx, qword [rbx + 0x10]
call fcn.14001e204
jmp 0x14003758e
movsxd rax, dword [rdi + 0xc]
mov r12, qword [rdi + 0x10]
imul r15, rax, 0x38
xor eax, eax
mov qword [rbp + 0x198], r12
add r15, r11
cmp word [rdi + 2], ax
je 0x14003affa
mov rcx, qword [r12 + 0x20]
mov rax, qword [r14 + 0x100]
jmp 0x14003aff5
cmp qword [rax + 0x38], rcx
je 0x140037c95
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003afe7
mov eax, dword [r14 + 0x110]
cmp eax, dword [rbx + 0xa4]
jge 0x14003c319
mov ecx, 0x10
test byte [r15 + 8], cl
jne 0x14003b13b
mov edx, dword [r12 + 0x10]
mov ecx, dword [r12 + 0xc]
add ecx, edx
test edx, edx
lea r13d, [rcx + 1]
cmovne r13d, ecx
lea eax, [r13 + 2]
imul ecx, eax, 7
mov eax, dword [r12 + 8]
add ecx, edx
mov edx, 7
add eax, edx
jns 0x14003b04b
add eax, edx
sar eax, 3
lea r12d, [rax + rcx*8]
mov rcx, rbx
movsxd rdx, r12d
call fcn.1400168f4
mov rbx, rax
test rax, rax
je 0x14003c372
mov rcx, r15
call fcn.140030360
sub rdi, qword [rsp + 0x48]
mov eax, 0x410
mov r10, qword [rsp + 0x38]
mov word [r15 + 8], ax
lea rax, [0x140032584]
mov qword [r15 + 0x30], rax
movabs rax, 0xaaaaaaaaaaaaaaab
mov dword [r15 + 0xc], r12d
mov r12, qword [rbp + 0x198]
mov qword [r15 + 0x10], rbx
mov qword [rbx], r14
mov dword [rbx + 0x60], r13d
mov ecx, dword [r12 + 0x10]
mov dword [rbx + 0x64], ecx
sar rdi, 3
imul rdi, rax
mov dword [rbx + 0x54], edi
mov rax, qword [r14 + 0x68]
mov qword [rbx + 0x20], rax
mov eax, dword [r14 + 0x28]
mov dword [rbx + 0x5c], eax
mov rax, qword [r14 + 0x78]
mov qword [rbx + 0x28], rax
mov eax, dword [r14 + 0x2c]
mov dword [rbx + 0x50], eax
mov rax, qword [r14 + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [r14 + 0x90]
mov dword [rbx + 0x58], eax
mov rax, qword [r12 + 0x20]
mov qword [rbx + 0x38], rax
movsxd rax, r13d
add rax, 2
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x14003b12c
mov edx, 0x80
mov word [rax + 8], dx
mov qword [rax + 0x28], r10
add rax, 0x38
cmp rax, rcx
jne 0x14003b11b
mov eax, dword [r14 + 0x110]
mov r13d, 1
jmp 0x14003b144
mov rbx, qword [r15 + 0x10]
mov r10, qword [rsp + 0x38]
inc eax
lea rdx, [rbx + 0x70]
mov dword [r14 + 0x110], eax
xor r15d, r15d
mov rax, qword [r14 + 0x100]
mov qword [rbx + 8], rax
mov rax, qword [r10 + 0x38]
mov qword [rbx + 0x40], rax
lea r8d, [r15 + 7]
mov eax, dword [r14 + 0x3c]
mov dword [rbx + 0x68], eax
mov rax, qword [r14]
mov qword [rsp + 0x50], rdx
mov ecx, dword [rax + 0x74]
mov dword [rbx + 0x6c], ecx
mov rax, qword [r14 + 0x120]
mov qword [rbx + 0x48], rax
mov qword [r14 + 0x68], rdx
mov qword [r14 + 0x120], r15
mov dword [r14 + 0x3c], r15d
mov qword [r14 + 0x100], rbx
movsxd rcx, dword [rbx + 0x60]
mov dword [r14 + 0x28], ecx
movzx eax, word [rbx + 0x64]
mov dword [r14 + 0x2c], eax
imul rcx, rcx, 0x38
add rdx, rcx
mov qword [r14 + 0x78], rdx
movsxd rax, dword [r12 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rbx + 0x30], rcx
mov eax, dword [r12 + 8]
add eax, r8d
cdq
and edx, r8d
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1400c2130
mov r8, qword [r12]
mov qword [r14 + 0x88], r8
mov eax, dword [r12 + 8]
mov qword [rsp + 0x48], r8
lea rdi, [r8 - 0x18]
mov dword [r14 + 0x90], eax
jmp 0x14003a7e8
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov r9, qword [r14 + 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
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
jmp 0x140037740
mov eax, dword [rbx + 0x30]
bt rax, 0x13
jae 0x14003b25d
movsxd rax, dword [rdi + 8]
add qword [rbx + 0x290], rax
jmp case.0x14003723f.86
xor eax, eax
lea rcx, [0x140000000]
cmp dword [rdi + 4], eax
movsxd rax, dword [rdi + 8]
je 0x14003b27b
add qword [rbx + 0x288], rax
jmp case.default.0x14003723f
add qword [r14 + 0x50], rax
jmp case.default.0x14003723f
xor r15d, r15d
cmp dword [rdi + 4], r15d
je 0x14003b2a6
cmp qword [rbx + 0x288], r15
jne case.0x14003723f.86
cmp qword [rbx + 0x290], r15
jmp 0x140038523
cmp qword [r14 + 0x50], r15
jmp 0x14003b294
mov rcx, qword [r14 + 0x100]
test rcx, rcx
je 0x14003b2d8
mov rax, qword [rcx + 8]
jmp 0x14003b2c5
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003b2be
movsxd rax, dword [rdi + 4]
imul r15, rax, 0x38
add r15, qword [rcx + 0x20]
jmp 0x14003b2e3
movsxd rax, dword [rdi + 4]
imul r15, rax, 0x38
add r15, r11
mov rcx, r15
call fcn.1400304a0
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x50]
mov rcx, rbx
call fcn.1400304a0
mov rax, qword [rbx]
mov r10d, 4
mov rbx, qword [rsp + 0x38]
mov r9d, dword [rsp + 0x30]
cmp qword [r15], rax
jge 0x140039dcb
mov r11, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
mov qword [r15], rax
jmp case.0x14003723f.86
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r11]
test rdx, rdx
jle case.0x14003723f.86
movsxd rax, dword [rdi + 0xc]
sub rdx, rax
mov qword [rcx + r11], rdx
jmp 0x140037dd0
movsxd rax, dword [rdi + 4]
mov rdx, rdi
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
mov rcx, r14
imul r15, rax, 0x38
add rbx, r11
add r15, r11
call fcn.140037128
mov rcx, qword [rbx]
mov r12, rax
mov qword [rbp + 0x48], rcx
test rcx, rcx
jle 0x14003b3a6
mov rdx, qword [r15]
lea rcx, [rbp + 0x48]
xor r15d, r15d
test rdx, rdx
cmovle rdx, r15
call fcn.140019d2c
test eax, eax
jne 0x14003b3a6
mov rax, qword [rbp + 0x48]
jmp 0x14003a215
or qword [r12], 0xffffffffffffffff
jmp 0x14003758e
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
test rax, rax
je case.0x14003723f.86
jle 0x140037dd0
dec rax
mov qword [rcx + r11], rax
jmp 0x140037dd0
movsxd rax, dword [rdi + 4]
movabs rdx, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
cmp rax, rdx
jle 0x14003b3f9
dec rax
mov qword [rcx + r11], rax
test rax, rax
jmp 0x140038523
movzx r15d, word [rdi + 2]
mov rcx, rbx
mov r12d, r15d
lea rdx, [r15*8 + 0x68]
call fcn.140016964
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x14003c372
mov rdx, qword [rsp + 0x38]
lea rcx, [r15 + 6]
lea rcx, [rbx + rcx*8]
mov qword [rbx + 0x10], rax
mov r8d, r13d
mov qword [rbx], rcx
call fcn.1400306b8
mov rcx, qword [rdi + 0x10]
movabs rax, 0xaaaaaaaaaaaaaaab
mov r11, qword [rsp + 0x50]
mov r12b, byte [rbp + 0x190]
mov qword [rbx + 8], rcx
mov rcx, rdi
sub rcx, qword [rsp + 0x48]
sar rcx, 3
imul rcx, rax
xor eax, eax
mov qword [rbx + 0x18], r14
mov dword [rbx + 0x20], ecx
mov byte [rbx + 0x28], al
mov dword [rbx + 0x24], eax
mov byte [rbx + 0x29], r15b
mov word [rdi], 0xf09b
mov qword [rdi + 0x10], rbx
movsxd rax, dword [rdi + 0xc]
xor r15d, r15d
mov rbx, qword [rdi + 0x10]
imul rdx, rax, 0x38
add rdx, r11
cmp qword [rbx + 0x10], rdx
je 0x14003b4ea
movzx eax, byte [rbx + 0x29]
mov r8d, eax
mov qword [rbx + 0x10], rdx
sub r8, 1
lea r10d, [rax - 1]
js 0x14003b4ea
lea r9, [r8 + 6]
lea r9, [rbx + r9*8]
lea r12d, [r15 + 8]
mov eax, dword [rdi + 8]
add eax, r10d
sub r10d, r13d
cdqe
imul rcx, rax, 0x38
add rcx, r11
mov qword [r9], rcx
sub r9, r12
sub r8, r13
jns 0x14003b4c6
mov r12b, byte [rbp + 0x190]
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], r15d
je 0x14003b508
call qword [rax + 0x30]
jmp 0x14003b50b
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x14003bf8c
jle 0x14003b539
mov rcx, qword [rbx]
call fcn.1400354f4
mov r8, rax
lea rdx, [0x14010bb30]
mov rcx, r14
call fcn.140031454
mov esi, dword [rbx + 0x24]
mov dword [rsp + 0x40], esi
cmp byte [rbx + 0x28], r15b
je 0x14003b55e
cmp dword [rdi - 0x14], r15d
je 0x14003b55a
movsxd rax, dword [rdi - 0x14]
mov rdx, r13
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x50]
call fcn.14003076c
mov byte [rbx + 0x28], r15b
mov rcx, qword [rbx]
call fcn.140030360
mov rax, qword [rbx]
mov word [rax + 8], r13w
mov dword [rbx + 0x24], r15d
jmp 0x14003a035
movsxd rax, dword [rdi + 4]
xor r15d, r15d
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
cmp dword [rdi + 0xc], r15d
je 0x14003b5b7
movsxd rax, dword [rdi + 0xc]
mov r8, qword [rdi + 0x10]
imul rdx, rax, 0x38
add rdx, r11
call fcn.140030270
mov esi, eax
mov dword [rsp + 0x40], eax
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x50]
jmp 0x14003b5c6
mov rdx, qword [rdi + 0x10]
call fcn.1400301c8
mov esi, eax
mov dword [rsp + 0x40], eax
mov rcx, rbx
test esi, esi
jne 0x14003c330
movzx edx, r12b
call fcn.14002fdfc
mov rcx, rbx
call fcn.1400308e8
test eax, eax
je 0x1400375f3
lea rdx, str.string_or_blob_too_big
mov rcx, r14
call fcn.140031454
mov esi, 0x12
jmp 0x1400394c9
mov r8d, dword [rdi + 8]
lea rax, [rbp + 0x20]
mov edx, dword [rdi + 4]
lea r9, [rbp + 0x1c]
or dword [rbp + 0x20], 0xffffffff
xor r15d, r15d
or dword [rbp + 0x1c], 0xffffffff
mov rcx, rbx
mov dword [rbp + 0x18], r15d
mov qword [rsp + 0x20], rax
call fcn.140081600
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
je 0x14003b650
lea eax, [r15 + 5]
cmp esi, eax
jne 0x1400394c9
mov esi, r15d
mov dword [rsp + 0x40], r15d
mov dword [rbp + 0x18], r13d
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x50]
movsxd rdx, dword [rbp + r15*4 + 0x18]
mov rcx, rbx
call fcn.14003076c
add r15, r13
add rbx, 0x38
cmp r15, 3
jl 0x14003b65d
jmp 0x1400375f3
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov r10, qword [rsp + 0x38]
mov r13, rax
movsxd rdx, dword [rdi + 4]
mov ebx, dword [rdi + 0xc]
shl rdx, 5
mov rcx, qword [r10 + 0x20]
mov rax, qword [rdx + rcx + 8]
mov rcx, rax
mov qword [rbp + 0x198], rax
call fcn.14002e524
mov rcx, rax
mov r12, rax
call fcn.140022924
cmp ebx, 0xffffffff
mov rcx, r12
mov r15d, eax
cmove ebx, eax
call fcn.14002292c
test eax, eax
mov edx, 1
mov rcx, r12
cmove ebx, r15d
call fcn.140022684
mov edx, 5
cmp ebx, edx
jne 0x14003b70c
mov rcx, rax
call fcn.140018e04
test eax, eax
je 0x14003b704
mov rcx, r12
call fcn.14002294c
xor ecx, ecx
test eax, eax
jne 0x14003b710
mov ebx, r15d
jmp 0x14003b7a5
xor ecx, ecx
jmp 0x14003b715
mov edx, 5
cmp ebx, r15d
je 0x14003b7a5
cmp r15d, edx
je 0x14003b727
cmp ebx, edx
jne 0x14003b7a5
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x5f], cl
je 0x14003c34c
cmp dword [rax + 0xcc], 1
jg 0x14003c34c
cmp r15d, edx
jne 0x14003b76a
mov rdx, rax
mov rcx, r12
call fcn.140022a6c
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
jne 0x14003b7a9
mov edx, ebx
mov rcx, r12
call fcn.140022810
xor ecx, ecx
jmp 0x14003b785
mov eax, 4
cmp r15d, eax
jne 0x14003b781
lea edx, [rax - 2]
mov rcx, r12
call fcn.140022810
xor ecx, ecx
test esi, esi
jne 0x14003b7a9
mov edx, ecx
mov eax, 5
mov rcx, qword [rbp + 0x198]
cmp ebx, eax
sete dl
inc edx
call fcn.14002f3a8
mov esi, eax
mov dword [rsp + 0x40], eax
test esi, esi
je 0x14003b7ac
mov ebx, r15d
mov edx, ebx
mov rcx, r12
call fcn.140022810
mov ecx, 0xa02
mov word [r13 + 8], cx
mov ecx, eax
call fcn.14005cc60
mov rcx, rax
mov qword [r13 + 0x10], rax
call fcn.140018e04
movzx r12d, byte [rbp + 0x190]
mov rcx, r13
mov edx, r12d
mov dword [r13 + 0xc], eax
mov byte [r13 + 0xa], 1
call fcn.14002fdfc
test esi, esi
jne 0x1400394c9
lea r13d, [rsi + 1]
jmp 0x1400375f3
xor r15d, r15d
cmp dword [rdi + 8], r15d
je 0x14003b816
movsxd rax, dword [rdi + 8]
imul r9, rax, 0x38
add r9, r11
jmp 0x14003b819
mov r9, r15
mov r8d, dword [rdi + 4]
lea rcx, [r14 + 0xa8]
mov rdx, rbx
call fcn.14006d324
jmp 0x140039ad6
movsxd rcx, dword [rdi + 4]
mov rax, qword [rbx + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.1400282b8
xor r15d, r15d
mov dword [rsp + 0x40], eax
mov esi, eax
test eax, eax
je 0x14003bf6e
cmp eax, 0x65
jne 0x1400394c9
mov esi, r15d
mov dword [rsp + 0x40], r15d
jmp 0x140037dcb
xor eax, eax
cmp dword [rdi + 4], eax
jne 0x14003b885
mov edx, dword [rdi + 8]
mov rcx, rbx
call fcn.1400350f0
jmp 0x1400373d9
mov eax, dword [rdi + 8]
add eax, r13d
xor eax, dword [r14 + 0xc8]
and eax, 3
xor dword [r14 + 0xc8], eax
jmp case.0x14003723f.86
mov rbx, qword [rdi + 0x10]
mov rcx, qword [rsp + 0x38]
mov rdx, rbx
call fcn.14006e860
mov dword [rsp + 0x40], eax
mov esi, eax
test rbx, rbx
je 0x14003a035
mov rdx, qword [rbx + 0x10]
mov rcx, r14
call fcn.140035118
jmp 0x14003a035
xorps xmm0, xmm0
lea rcx, [rbp + 0xa0]
xor eax, eax
mov qword [rbp + 0xd0], rax
movsxd rax, dword [rdi + 8]
imul rdx, rax, 0x38
movups xmmword [rbp + 0xc0], xmm0
movups xmmword [rbp + 0xa0], xmm0
movups xmmword [rbp + 0xb0], xmm0
add rdx, r11
mov qword [rbp + 0xc8], rbx
call fcn.140030988
lea rcx, [rbp + 0xa0]
mov dword [rsp + 0x40], eax
mov esi, eax
call fcn.1400354f4
test rax, rax
je 0x14003b943
mov edx, dword [rdi + 4]
lea r9, [r14 + 0xa8]
mov r8, rax
mov rcx, rbx
call fcn.14006e3a4
mov esi, eax
mov dword [rsp + 0x40], eax
lea rcx, [rbp + 0xa0]
call fcn.140030360
jmp 0x140039666
add dword [rbx + 0xd8], r13d
mov rcx, rbx
mov r8, qword [rdi + 0x10]
mov edx, dword [rdi + 4]
call fcn.14006e6b8
dec dword [rbx + 0xd8]
jmp 0x140039ad6
mov rax, qword [rdi + 0x10]
xor esi, esi
mov qword [rbp + 0x198], rsi
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003c37c
mov r15, qword [rbx]
test r15, r15
je 0x14003c37c
lea rdx, [rbp + 0x198]
mov rcx, rbx
call qword [r15 + 0x30]
mov rdx, rbx
mov rcx, r14
mov esi, eax
mov dword [rsp + 0x40], eax
call fcn.140035118
xor edx, edx
test esi, esi
jne 0x1400394cb
mov rax, qword [rbp + 0x198]
or r9d, 0xffffffff
xor r8d, r8d
mov rcx, r14
mov qword [rax], rbx
lea eax, [rsi + 2]
mov edx, dword [rdi + 4]
mov byte [rsp + 0x20], al
call fcn.140036d54
mov rcx, qword [rbp + 0x198]
test rax, rax
je 0x14003c36e
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r13d
jmp 0x1400375f3
movsxd rax, dword [rdi + 0xc]
lea r10, [r11 + 0x38]
movsxd rcx, dword [rdi + 4]
mov rsi, qword [r14 + 0x70]
imul rdx, rax, 0x38
mov rax, qword [r14 + 0x78]
add r10, rdx
mov r13, qword [rax + rcx*8]
xor ecx, ecx
mov eax, dword [rdx + r11]
mov edx, ecx
movsxd r9, dword [r10]
mov qword [rbp - 0x38], r13
mov rbx, qword [r13 + 0x38]
mov dword [rbp + 0x198], eax
mov r12, qword [rbx]
mov r15, qword [r12]
test r9d, r9d
jle 0x14003ba72
lea r13d, [rcx + 1]
mov r8d, r13d
movsxd rax, r8d
add r8d, r13d
imul rcx, rax, 0x38
add rcx, r10
mov qword [rsi + rdx*8], rcx
add rdx, r13
cmp rdx, r9
jl 0x14003ba4f
mov r13, qword [rbp - 0x38]
mov eax, dword [rbp + 0x198]
mov r8, qword [rdi + 0x10]
mov edx, eax
mov rcx, rbx
mov qword [rsp + 0x20], rsi
call qword [r15 + 0x40]
mov rdx, r12
mov rcx, r14
mov esi, eax
mov dword [rsp + 0x40], eax
call fcn.140035118
xor edx, edx
test esi, esi
jne 0x1400394cb
mov rcx, rbx
call qword [r15 + 0x50]
xor r8d, r8d
mov byte [r13 + 2], r8b
test eax, eax
je 0x1400377dc
mov r13d, 1
jmp 0x140037dcb
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r15, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
xor eax, eax
add rbx, r11
cmp byte [r15 + 2], al
je 0x14003baec
mov rcx, rbx
call fcn.1400306c8
jmp 0x1400375f3
mov rax, qword [r15 + 0x38]
xorps xmm0, xmm0
mov r12, qword [rax]
xor eax, eax
mov rsi, qword [r12]
movups xmmword [rbp - 0x30], xmm0
mov qword [rbp - 0x30], rbx
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp], rax
movups xmmword [rbp - 0x10], xmm0
test byte [rdi + 2], r13b
je 0x14003bb29
mov rcx, rbx
call fcn.1400306c8
xor eax, eax
mov dword [rbx], eax
mov eax, 0x4001
jmp 0x14003bb39
movzx eax, word [rbx + 8]
mov ecx, 0x3e40
and ax, cx
or ax, r13w
mov word [rbx + 8], ax
lea rdx, [rbp - 0x30]
mov r8d, dword [rdi + 8]
mov rcx, qword [r15 + 0x38]
call qword [rsi + reloc.WLDAP32.dll_Ordinal_88]
mov rdx, r12
mov rcx, r14
mov esi, eax
mov dword [rsp + 0x40], eax
call fcn.140035118
xor r15d, r15d
cmp dword [rbp - 0xc], r15d
jle 0x14003bb87
mov rcx, rbx
call fcn.1400354f4
mov r8, rax
lea rdx, [0x14010bb30]
mov rcx, r14
call fcn.140031454
mov esi, dword [rbp - 0xc]
mov dword [rsp + 0x40], esi
movzx r12d, byte [rbp + 0x190]
mov rcx, rbx
mov edx, r12d
call fcn.14002fdfc
mov rcx, rbx
call fcn.1400308e8
test eax, eax
jne 0x14003b5ea
jmp 0x14003a035
mov rax, qword [r14 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r15, qword [rax + rcx*8]
xor eax, eax
cmp byte [r15 + 2], al
jne case.0x14003723f.86
mov rcx, qword [r15 + 0x38]
mov rbx, qword [rcx]
mov r12, qword [rbx]
call qword [r12 + SQLSetEnvAttr]
mov rdx, rbx
mov rcx, r14
mov esi, eax
mov dword [rsp + 0x40], eax
call fcn.140035118
test esi, esi
jne 0x1400394c9
mov rcx, qword [r15 + 0x38]
call qword [r12 + 0x50]
test eax, eax
jne 0x14003a7e3
mov r8, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x38]
mov eax, dword [rdi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r8 + rcx*8]
jmp 0x14003a7ed
mov r15d, dword [rbx + 0x30]
mov eax, 0x4000000
or qword [rbx + 0x30], rax
and r15d, eax
mov rax, qword [rdi + 0x10]
mov edx, r13d
mov r12, qword [rax + 0x10]
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
call fcn.14002fdfc
xor edx, edx
mov esi, eax
test eax, eax
jne 0x1400394cb
mov rax, qword [r12]
mov rcx, r12
mov rdx, qword [rbx + 0x10]
call qword [rax + Ordinal_157]
mov rbx, qword [rsp + 0x38]
mov esi, eax
mov dword [rsp + 0x40], eax
test r15d, r15d
jne 0x14003bc80
btr qword [rbx + 0x30], 0x1a
mov rdx, r12
mov rcx, r14
call fcn.140035118
and dword [r14 + 0xc8], 0xfffffffc
test esi, esi
jne 0x1400394c9
jmp 0x140037593
xor r15d, r15d
cmp byte [rbx + 0x61], r15b
jne 0x14003c591
mov rax, qword [rdi + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003c37c
mov r10, qword [rbx]
test r10, r10
je 0x14003c37c
movsxd r11, dword [rdi + 8]
cmp qword [r10 + 0x68], r15
je 0x14003c0a7
movsxd rax, dword [rdi + 0xc]
xor r9d, r9d
mov r12, qword [rsp + 0x38]
mov r8, qword [r14 + 0x70]
imul rcx, rax, 0x38
mov r15b, byte [r12 + 0x66]
mov eax, r9d
add rcx, qword [rsp + 0x50]
test r11d, r11d
jle 0x14003bd0e
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r13
cmp rax, r11
jl 0x14003bcfe
mov al, byte [rdi + 2]
lea r9, [rbp + 0x60]
mov edx, r11d
mov byte [r12 + 0x66], al
mov rcx, rbx
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r12 + 0x66], r15b
mov rcx, r14
mov dword [rsp + 0x40], eax
mov esi, eax
call fcn.140035118
xor r15d, r15d
test esi, esi
jne 0x14003bd55
mov rbx, r12
cmp dword [rdi + 4], r15d
je 0x14003bd89
mov rax, qword [rbp + 0x60]
mov qword [r12 + 0x38], rax
jmp 0x14003bd89
cmp sil, 0x13
jne 0x14003bd86
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x1c], r15b
je 0x14003bd86
mov r10d, 4
cmp word [rdi + 2], r10w
jne 0x14003c386
mov esi, r15d
mov dword [rsp + 0x40], r15d
mov rbx, r12
jmp 0x140037bd6
mov rbx, r12
add dword [r14 + 0x3c], r13d
jmp 0x14003bc93
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov r10, qword [rsp + 0x38]
mov rbx, rax
movsxd rdx, dword [rdi + 4]
shl rdx, 5
mov rcx, qword [r10 + 0x20]
mov rcx, qword [rdx + rcx + 8]
call fcn.140026d44
mov ecx, eax
mov qword [rbx], rcx
jmp 0x1400375f3
mov rdx, rdi
mov rcx, r14
call fcn.140037128
mov rcx, qword [rbx + 0x20]
mov r15, rax
movsxd rdx, dword [rdi + 4]
shl rdx, 5
mov rbx, qword [rdx + rcx + 8]
xor ecx, ecx
mov eax, ecx
cmp dword [rdi + 0xc], ecx
je 0x14003bdfc
mov rcx, rbx
call fcn.140026d44
cmp eax, dword [rdi + 0xc]
cmovb eax, dword [rdi + 0xc]
mov edx, eax
mov rcx, rbx
call fcn.140027448
movsxd rcx, eax
mov qword [r15], rcx
jmp 0x1400375f3
movzx ebx, word [rdi + 2]
mov r12, qword [rsp + 0x38]
mov rcx, r12
lea rdx, [rbx*8 + 0x30]
call fcn.140016964
xor r10d, r10d
test rax, rax
je 0x14003c58e
mov r11, qword [rsp + 0x50]
movabs rdx, 0xaaaaaaaaaaaaaaab
mov qword [rax], r10
mov rcx, qword [rdi + 0x10]
mov qword [rax + 8], rcx
mov rcx, rdi
sub rcx, qword [rsp + 0x48]
mov qword [rax + 0x18], r14
mov dword [rax + 0x24], r10d
mov byte [rax + 0x29], bl
sar rcx, 3
imul rcx, rdx
mov dword [rax + 0x20], ecx
mov qword [rdi + 0x10], rax
lea eax, [r10 + 2]
add byte [rdi], al
mov byte [rdi + 1], 0xf0
jmp 0x14003be83
mov r12, qword [rsp + 0x38]
movsxd rax, dword [rdi + 0xc]
mov rbx, qword [rdi + 0x10]
imul r15, rax, 0x38
add r15, r11
cmp qword [rbx], r15
je 0x14003beda
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx], r15
sub rdx, 1
lea r9d, [rax - 1]
js 0x14003beda
lea r8, [rdx + 6]
mov r12d, 8
lea r8, [rbx + r8*8]
mov eax, dword [rdi + 8]
add eax, r9d
sub r9d, r13d
cdqe
imul rcx, rax, 0x38
add rcx, r11
mov qword [r8], rcx
sub r8, r12
sub rdx, r13
jns 0x14003beb8
mov r12, qword [rsp + 0x38]
mov eax, 0x3e40
lea r8, [rbx + 0x30]
and word [r15 + 8], ax
mov rcx, rbx
or word [r15 + 8], r13w
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x14003bf49
jle 0x14003bf25
mov rcx, r15
call fcn.1400354f4
mov r8, rax
lea rdx, [0x14010bb30]
mov rcx, r14
call fcn.140031454
mov esi, dword [rbx + 0x24]
mov dword [rsp + 0x40], esi
mov r9d, dword [rdi + 4]
lea rdx, [r14 + 0x120]
mov r8d, dword [rbx + 0x20]
mov rcx, r12
call fcn.140033cc8
xor eax, eax
mov dword [rbx + 0x24], eax
test esi, esi
jne 0x1400394c9
test byte [r15 + 8], 0x12
je 0x14003bf8c
movzx r12d, byte [rbp + 0x190]
mov rcx, r15
mov edx, r12d
call fcn.14002fdfc
mov rcx, r15
jmp 0x14003b5dd
mov r13, rax
mov r10d, 4
mov r9d, dword [rsp + 0x30]
jmp 0x140039dcb
mov r13d, 1
jmp 0x14003bf6e
mov r13d, 1
mov rbx, qword [rsp + 0x38]
jmp 0x14003bf6e
mov r13d, 1
mov rbx, qword [rsp + 0x38]
jmp 0x140039dcb
xor r15d, r15d
test byte [rbx + 0x68], r13b
je 0x14003c034
lea eax, [r15 + 0x10]
test byte [r14 + 0xc8], al
jne 0x14003c034
mov r9, qword [rdi + 0x10]
test r9, r9
jne 0x14003bfd2
mov r9, qword [r14 + 0xf0]
test r9, r9
je 0x14003c02f
cmp dword [rbx + 0xd4], r13d
jle 0x14003c08f
mov r8, r9
lea rdx, str.____s
mov rcx, rbx
call fcn.140018404
mov rbx, rax
mov r9, rax
mov rax, qword [rsp + 0x38]
mov r8, r14
mov ecx, r13d
mov rdx, qword [rax + 0xf0]
call qword [rax + 0xe8]
mov rdx, rbx
mov rbx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.140016730
mov r11, qword [rsp + 0x50]
mov r10d, 4
mov r8, qword [rsp + 0x48]
mov r9d, dword [rsp + 0x30]
mov eax, dword [rdi + 4]
cmp eax, dword [0x140152cf0]
jl 0x14003c07e
cmp byte [rdi], 0xa8
je case.0x14003723f.86
mov edx, r13d
cmp dword [r14 + 0x90], r13d
jle 0x14003c07b
mov eax, reloc.ODBC32.dll_SQLAllocHandle
mov rcx, qword [r14 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x14003c06b
mov dword [rax + rcx + 4], r15d
add edx, r13d
add rax, 0x18
cmp edx, dword [r14 + 0x90]
jl 0x14003c059
mov eax, r15d
inc eax
mov dword [rdi + 4], eax
add dword [r14 + 0xec], r13d
jmp 0x140037dd0
mov rdx, qword [rbx + 0xf0]
mov r8, r14
mov ecx, r13d
call qword [rbx + 0xe8]
jmp 0x14003c01f
mov rbx, qword [rsp + 0x38]
mov r11, qword [rsp + 0x50]
jmp 0x1400373e8
mov dword [r14 + 0x38], edx
mov al, byte [rdi + 8]
mov byte [r14 + 0xc2], al
mov dword [r14 + 0x34], ebx
test edx, edx
je 0x14003c159
mov rcx, r14
cmp word [rdi + 2], r15w
je 0x14003c124
movzx r8d, word [rdi + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0xf11c0]
call fcn.140031454
mov r9, qword [rdi + 0x10]
test r9, r9
je 0x14003c134
mov r8, qword [r14 + 0xa8]
lea rdx, str._z:__s
mov rcx, qword [rsp + 0x38]
call fcn.140018404
mov qword [r14 + 0xa8], rax
jmp 0x14003c134
mov r8, qword [rdi + 0x10]
lea rdx, [0x14010bb30]
call fcn.140031454
mov rax, qword [r14 + 0xa8]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r14 + 0xf0]
mov r8d, ebx
mov ecx, dword [rdi + 4]
mov qword [rsp + 0x20], rax
call fcn.140018574
mov rcx, r14
call fcn.140033840
mov esi, eax
mov eax, 5
cmp esi, eax
jne 0x14003c54a
mov dword [r14 + 0x38], eax
jmp 0x140039582
mov esi, SQLAllocHandle
jmp 0x1400394c9
mov r9d, 0x152d5
lea rax, [0x140110bf4]
mov ebx, reloc.Cabinet.dll_FCIAddFile
mov ecx, ebx
mov qword [rsp + 0x20], rax
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140018574
mov esi, ebx
jmp 0x1400394c9
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r14
call fcn.140031454
mov esi, 5
jmp 0x1400394c9
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
jmp 0x14003c1bd
sub rdi, qword [rsp + 0x48]
movabs rax, 0xaaaaaaaaaaaaaaab
sar rdi, 3
imul rdi, rax
xor eax, eax
mov dword [r14 + 0x34], edi
mov byte [rsi + 0x5f], al
mov esi, ecx
mov dword [r14 + 0x38], ecx
jmp 0x140039582
mov r8, r12
lea rdx, str.no_such_savepoint:__s
mov rcx, r14
call fcn.140031454
mov esi, 1
jmp 0x1400394c9
mov esi, 8
jmp 0x1400394c9
mov eax, 5
cmp sil, al
jne 0x1400394c9
sub rdi, qword [rsp + 0x48]
movabs rax, 0xaaaaaaaaaaaaaaab
sar rdi, 3
imul rdi, rax
mov dword [r14 + 0x38], esi
mov dword [r14 + 0x34], edi
jmp 0x140039582
mov rdx, qword [r14 + 0xa8]
test rdx, rdx
je 0x14003c26f
mov rcx, rbx
call fcn.1400166f0
lea rdx, str.database_schema_has_changed
mov rcx, rbx
call fcn.140016adc
mov qword [r14 + 0xa8], rax
mov rax, qword [rbx + 0x20]
movsxd rdx, dword [rdi + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rbp + 0x198]
cmp dword [rcx], eax
je 0x14003c2ab
mov rcx, rbx
call fcn.14004cac4
and dword [r14 + 0xc8], 0xfffffffd
mov esi, 0x11
or dword [r14 + 0xc8], r13d
jmp 0x1400394c9
mov esi, 0x204
jmp 0x1400394c9
mov esi, reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x1400394c9
mov esi, 6
lea eax, [rsi - 4]
mov byte [r14 + 0xc2], al
jmp 0x1400394c9
mov rbx, qword [rsp + 0x38]
mov esi, 7
mov rcx, rbx
call fcn.14004cb40
mov r15b, byte [rbp + 0x188]
mov edx, 7
cmp esi, edx
je 0x14003c598
xor edx, edx
jmp 0x1400394d2
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r14
mov esi, r13d
call fcn.140031454
jmp 0x1400394c9
call fcn.1400354f4
mov r8, rax
lea rdx, [0x14010bb30]
mov rcx, r14
call fcn.140031454
jmp 0x1400394c9
cmp ebx, edx
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 0x14003c33f
call qword [r15 + 0x38]
mov rbx, qword [rsp + 0x38]
jmp 0x14003c591
mov esi, 6
jmp 0x1400394c9
movzx eax, byte [rdi + 2]
mov ecx, 5
cmp word [rdi + 2], cx
mov ecx, 2
cmove eax, ecx
jmp 0x14003c2e0
xor edx, edx
mov rcx, r14
call fcn.1400337f0
mov esi, eax
test eax, eax
jne 0x1400394c9
mov rax, qword [r14]
xor esi, esi
cmp dword [rax + 0x280], esi
je 0x14003c3d2
cmp dword [r14 + 0x40], esi
je 0x14003c3d2
mov edx, r13d
mov rcx, r14
call fcn.1400336fc
mov eax, dword [r14 + 0x30]
xor r12d, r12d
add eax, 2
or eax, r13d
mov dword [r14 + 0x30], eax
movsxd rax, dword [rdi + 4]
imul r15, rax, 0x38
add r15, qword [rsp + 0x50]
mov qword [r14 + 0xa0], r15
cmp dword [rdi + 8], r12d
jle 0x14003c451
lea rbx, [r15 + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x14003c422
movsxd rax, esi
imul rcx, rax, 0x38
add rcx, r15
call fcn.14002fff0
test eax, eax
jne 0x14003c372
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
mov ecx, 2
cmp ax, cx
jne 0x14003c440
lea rcx, [rbx - 8]
call fcn.14002ff90
add esi, r13d
add rbx, 0x38
cmp esi, dword [rdi + 8]
jl 0x14003c401
mov rbx, qword [rsp + 0x38]
cmp byte [rbx + 0x61], r12b
jne 0x14003c591
mov eax, 4
test byte [rbx + 0x68], al
je 0x14003c47a
mov rdx, qword [rbx + 0xf0]
xor r9d, r9d
mov r8, r14
mov ecx, eax
call qword [rbx + 0xe8]
sub rdi, qword [rsp + 0x48]
movabs rax, 0xaaaaaaaaaaaaaaab
sar rdi, 3
mov esi, 0x64
imul rdi, rax
add edi, r13d
mov dword [r14 + 0x34], edi
jmp 0x140039582
mov rsi, qword [rsp + 0x38]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
movzx eax, byte [rsi + 0x5f]
cmp ebx, eax
je 0x14003c55d
xor r15d, r15d
test ecx, ecx
je 0x14003c4d2
mov edx, 0x204
mov rcx, rsi
call fcn.140080af0
mov al, r13b
jmp 0x14003c507
test ebx, ebx
je 0x14003c4eb
cmp dword [rsi + 0xd0], r15d
jle 0x14003c4eb
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x14003c1bd
mov edx, r13d
mov rcx, r14
call fcn.1400337f0
mov esi, eax
test eax, eax
jne 0x140039582
mov rsi, qword [rsp + 0x38]
mov al, bl
mov rcx, r14
mov byte [rsi + 0x5f], al
call fcn.140033840
mov ecx, 5
cmp eax, ecx
jne 0x14003c542
sub rdi, qword [rsp + 0x48]
movabs rax, 0xaaaaaaaaaaaaaaab
sar rdi, 3
imul rdi, rax
sub r13b, bl
mov dword [r14 + 0x34], edi
mov byte [rsi + 0x5f], r13b
jmp 0x14003c1f8
mov rcx, rsi
call fcn.140080650
mov eax, dword [r14 + 0x38]
neg eax
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x140039582
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r14
cmovne rdx, rax
test ebx, ebx
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove rdx, rax
call fcn.140031454
mov esi, r13d
jmp 0x1400394c9
mov rbx, r12
mov r15b, byte [rbp + 0x188]
mov rcx, rbx
call fcn.140016c2c
lea rdx, str.out_of_memory
mov rcx, r14
call fcn.140031454
mov esi, 7
jmp 0x14003c312