Function at 0x1400371d4
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 - 0x258]
sub rsp, 0x318
mov r15, qword [rcx + 0x88]
mov r10, rcx
xor ecx, ecx
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov rdi, r15
mov qword [rsp + 0x48], r15
mov esi, ecx
mov r12, qword [r10]
mov bl, cl
mov r11, qword [r10 + 0x68]
lea eax, [rcx + 7]
lea r13d, [rcx + 1]
mov dword [rsp + 0x34], ecx
mov r8d, ecx
mov qword [rsp + 0x40], r12
mov edx, ecx
mov r9b, byte [r12 + 0x5e]
mov byte [rbp + 0x268], r9b
mov byte [rbp + 0x270], cl
mov dword [rsp + 0x30], ecx
mov dword [rbp - 0x60], ecx
mov qword [rsp + 0x38], r11
cmp dword [r10 + 0x38], eax
je 0x14003c8b3
mov qword [r10 + 0x48], rcx
mov qword [r10 + 0xa0], rcx
mov eax, dword [r12 + 0x160]
mov dword [r12 + 0x228], ecx
test eax, eax
jne 0x14003a9d1
movsxd rax, dword [r10 + 0x34]
lea ebx, [r13 + 1]
xorps xmm7, xmm7
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
lea rcx, [0x140000000]
movzx r14d, byte [rdi]
add edx, r13d
mov qword [rbp - 0x80], rdi
mov dword [rbp - 0x60], edx
cmp r14d, 0xa8
ja case.default.0x1400372c3
mov ecx, dword [rcx + r14*4 + 0x3c8c4]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
movsxd rax, dword [rdi + 4]
mov rcx, rdi
imul r8, rax, 0x38
sub rcx, r15
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov r14d, 4
sar rdx, 2
mov rax, rdx
mov word [r8 + r11 + 8], r14w
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r11], rax
jmp 0x14003c30b
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, [r15 + rcx*8]
jmp case.0x1400372c3.86
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, dword [rdi + 0xc]
sub eax, r13d
cdqe
mov qword [rcx + r11], rax
mov eax, 4
mov word [rcx + r11 + 8], ax
xor eax, eax
cmp dword [rdi + 8], eax
jne 0x140037e9b
jmp case.0x1400372c3.86
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r11]
lea rcx, [rax + rax*2]
mov eax, dword [r15 + rcx*8 + 8]
sub eax, r13d
cdqe
jmp 0x140037311
movsxd rax, dword [rdi + 4]
sub rdi, r15
imul r8, rax, 0x38
mov eax, 4
movsxd rcx, dword [r8 + r11]
mov word [r8 + r11 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea rdi, [r15 + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r11], rax
mov r8d, dword [rsp + 0x30]
jmp case.0x1400372c3.86
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r11 + 8], r13b
je case.0x1400372c3.86
mov rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r15
xor r15d, r15d
imul rcx
mov rbx, rdx
mov edx, dword [rdi + 4]
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
test edx, edx
jne 0x14003c386
mov rcx, qword [r10 + 0x100]
test rcx, rcx
je 0x14003c386
mov rax, qword [rcx + 8]
dec dword [r10 + 0x110]
mov qword [r10 + 0x100], rax
mov eax, dword [r10 + 0x3c]
add dword [r12 + 0x78], eax
mov dword [r12 + 0x74], eax
call fcn.140032f14
mov r10, qword [rbp + 0x260]
lea ecx, [r15 + 4]
mov r15, qword [r10 + 0x88]
mov qword [rsp + 0x48], r15
cmp dword [rdi + 8], ecx
jne 0x140037465
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [r15 + rcx*8 + 8]
sub eax, r13d
mov r11, qword [r10 + 0x68]
cdqe
mov qword [rsp + 0x38], r11
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
mov r9b, byte [rbp + 0x268]
mov r8d, dword [rsp + 0x30]
jmp 0x14003c36e
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
mov rcx, rax
movsxd rax, dword [rdi + 4]
mov qword [rcx], rax
mov r10, qword [rbp + 0x260]
mov r11, qword [rsp + 0x38]
mov r9b, byte [rbp + 0x268]
jmp 0x1400373b7
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
mov rdx, rax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14003749e
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
mov rdx, rax
mov eax, 8
mov word [rdx + 8], ax
jmp 0x1400374c4
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
mov rdx, qword [rdi + 0x10]
xor ecx, ecx
mov rbx, rax
test rdx, rdx
jne 0x140037506
mov eax, ecx
jmp 0x140037517
or rax, 0xffffffffffffffff
inc rax
cmp byte [rdx + rax], cl
jne 0x14003750a
and eax, 0x3fffffff
mov r14b, byte [rbp + 0x268]
mov dword [rdi + 4], eax
cmp r14b, r13b
je 0x1400375aa
mov qword [rsp + 0x20], rcx
mov r9b, r13b
mov rcx, rbx
or r8d, 0xffffffff
call fcn.140030bdc
xor ecx, ecx
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003b7ec
lea eax, [rsi + 2]
test byte [rbx + 8], al
je 0x14003756b
cmp byte [rbx + 0xa], r14b
je 0x14003756b
mov dl, r14b
mov rcx, rbx
call fcn.14001818c
xor ecx, ecx
jmp 0x14003756d
mov eax, ecx
test eax, eax
jne 0x14003c8a7
mov eax, 0x800
mov dword [rbx + 0x20], ecx
or word [rbx + 8], ax
cmp byte [rdi + 1], 0xf9
jne 0x140037598
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x140037598
mov rcx, r12
call fcn.1400160a0
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
cmp eax, dword [r12 + 0x7c]
jg 0x14003b7ec
mov r10, qword [rbp + 0x260]
mov ebx, 2
mov byte [rdi], Ordinal_73
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
mov r9b, byte [rbp + 0x268]
mov rcx, rax
mov r10, qword [rbp + 0x260]
mov eax, 0xa02
mov r11, qword [rsp + 0x38]
mov word [rcx + 8], ax
mov rax, qword [rdi + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [rdi + 4]
mov dword [rcx + 0xc], eax
mov byte [rcx + 0xa], r9b
jmp 0x1400373b7
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
mov r14d, dword [rdi + 0xc]
mov rcx, rax
mov eax, dword [rdi + 4]
mov edx, dword [rdi + 8]
neg eax
mov eax, 0x100
sbb r15w, r15w
lea rbx, [rcx + 8]
and r15w, ax
xor r8d, r8d
add r15w, r13w
mov dword [rcx + 0xc], r8d
sub r14d, edx
mov word [rbx], r15w
test r14d, r14d
jle 0x14003c206
mov eax, 0x2400
lea rbx, [rbx + 0x38]
test word [rbx], ax
je 0x14003766a
lea rcx, [rbx - 8]
call fcn.140030414
xor r8d, r8d
mov eax, 0x2400
sub r14d, r13d
mov word [rbx], r15w
mov dword [rbx + 4], r8d
test r14d, r14d
jg 0x140037650
mov r10, qword [rbp + 0x260]
mov r11, qword [rsp + 0x38]
mov r15, qword [rsp + 0x48]
jmp 0x140037478
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.0x1400372c3.86
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
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.140030bdc
mov r9b, byte [rbp + 0x268]
mov r10, qword [rbp + 0x260]
mov r11, qword [rsp + 0x38]
mov byte [rbx + 0xa], r9b
jmp 0x14003747f
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, qword [r10 + 0x80]
lea rcx, [r14 - 0x38]
call fcn.140030a54
test eax, eax
jne 0x14003b7ec
movsxd rax, dword [rdi + 8]
mov r11, qword [rsp + 0x38]
imul rbx, rax, 0x38
mov eax, 0x2400
add rbx, r11
test word [rbx + 8], ax
je 0x14003773a
mov rcx, rbx
call fcn.140030414
mov r11, qword [rsp + 0x38]
movups xmm0, xmmword [r14 - 0x38]
mov r10, qword [rbp + 0x260]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [r14 - 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
jmp 0x140037478
movsxd rax, dword [rdi + 4]
mov r15d, dword [rdi + 0xc]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add r14, r11
add rbx, r11
mov rdx, r14
mov rcx, rbx
call fcn.140030b7c
mov eax, 0x1000
test word [rbx + 8], ax
je 0x1400377b1
mov rcx, rbx
call fcn.140030110
test eax, eax
jne 0x14003c8a7
add r14, 0x38
add rbx, 0x38
sub r15d, r13d
jne 0x14003778b
jmp 0x14003767a
movsxd rax, dword [rdi + 4]
mov r15d, dword [rdi + 0xc]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add r14, r11
add rbx, r11
mov r8d, 0x1000
mov rdx, r14
mov rcx, rbx
call fcn.140030ab8
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140037809
mov rcx, rbx
call fcn.140030110
test eax, eax
jne 0x14003c8a7
mov eax, r15d
sub r15d, r13d
test eax, eax
je 0x14003c206
add rbx, 0x38
add r14, 0x38
jmp 0x1400377dd
movsxd rax, dword [rdi + 4]
mov r8d, 0x1000
imul rdx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
add rdx, r11
add rcx, r11
call fcn.140030ab8
jmp 0x14003749e
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 0x140037876
mov rdx, rax
call fcn.1400308c0
jmp 0x14003749e
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 8], ax
jmp case.0x1400372c3.86
movsxd rax, dword [rdi + 4]
imul r13, rax, 0x38
movsxd rax, dword [rdi + 8]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add r13, r11
imul rbx, rax, 0x38
movzx r12d, word [r13 + 8]
add r14, r11
add rbx, r11
mov al, byte [r14 + 8]
or al, r12b
test al, 1
je 0x1400378fc
mov eax, 0x2400
test word [rbx + 8], ax
je 0x1400378e7
mov rcx, rbx
call fcn.140030414
mov r13d, 1
mov r10, qword [rbp + 0x260]
mov r12, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
jmp 0x140037478
mov r13d, 1
mov word [rbx + 8], r13w
mov r12, qword [rsp + 0x40]
jmp 0x14003c36e
test r12b, 0x12
jne 0x140037912
xor r8d, r8d
mov dl, r9b
mov rcx, r13
call fcn.1400301c8
jmp 0x140037925
mov eax, 0x4000
test ax, r12w
je 0x140037947
mov rcx, r13
call fcn.14003016c
test eax, eax
jne 0x14003c8a7
movzx r12d, word [r13 + 8]
mov eax, 0xfffd
mov r9b, byte [rbp + 0x268]
and r12w, ax
mov eax, 0x4000
movzx r15d, word [r14 + 8]
test r15b, 0x12
jne 0x14003797b
xor r8d, r8d
mov dl, r9b
mov rcx, r14
call fcn.1400301c8
xor r9d, r9d
test eax, eax
jne 0x14003c8a7
movzx r15d, word [r14 + 8]
mov eax, 0xfffd
and r15w, ax
jmp 0x14003798e
test ax, r15w
je 0x14003798b
mov rcx, r14
call fcn.14003016c
jmp 0x140037960
xor r9d, r9d
mov r8, qword [rsp + 0x40]
mov edx, dword [r13 + 0xc]
add edx, dword [r14 + 0xc]
mov dword [rbp + 0x278], edx
cmp edx, dword [r8 + 0x7c]
jg 0x14003b7ec
mov r8d, r9d
cmp rbx, r14
mov rcx, rbx
sete r8b
add edx, 3
call fcn.14002ff64
test eax, eax
jne 0x14003c8a7
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 2
or word [rbx + 8], ax
cmp rbx, r14
je 0x1400379f5
movsxd r8, dword [r14 + 0xc]
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.1400c43f0
mov word [r14 + 8], r15w
movsxd rcx, dword [r14 + 0xc]
add rcx, qword [rbx + 0x10]
movsxd r8, dword [r13 + 0xc]
mov rdx, qword [r13 + 0x10]
call fcn.1400c43f0
movsxd r9, dword [rbp + 0x278]
xor r10d, r10d
mov word [r13 + 8], r12w
mov r8, r9
mov rax, qword [rbx + 0x10]
mov edx, r10d
lea r13d, [r10 + 1]
mov byte [r9 + rax], r10b
lea r9d, [r10 + 2]
mov rcx, qword [rbx + 0x10]
add rcx, rdx
add rdx, r13
mov byte [rcx + r8 + 1], r10b
cmp rdx, r9
jl 0x140037a2f
mov r9d, dword [rbp + 0x278]
mov eax, 0x200
or word [rbx + 8], ax
mov r10, qword [rbp + 0x260]
mov r12, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov dword [rbx + 0xc], r9d
mov r9b, byte [rbp + 0x268]
mov byte [rbx + 0xa], r9b
mov r15, qword [rsp + 0x48]
jmp 0x14003747f
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, r11
mov rcx, r14
call fcn.140037164
movzx ebx, ax
movsxd rax, dword [rdi + 8]
imul r15, rax, 0x38
add r15, qword [rsp + 0x38]
mov rcx, r15
call fcn.140037164
mov r11, qword [rsp + 0x38]
movzx edx, ax
movsxd rax, dword [rdi + 0xc]
and dl, bl
imul r12, rax, 0x38
movzx eax, word [r15 + 8]
mov ecx, 4
or ax, word [r14 + 8]
add r12, r11
test cl, dl
je 0x140037bc3
movzx ecx, byte [rdi]
mov rdx, qword [r15]
mov r8, qword [r14]
mov qword [rbp - 0x58], rdx
sub ecx, 0x67
je 0x140037b63
sub ecx, 1
je 0x140037b51
sub ecx, 1
je 0x140037b43
cmp ecx, 1
je 0x140037b17
test r8, r8
je 0x140037cb3
cmp r8, 0xffffffffffffffff
mov rax, rdx
cqo
cmove r8, r13
idiv r8
mov qword [rbp - 0x58], rdx
jmp 0x140037ba4
test r8, r8
je 0x140037cb3
cmp r8, 0xffffffffffffffff
jne 0x140037b39
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x140037bcc
mov rax, rdx
cqo
idiv r8
jmp 0x140037ba0
mov rdx, r8
lea rcx, [rbp - 0x58]
call fcn.1400197f4
jmp 0x140037b5d
mov rdx, r8
lea rcx, [rbp - 0x58]
call fcn.1400197c4
test eax, eax
jne 0x140037bcc
jmp 0x140037ba4
test r8, r8
js 0x140037b81
test rdx, rdx
jle 0x140037b9c
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x140037b9c
jmp 0x140037bcc
test rdx, rdx
jns 0x140037b9c
movabs rax, 0x8000000000000001
lea rcx, [r8 + 1]
sub rax, rdx
cmp rax, rcx
jg 0x140037bcc
lea rax, [rdx + r8]
mov qword [rbp - 0x58], rax
mov rax, qword [rbp - 0x58]
mov ecx, 0x3e40
mov qword [r12], rax
movzx eax, word [r12 + 8]
and ax, cx
or ax, 4
jmp 0x140037c97
test r13b, al
jne 0x140037cb3
mov rcx, r14
call fcn.140030578
mov rcx, r15
movaps xmm6, xmm0
call fcn.140030578
movzx edx, byte [rdi]
sub edx, 0x67
je 0x140037c45
sub edx, 1
je 0x140037c3f
sub edx, 1
je 0x140037c39
cmp edx, 1
je 0x140037c2d
mov rcx, r14
call fcn.140030520
mov rcx, r15
mov rbx, rax
call fcn.140030520
mov qword [rbp - 0x58], rax
test rbx, rbx
je 0x140037cae
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm0, xmm0
cmove rbx, r13
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x140037c49
ucomisd xmm6, xmm7
je 0x140037cae
divsd xmm0, xmm6
jmp 0x140037c49
mulsd xmm0, xmm6
jmp 0x140037c49
subsd xmm0, xmm6
jmp 0x140037c49
addsd xmm0, xmm6
movabs rcx, 0xfffffffffffff
movsd qword [rbp + 0x278], xmm0
mov rax, qword [rbp + 0x278]
movabs rdx, 0x7ff0000000000000
test rcx, rax
setne cl
and rax, rdx
cmp rax, rdx
sete al
test al, cl
jne 0x140037cae
movzx eax, word [r12 + 8]
mov ecx, 0x3e40
and ax, cx
movsd qword [r12], xmm0
or ax, 8
mov word [r12 + 8], ax
mov r10, qword [rbp + 0x260]
mov r12, qword [rsp + 0x40]
jmp 0x140037681
mov r11, qword [rsp + 0x38]
mov eax, 0x2400
test word [r12 + 8], ax
je 0x140037cca
mov rcx, r12
call fcn.140030414
jmp 0x140037c9d
mov word [r12 + 8], r13w
mov r10, qword [rbp + 0x260]
mov r12, qword [rsp + 0x40]
jmp 0x140037686
xor ebx, ebx
cmp dword [rdi + 4], ebx
je 0x14003c36e
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r11
test word [rcx + 8], ax
je 0x140037d15
xor edx, edx
call fcn.1400308c0
mov r10, qword [rbp + 0x260]
jmp 0x1400378dd
mov eax, 4
mov qword [rcx], rbx
mov word [rcx + 8], ax
jmp 0x14003c36e
movsxd rax, dword [rdi + 4]
imul r15, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add r15, r11
imul r14, rax, 0x38
add rcx, r11
add r14, r11
mov al, byte [rcx + 8]
or al, byte [r15 + 8]
test r13b, al
je 0x140037d80
mov eax, 0x2400
test word [r14 + 8], ax
je 0x140037d71
mov rcx, r14
call fcn.140030414
mov r15, qword [rsp + 0x48]
jmp 0x14003749e
mov r15, qword [rsp + 0x48]
mov word [r14 + 8], r13w
jmp case.0x1400372c3.86
call fcn.140030520
mov rcx, r15
mov rbx, rax
call fcn.140030520
mov r8b, byte [rdi]
mov rdx, rax
cmp r8b, 0x63
jne 0x140037da4
and rbx, rax
jmp 0x140037e25
cmp r8b, 0x64
jne 0x140037daf
or rbx, rdx
jmp 0x140037e25
xor r9d, r9d
test rdx, rdx
je 0x140037e25
jns 0x140037dd9
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 0x140037df5
test rbx, rbx
jns 0x140037df0
cmp r8b, 0x65
je 0x140037df0
or rbx, 0xffffffffffffffff
jmp 0x140037e25
mov rbx, r9
jmp 0x140037e25
mov rcx, rdx
cmp r8b, 0x65
jne 0x140037e06
shl rbx, cl
mov r8, rbx
jmp 0x140037e22
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x140037e22
mov ecx, Ordinal_65
sub cl, dl
or rdx, 0xffffffffffffffff
shl rdx, cl
or r8, rdx
mov rbx, r8
mov eax, 0x3e40
mov qword [r14], rbx
and word [r14 + 8], ax
mov eax, 4
or word [r14 + 8], ax
jmp 0x14003767a
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
call fcn.14003062c
movsxd rax, dword [rdi + 8]
add qword [rbx], rax
jmp 0x140037d09
movsxd rax, dword [rdi + 4]
mov r14d, 4
imul rbx, rax, 0x38
add rbx, r11
movzx eax, word [rbx + 8]
test r14b, al
jne 0x140037ebf
mov r8b, r9b
mov dl, 0x43
mov rcx, rbx
call fcn.140037020
movzx eax, word [rbx + 8]
test r14b, al
jne 0x140037ea7
xor eax, eax
cmp dword [rdi + 8], eax
je 0x14003c47a
mov r10, qword [rbp + 0x260]
jmp 0x14003c30b
mov r10, qword [rbp + 0x260]
mov r11, qword [rsp + 0x38]
mov r9b, byte [rbp + 0x268]
mov r8d, dword [rsp + 0x30]
mov ecx, 0x3e40
and ax, cx
or ax, r14w
mov word [rbx + 8], ax
jmp 0x14003c36e
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
add rcx, r11
test byte [rcx + 8], 0x24
je case.0x1400372c3.86
call fcn.140030654
jmp 0x14003749e
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r11
test word [rbx + 8], ax
je 0x140037f20
mov rcx, rbx
call fcn.14003016c
mov r9b, byte [rbp + 0x268]
mov esi, eax
mov dword [rsp + 0x34], eax
jmp 0x140037f2b
xor r14d, r14d
mov esi, r14d
mov dword [rsp + 0x34], r14d
mov dl, byte [rdi + 8]
mov r8b, r9b
mov rcx, rbx
call fcn.140030764
test esi, esi
je 0x140037d09
mov r12, qword [rbp + 0x260]
mov bl, byte [rbp + 0x270]
mov r14d, 7
mov r15, qword [rsp + 0x40]
xor r13d, r13d
cmp byte [r15 + 0x61], r13b
cmovne esi, r14d
mov r14d, 0xc0a
cmp qword [r12 + 0xa8], r13
jne 0x140037f92
cmp esi, r14d
je 0x140037f92
mov ecx, esi
call fcn.1400801e4
mov r8, rax
lea rdx, [0x14010beb0]
mov rcx, r12
call fcn.140031518
mov edx, esi
mov dword [r12 + 0x38], esi
mov rcx, r15
call fcn.14001886c
sub rdi, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r9, qword [r12 + 0xf0]
mov ecx, esi
imul rdi
mov rax, qword [r12 + 0xa8]
sar rdx, 2
mov r8, rdx
mov qword [rsp + 0x20], rax
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.140017edc
mov rcx, r12
call fcn.1400337d8
cmp esi, r14d
jne 0x140037ff9
mov rcx, r15
call fcn.1400165e0
mov esi, 1
test bl, bl
je 0x14003c847
movzx edx, bl
mov rcx, r15
dec edx
call fcn.14004cdfc
jmp 0x14003c847
movsxd rax, dword [rdi + 4]
mov r12d, 1
imul r14, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add r14, r11
movzx r15d, word [r14 + 8]
lea r13, [rcx + r11]
movzx ebx, word [r13 + 8]
movzx edx, bx
or dx, r15w
test r12b, dl
je 0x1400380de
lea eax, [r12 + 0x7f]
test byte [rdi + 2], al
je 0x140038089
mov al, bl
and al, r15b
test r12b, al
je 0x140038074
mov eax, 0x100
test ax, bx
jne 0x140038074
xor eax, eax
jmp 0x140038212
movzx eax, bx
not ax
and eax, r12d
lea eax, [rax*2 - 1]
jmp 0x140038212
mov eax, Ordinal_36
mov r13, r12
test byte [rdi + 2], al
je 0x1400380c6
movsxd rax, dword [rdi + 8]
mov r8d, r12d
imul rcx, rax, 0x38
mov eax, 0x3e40
mov dword [rsp + 0x30], r12d
add rcx, r11
and word [rcx + 8], ax
or word [rcx + 8], r12w
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
jmp 0x14003c36e
mov r15, qword [rsp + 0x48]
mov eax, 0x10
test byte [rdi + 2], al
jne 0x14003c30b
jmp 0x1400378f2
mov al, byte [rdi + 2]
and al, 0x47
cmp al, 0x43
jb 0x14003817e
mov r8d, 2
movzx ecx, bx
test r8b, dl
je 0x140038133
mov al, r15b
and al, 0x2e
cmp al, r8b
jne 0x140038118
xor edx, edx
mov rcx, r14
call fcn.140036f84
movzx ebx, word [r13 + 8]
mov r8d, 2
mov al, bl
movzx ecx, bx
and al, 0x2e
cmp al, r8b
jne 0x140038133
xor edx, edx
mov rcx, r13
call fcn.140036f84
movzx ecx, word [r13 + 8]
and cl, byte [r14 + 8]
mov eax, 4
test al, cl
je 0x1400381eb
mov rcx, qword [r14]
mov r10, qword [rbp + 0x260]
mov r11, qword [rsp + 0x38]
mov r9b, byte [rbp + 0x268]
mov r8d, dword [rsp + 0x30]
cmp qword [r13], rcx
jle 0x14003816d
mov eax, r12d
jmp 0x140038212
xor eax, eax
cmp qword [r13], rcx
setge al
sub eax, r12d
jmp 0x140038212
cmp al, 0x42
jne 0x1400381eb
mov eax, 2
test al, r15b
jne 0x1400381c1
test r15b, 0x2c
je 0x1400381c1
mov r8b, r12b
mov dl, r9b
mov rcx, r14
call fcn.1400301c8
mov r9b, byte [rbp + 0x268]
movzx eax, r15w
xor ax, word [r14 + 8]
mov ecx, 0x3e40
and ax, cx
xor r15w, ax
mov eax, 2
test al, bl
jne 0x1400381eb
test bl, 0x2c
je 0x1400381eb
mov r8b, r12b
mov dl, r9b
mov rcx, r13
call fcn.1400301c8
movzx eax, bx
mov ecx, 0x3e40
xor ax, word [r13 + 8]
and ax, cx
xor bx, ax
mov r8, qword [rdi + 0x10]
mov rdx, r14
mov rcx, r13
call fcn.1400345b8
mov r10, qword [rbp + 0x260]
mov r11, qword [rsp + 0x38]
mov r9b, byte [rbp + 0x268]
mov r8d, dword [rsp + 0x30]
movzx ecx, byte [rdi]
lea rdx, [0x140000000]
test eax, eax
jns 0x140038229
mov cl, byte [rcx + rdx + 0xf3174]
jmp 0x14003823b
jne 0x140038234
mov cl, byte [rcx + rdx + 0xf58e4]
jmp 0x14003823b
mov cl, byte [rcx + rdx + 0xee8c4]
mov word [r14 + 8], r15w
movzx edx, cl
mov ecx, Ordinal_36
mov word [r13 + 8], bx
test byte [rdi + 2], cl
je 0x140038299
mov r8d, eax
mov dword [rsp + 0x30], eax
lea eax, [rcx - 0x18]
test byte [rdi + 2], al
je 0x140038271
xor eax, eax
cmp byte [rdi], 0x35
sete al
cmp eax, edx
je 0x14003c1f9
movsxd rax, dword [rdi + 8]
mov r13, r12
imul rcx, rax, 0x38
mov eax, 0x3e40
add rcx, r11
and word [rcx + 8], ax
mov eax, 4
or word [rcx + 8], ax
mov qword [rcx], rdx
jmp 0x1400380b7
mov r15, qword [rsp + 0x48]
mov r13, r12
test edx, edx
jne 0x140037e9b
jmp 0x1400378f2
test r8d, r8d
jne 0x14003c30b
jmp case.0x1400372c3.86
test byte [rdi + 2], r13b
jne 0x1400382c9
xor ecx, ecx
mov r14d, ecx
jmp 0x1400382d3
mov r14, qword [rdi - 8]
add r14, 4
xor ecx, ecx
mov rax, qword [rdi + 0x10]
mov r15d, ecx
mov r8d, dword [rdi + 4]
mov rbx, rcx
movsxd rcx, dword [rdi + 0xc]
mov edx, dword [rdi + 8]
mov qword [rsp + 0x78], rax
mov dword [rbp + 0x278], r8d
mov dword [rsp + 0x68], edx
mov qword [rbp - 0x48], rcx
test rcx, rcx
jle 0x140037a73
lea r12, [rax + 0x20]
test r14, r14
je 0x140038314
mov ecx, dword [r14 + rbx*4]
jmp 0x140038317
mov ecx, r15d
mov rax, qword [rax + 0x18]
movzx eax, byte [rbx + rax]
and eax, r13d
mov dword [rsp + 0x50], eax
lea eax, [rcx + rdx]
movsxd rdx, eax
lea eax, [rcx + r8]
mov r8, qword [r12]
mov qword [rbp - 0x50], rdx
movsxd r13, eax
imul rdx, rdx, 0x38
imul rcx, r13, 0x38
add rdx, r11
add rcx, r11
call fcn.1400345b8
mov r11, qword [rsp + 0x38]
xor edx, edx
test eax, eax
mov dword [rsp + 0x30], eax
mov r8d, eax
mov rax, qword [rsp + 0x78]
jne 0x140038389
mov r8d, dword [rbp + 0x278]
lea r13d, [rdx + 1]
mov edx, dword [rsp + 0x68]
add r15d, r13d
add rbx, r13
add r12, 8
cmp rbx, qword [rbp - 0x48]
jl 0x140038309
jmp 0x140037cd0
mov rax, qword [rax + 0x18]
mov r9d, 2
test byte [rbx + rax], r9b
je 0x1400383be
imul rax, r13, 0x38
lea r13d, [r9 - 1]
test byte [rax + r11 + 8], r13b
jne 0x1400383b4
imul rax, qword [rbp - 0x50], 0x38
test byte [rax + r11 + 8], r13b
je 0x1400383c4
neg r8d
mov dword [rsp + 0x30], r8d
jmp 0x1400383c4
mov r13d, 1
mov r12, qword [rsp + 0x40]
cmp dword [rsp + 0x50], edx
je 0x14003c20b
neg r8d
mov dword [rsp + 0x30], r8d
mov r15, qword [rsp + 0x48]
mov r10, qword [rbp + 0x260]
mov r9b, byte [rbp + 0x268]
jmp 0x14003c36e
test r8d, r8d
jns 0x1400383fd
mov eax, dword [rdi + 4]
jmp 0x140038407
jne 0x140038404
mov eax, dword [rdi + 8]
jmp 0x140038407
mov eax, dword [rdi + 0xc]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r15 + rax*8]
jmp 0x14003c36e
movsxd rax, dword [rdi + 4]
mov edx, ebx
imul rcx, rax, 0x38
add rcx, r11
call fcn.1400305a4
movsxd rcx, dword [rdi + 8]
mov edx, 2
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, qword [rsp + 0x38]
call fcn.1400305a4
lea rdx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [rdi], 0x2c
cdqe
jne 0x140038461
mov r8b, byte [rax + rdx + 0xf1860]
jmp 0x140038469
mov r8b, byte [rax + rdx + 0xf5ab8]
movsxd rax, dword [rdi + 0xc]
mov ebx, 2
mov r11, qword [rsp + 0x38]
imul rcx, rax, 0x38
mov eax, 0x3e40
movzx edx, word [rcx + r11 + 8]
and dx, ax
cmp r8b, bl
jne 0x140038494
movzx eax, r13w
jmp 0x1400384a1
movzx eax, r8b
mov qword [rcx + r11], rax
mov eax, 4
or dx, ax
mov word [rcx + r11 + 8], dx
mov r10, qword [rbp + 0x260]
jmp 0x1400374aa
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.1400305a4
movsxd rdx, dword [rdi + 0x10]
mov r11, qword [rsp + 0x38]
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 0x14003786c
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 8], ax
jmp 0x1400384aa
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 0x140038555
xor edx, edx
call fcn.1400305a4
xor r8d, r8d
test eax, eax
mov ecx, r8d
mov eax, 0x2400
sete cl
test word [rbx + 8], ax
je 0x140038544
mov rdx, rcx
mov rcx, rbx
jmp 0x140037d04
mov eax, 4
mov qword [rbx], rcx
mov word [rbx + 8], ax
jmp 0x140037d09
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14003856d
mov rcx, rbx
call fcn.140030414
jmp 0x140037d09
mov word [rbx + 8], r13w
jmp 0x14003c36e
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add r14, r11
mov eax, 0x2400
add rbx, r11
test word [rbx + 8], ax
je 0x1400385a7
mov rcx, rbx
call fcn.140030414
mov r8d, dword [rsp + 0x30]
jmp 0x1400385ac
mov word [rbx + 8], r13w
test byte [r14 + 8], r13b
jne 0x14003c20b
mov eax, 4
mov rcx, r14
mov word [rbx + 8], ax
call fcn.140030520
not rax
mov qword [rbx], rax
jmp 0x140037d09
mov r8, qword [r10 + 0x100]
test r8, r8
je 0x140038635
mov r9, qword [r8 + 0x30]
mov rcx, rdi
sub rcx, qword [r10 + 0x88]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov ecx, edx
and edx, 7
shr rcx, 3
movzx eax, byte [rcx + r9]
bt eax, edx
jb 0x14003c30b
bts eax, edx
mov byte [rcx + r9], al
mov rcx, qword [r10 + 0x88]
mov r9b, byte [rbp + 0x268]
jmp 0x140038648
mov rcx, qword [r10 + 0x88]
mov eax, dword [rdi + 4]
cmp dword [rcx + 4], eax
je 0x14003c30b
mov eax, dword [rcx + 4]
mov dword [rdi + 4], eax
jmp 0x1400373b7
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r11
call fcn.1400305a4
test eax, eax
jne 0x140037e9b
jmp 0x14003749e
movsxd rax, dword [rdi + 4]
xor ebx, ebx
cmp dword [rdi + 0xc], ebx
mov edx, ebx
sete dl
imul rcx, rax, 0x38
add rcx, r11
call fcn.1400305a4
test eax, eax
je 0x140037e9b
jmp 0x140037d09
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 8], r13b
jmp 0x1400382b1
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r11 + 8], r13b
je 0x14003c30b
jmp case.0x1400372c3.86
mov rax, qword [r10 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
xor eax, eax
cmp byte [rcx + 2], al
je case.0x1400372c3.86
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r11
test word [rcx + 8], ax
je 0x1400386fb
call fcn.140030414
jmp 0x140037e9b
mov word [rcx + 8], r13w
jmp 0x14003c30b
movsxd rcx, dword [rdi + 4]
lea rdx, [rsp + 0x70]
mov rax, qword [r10 + 0x78]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0x58], rcx
lea rcx, [rsp + 0x58]
mov eax, dword [rdi + 8]
mov dword [rsp + 0x70], eax
call fcn.140033f08
xor edx, edx
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
movsxd rax, dword [rdi + 0xc]
mov rbx, qword [rsp + 0x58]
mov r10, qword [rbp + 0x260]
mov r11, qword [rsp + 0x38]
imul r15, rax, 0x38
mov r14, qword [rbx + 0x60]
mov eax, dword [r10 + 0x30]
add r15, r11
mov qword [rbp - 0x50], r15
mov qword [rbp + 0x278], r14
cmp dword [rbx + 0x28], eax
je 0x140038898
cmp byte [rbx + 2], dl
je 0x1400387ce
cmp byte [rbx], 3
jne 0x1400387ab
movsxd rax, dword [rbx + 0x2c]
imul rdx, rax, 0x38
mov ecx, dword [rdx + r11 + 0xc]
mov dword [rbx + 0x74], ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x70], ecx
mov rcx, qword [rdx + r11 + 0x10]
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x68], rcx
mov rcx, qword [rsp + 0x58]
jmp 0x140038819
mov eax, 0x2400
test word [r15 + 8], ax
je 0x1400387c4
mov rcx, r15
call fcn.140030414
jmp 0x14003767a
mov word [r15 + 8], r13w
jmp 0x140037686
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.140028bdc
mov edx, dword [rbx + 0x40]
mov rcx, rbx
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x70], edx
mov rdx, qword [rsp + 0x58]
add rdx, 0x74
call fcn.1400290f4
mov rcx, qword [rsp + 0x58]
mov qword [rcx + 0x68], rax
mov rcx, qword [rsp + 0x58]
mov eax, dword [r12 + 0x7c]
cmp dword [rcx + 0x70], eax
ja 0x14003b7ec
mov r10, qword [rbp + 0x260]
mov eax, dword [r10 + 0x30]
mov dword [rcx + 0x28], eax
mov rax, qword [rsp + 0x58]
mov rcx, qword [rax + 0x68]
mov eax, 0x80
cmp byte [rcx], al
jae 0x14003883d
movzx eax, byte [rcx]
mov dword [r14], eax
mov al, r13b
jmp 0x140038845
mov rdx, r14
call fcn.140019598
movzx ecx, al
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x48], ecx
xor ecx, ecx
mov rax, qword [rsp + 0x58]
mov word [rax + 0x52], cx
mov rbx, qword [rsp + 0x58]
mov eax, dword [r14]
cmp dword [rbx + 0x74], eax
jae 0x14003896a
mov qword [rbx + 0x68], rcx
xor ebx, ebx
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x74], ebx
mov eax, dword [r14]
cmp eax, 0x18003
ja 0x140038aae
mov rbx, qword [rsp + 0x58]
cmp eax, dword [rbx + 0x70]
ja 0x140038aae
xor edx, edx
movzx eax, word [rbx + 0x52]
movsxd r8, dword [rsp + 0x70]
cmp eax, r8d
jg 0x140038b15
mov eax, dword [r14]
cmp dword [rbx + 0x48], eax
jae 0x140038ad1
mov rcx, qword [rbx + 0x68]
mov qword [rsp + 0x78], rcx
test rcx, rcx
jne 0x14003890d
lea r8d, [rcx + 0x38]
xor edx, edx
lea rcx, [rbp + 0xd8]
call fcn.1400c3c80
mov r8d, dword [r14]
lea r9, [rbp + 0xd8]
mov rcx, qword [rbx + 0x38]
xor edx, edx
call fcn.140030ec8
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
mov rcx, qword [rbp + 0xe8]
mov eax, dword [r14]
mov rbx, qword [rsp + 0x58]
mov qword [rsp + 0x78], rcx
movzx r13d, word [rbx + 0x52]
lea rdi, [0x140000000]
mov r9, qword [rbp + 0x278]
mov esi, 0x80
mov edx, eax
mov r12d, r13d
mov r8d, dword [r14 + r13*4]
mov r14d, dword [rbx + 0x48]
lea r15d, [rsi - 0x7f]
add r14, rcx
mov qword [rsp + 0x68], r8
add rdx, rcx
mov qword [rbp - 0x48], rdx
movzx eax, byte [r14]
mov dword [rsp + 0x54], eax
mov dword [rbx + r12*4 + 0x78], eax
cmp dword [rsp + 0x54], esi
jae 0x140038970
movzx eax, byte [rsp + 0x54]
add r14, r15
movzx ecx, byte [rax + rdi + 0xf1dd0]
jmp 0x1400389ba
mov rcx, qword [rbx + 0x68]
jmp 0x140038908
lea rdx, [rsp + 0x54]
mov rcx, r14
call fcn.140019598
mov rcx, qword [rsp + 0x58]
movzx eax, al
add r14, rax
mov eax, dword [rsp + 0x54]
mov dword [rcx + r12*4 + 0x78], eax
mov eax, dword [rsp + 0x54]
cmp eax, esi
jb 0x1400389a0
add eax, 0xfffffff4
shr eax, 1
jmp 0x1400389a8
movzx eax, byte [rax + rdi + 0xf1dd0]
mov rdx, qword [rbp - 0x48]
mov r8, qword [rsp + 0x68]
mov r9, qword [rbp + 0x278]
mov ecx, eax
add r8, rcx
add r13d, r15d
movsxd r12, r13d
mov qword [rsp + 0x68], r8
mov dword [r9 + r12*4], r8d
cmp r13d, dword [rsp + 0x70]
jg 0x1400389e2
cmp r14, rdx
jae 0x1400389e2
mov rbx, qword [rsp + 0x58]
jmp 0x140038945
mov rcx, qword [rsp + 0x58]
mov rdi, qword [rbp - 0x80]
mov esi, dword [rsp + 0x34]
mov r15, qword [rbp - 0x50]
cmp r14, rdx
jb 0x140038a02
ja 0x140038a0a
mov eax, dword [rcx + 0x70]
cmp r8, rax
jne 0x140038a0a
mov eax, dword [rcx + 0x70]
cmp r8, rax
jbe 0x140038a17
xor ebx, ebx
cmp dword [r9], ebx
jne 0x140038a7b
mov r13d, ebx
mov r14, rdx
sub r14d, dword [rsp + 0x78]
mov word [rcx + 0x52], r13w
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x48], r14d
xor eax, eax
mov rbx, qword [rsp + 0x58]
cmp qword [rbx + 0x68], rax
jne 0x140038a5e
mov ecx, 0x2400
test word [rbp + 0xe0], cx
jne 0x140038a4d
cmp dword [rbp + 0xf8], eax
je 0x140038a5e
lea rcx, [rbp + 0xd8]
call fcn.14003045c
mov rbx, qword [rsp + 0x58]
mov r8d, dword [rsp + 0x70]
mov r13d, 1
mov edx, dword [rsp + 0x54]
mov r14, qword [rbp + 0x278]
mov r12, qword [rsp + 0x40]
jmp 0x140038ad5
cmp qword [rcx + 0x68], rbx
jne 0x140038aa3
mov eax, 0x2400
test word [rbp + 0xe0], ax
jne 0x140038a97
cmp dword [rbp + 0xf8], ebx
je 0x140038aa3
lea rcx, [rbp + 0xd8]
call fcn.14003045c
mov r12, qword [rsp + 0x40]
mov r13d, 1
mov r15, qword [rsp + 0x48]
mov eax, dword [r15 + 0xc]
test eax, eax
jle 0x14003c484
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [r15 + rax*8]
jmp 0x140037d09
mov dword [rsp + 0x54], edx
movzx eax, word [rbx + 0x52]
cmp eax, r8d
jg 0x140038b1e
cmp byte [rdi + 1], 0xf5
jne 0x140038afb
mov rdx, qword [rdi + 0x10]
mov r8d, 0x800
mov rcx, r15
call fcn.140030ab8
jmp 0x14003767a
mov eax, 0x2400
test word [r15 + 8], ax
jne 0x1400387b7
mov word [r15 + 8], r13w
jmp 0x14003767a
mov edx, dword [rbx + r8*4 + 0x78]
mov dword [rsp + 0x54], edx
mov eax, 0x2400
test word [r15 + 8], ax
je 0x140038b40
mov rcx, r15
call fcn.140030414
mov r8d, dword [rsp + 0x70]
mov edx, dword [rsp + 0x54]
mov rbx, qword [rsp + 0x58]
lea eax, [r8 + 1]
movsxd rcx, eax
mov eax, dword [r14 + rcx*4]
cmp dword [rbx + 0x74], eax
jb 0x140038c16
movsxd rax, r8d
mov r14d, dword [r14 + rax*4]
add r14, qword [rbx + 0x68]
cmp edx, 0xc
jae 0x140038b74
mov rcx, r14
mov r8, r15
call fcn.140033fb0
jmp 0x14003767a
mov al, byte [rbp + 0x268]
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 0x140038bae
xor r8d, r8d
mov word [r15 + 8], r13w
mov rcx, r15
call fcn.14002ff64
test eax, eax
jne 0x14003c8a7
mov rcx, qword [r15 + 0x10]
jmp 0x140038bb6
mov rcx, qword [r15 + 0x18]
mov qword [r15 + 0x10], rcx
mov r8d, ebx
mov rdx, r14
call fcn.1400c43f0
mov rax, qword [r15 + 0x10]
mov r10, qword [rbp + 0x260]
mov r11, qword [rsp + 0x38]
mov r9b, byte [rbp + 0x268]
mov r8d, dword [rsp + 0x30]
mov ecx, ebx
xor ebx, ebx
mov byte [rcx + rax], bl
mov rax, qword [r15 + 0x10]
mov byte [rcx + rax + 1], bl
lea rcx, [0x140000000]
mov eax, dword [rsp + 0x54]
mov ebx, 2
and rax, r13
movzx eax, word [rcx + rax*2 + 0xecea4]
mov word [r15 + 8], ax
mov r15, qword [rsp + 0x48]
jmp case.default.0x1400372c3
mov al, byte [rbp + 0x268]
mov byte [r15 + 0xa], al
test byte [rdi + 2], 0xc0
mov edx, dword [rsp + 0x54]
je 0x140038c40
cmp edx, 0xc
jb 0x140038c34
test r13b, dl
je 0x140038c69
mov eax, 0x80
test byte [rdi + 2], al
jne 0x140038c69
jmp 0x140038c45
mov eax, 0x80
cmp edx, eax
jb 0x140038c52
lea r8d, [rdx - 0xc]
shr r8d, 1
jmp 0x140038c62
lea rcx, [0x140000000]
movzx r8d, byte [rdx + rcx + 0xf1dd0]
xor ebx, ebx
test r8d, r8d
jne 0x140038c75
lea rcx, [0x14015ade0]
jmp 0x140038b67
movsxd rax, dword [rsp + 0x70]
mov r9, r15
mov rcx, qword [rsp + 0x58]
mov edx, dword [r14 + rax*4]
mov rcx, qword [rcx + 0x38]
call fcn.140030ec8
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
mov edx, dword [rsp + 0x54]
mov r8, r15
mov rcx, qword [r15 + 0x10]
call fcn.140033fb0
mov eax, 0xefff
and word [r15 + 8], ax
jmp 0x14003767a
movsxd rax, dword [rdi + 4]
mov r14, qword [rdi + 0x10]
imul rbx, rax, 0x38
mov al, byte [r14]
add rbx, r11
mov r8b, r9b
mov dl, al
mov rcx, rbx
call fcn.140037020
cmp byte [r14], 0x45
jne 0x140038d37
movzx ecx, word [rbx + 8]
mov eax, 4
test al, cl
je 0x140038d37
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x140038d1c
and cx, ax
mov eax, Ordinal_36
jmp 0x140038d30
xorps xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, rdx
mov eax, 8
movsd qword [rbx], xmm0
or cx, ax
mov word [rbx + 8], cx
add r14, r13
mov al, byte [r14]
test al, al
je 0x14003c206
mov r9b, byte [rbp + 0x268]
add rbx, 0x38
jmp 0x140038cce
movsxd rax, dword [rdi + 4]
xor ebx, ebx
mov r14, qword [rdi + 0x10]
mov r13d, ebx
mov r10b, byte [r10 + 0xc3]
mov r9d, ebx
imul rdx, rax, 0x38
mov eax, dword [rdi + 8]
add rdx, r11
mov dword [rsp + 0x50], ebx
lea r11d, [rbx + 1]
mov qword [rsp + 0x78], rbx
sub eax, r11d
mov qword [rsp + 0x68], rdx
cdqe
imul r15, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x38]
add r15, rdx
add rcx, rax
mov qword [rbp - 0x48], r15
mov byte [rbp + 0x278], r10b
mov qword [rbp - 0x50], rcx
test r14, r14
je 0x140038e2e
mov al, byte [r14]
lea esi, [r13 + 4]
mov r12b, byte [rbp + 0x268]
lea edi, [rsi + 0x1c]
lea rbx, [rdx + 8]
xor r15d, r15d
mov r13d, 0xfffb
lea rcx, [rbx - 8]
mov r8b, r12b
mov dl, al
call fcn.140037020
cmp byte [r14], 0x45
jne 0x140038dfc
movzx eax, word [rbx]
test sil, al
je 0x140038dfc
and ax, r13w
or ax, di
mov word [rbx], ax
mov r11d, 1
add rbx, 0x38
add r14, r11
mov al, byte [r14]
test al, al
jne 0x140038dd6
mov rdi, qword [rbp - 0x80]
mov r13, r15
mov r15, qword [rbp - 0x48]
xor ebx, ebx
mov r9d, dword [rsp + 0x50]
mov r10b, byte [rbp + 0x278]
mov rdx, qword [rsp + 0x68]
lea r12, [r15 + 0x24]
movzx ecx, word [r12 - 0x1c]
test r11b, cl
je 0x140038e59
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r12], eax
add r9d, r11d
jmp 0x140038fd6
test cl, 0x24
je 0x140038f40
mov r8, qword [r12 - 0x24]
mov rdx, r8
test r8, r8
jns 0x140038e72
not rdx
add r9d, r11d
mov dword [rsp + 0x50], r9d
cmp rdx, 0x7f
ja 0x140038ea8
mov rax, r8
and rax, r11
cmp rax, r8
jne 0x140038e9d
mov eax, 4
cmp r10b, al
jb 0x140038e9d
lea eax, [rdx + 8]
jmp 0x140038f32
add r13, r11
mov eax, r11d
jmp 0x140038f32
cmp rdx, 0x7fff
ja 0x140038eb8
mov eax, 2
jmp 0x140038eda
cmp rdx, 0x7fffff
ja 0x140038ecc
add r13, 3
mov eax, 3
jmp 0x140038f32
cmp rdx, 0x7fffffff
ja 0x140038edf
mov eax, 4
add r13, rax
jmp 0x140038f32
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x140038ef9
add r13, 6
mov eax, 5
jmp 0x140038f32
mov edx, 8
add r13, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x140038f2d
mov eax, 0xffdf
xorps xmm0, xmm0
and cx, ax
lea eax, [rdx - 1]
cvtsi2sd xmm0, r8
or cx, dx
mov word [r12 - 0x1c], cx
movsd qword [r12 - 0x24], xmm0
jmp 0x140038f32
mov eax, 6
mov dword [r12], eax
mov rdx, qword [rsp + 0x68]
jmp 0x140038fdb
mov eax, 8
test al, cl
je 0x140038f5a
add r9d, r11d
add r13, rax
mov eax, 7
mov dword [r12], eax
jmp 0x140038fd6
mov r14d, dword [r12 - 0x18]
mov r15d, ecx
shr r15d, 1
mov eax, 0x4000
and r15d, r11d
add r15d, 0xc
lea r15d, [r15 + r14*2]
test ax, cx
je 0x140038fab
lea rbx, [r12 - 0x24]
movsxd rax, dword [rbx]
lea r15d, [r15 + rax*2]
test r13, r13
je 0x140038fa4
mov rcx, rbx
call fcn.14003016c
test eax, eax
jne 0x14003c8a7
add r14d, dword [rbx]
lea r11d, [rax + 1]
jmp 0x140038fa9
add qword [rsp + 0x78], rax
xor ebx, ebx
mov eax, r14d
mov ecx, r11d
add r13, rax
mov eax, r15d
jmp 0x140038fbc
add ecx, r11d
shr rax, 7
test rax, rax
jne 0x140038fb9
mov r9d, dword [rsp + 0x50]
mov rdx, qword [rsp + 0x68]
add r9d, ecx
mov dword [r12], r15d
mov dword [rsp + 0x50], r9d
lea rax, [r12 - 0x24]
cmp rax, rdx
je 0x140038ff5
mov r10b, byte [rbp + 0x278]
sub r12, 0x38
jmp 0x140038e32
cmp r9d, 0x7e
jle 0x14003902f
mov edx, r11d
movsxd rax, r9d
jmp 0x140039006
add edx, r11d
shr rax, 7
test rax, rax
jne 0x140039003
add r9d, edx
mov ecx, r11d
mov dword [rsp + 0x50], r9d
movsxd rax, r9d
jmp 0x140039022
add ecx, r11d
shr rax, 7
test rax, rax
jne 0x14003901f
cmp edx, ecx
jge 0x140039037
add r9d, r11d
mov dword [rsp + 0x50], r9d
mov r15, qword [rsp + 0x78]
mov r10, qword [rbp - 0x50]
movsxd r14, r9d
movsxd rax, dword [r10 + 0x20]
lea rbx, [r14 + r13]
lea rcx, [rbx + r15]
cmp rcx, rax
jg 0x14003905e
mov rax, qword [r10 + 0x18]
mov qword [r10 + 0x10], rax
jmp 0x1400390ac
mov r8, qword [rsp + 0x40]
movsxd rax, dword [r8 + 0x7c]
cmp rcx, rax
jg 0x14003b7ec
cmp dword [r10 + 0x20], ebx
jge 0x140039094
xor r8d, r8d
mov edx, ebx
mov rcx, r10
call fcn.14002ff64
mov r9d, dword [rsp + 0x50]
mov r11d, 1
mov r10, qword [rbp - 0x50]
jmp 0x1400390a4
mov rax, qword [r10 + 0x18]
and word [r10 + 8], 0x2d
mov qword [r10 + 0x10], rax
xor eax, eax
test eax, eax
jne 0x14003c8a7
mov dword [r10 + 0xc], ebx
mov eax, 0x10
mov word [r10 + 8], ax
test r15, r15
je 0x1400390cc
mov eax, 0x4010
mov dword [r10], r15d
mov word [r10 + 8], ax
mov rbx, qword [r10 + 0x10]
mov ecx, 0x80
lea r15, [rbx + r14]
cmp r9d, ecx
jae 0x1400390e6
mov byte [rbx], r9b
mov eax, r11d
jmp 0x14003912a
cmp r14, 0x7f
ja 0x1400390f5
and r14b, 0x7f
mov byte [rbx], r14b
jmp 0x1400390e1
cmp r14, 0x3fff
ja 0x14003911a
mov rax, r14
mov esi, 2
shr rax, 7
or al, cl
and r14b, 0x7f
mov byte [rbx], al
mov byte [rbx + 1], r14b
mov eax, esi
jmp 0x14003912f
mov rdx, r14
mov rcx, rbx
call fcn.140019368
mov ecx, 0x80
mov esi, 2
mov r13, qword [rsp + 0x68]
mov edi, 1
mov r12, qword [rbp - 0x48]
movzx eax, al
add rbx, rax
mov r14d, dword [r13 + 0x24]
cmp r14d, ecx
jae 0x140039151
mov byte [rbx], r14b
jmp 0x14003915f
mov rdx, r14
cmp r14, 0x7f
ja 0x140039163
and dl, 0x7f
mov byte [rbx], dl
mov eax, edi
jmp 0x140039189
cmp rdx, 0x3fff
ja 0x140039181
mov rax, rdx
shr rax, 7
or al, cl
and dl, 0x7f
mov byte [rbx], al
mov byte [rbx + 1], dl
mov eax, esi
jmp 0x140039189
mov rcx, rbx
call fcn.140019368
movzx eax, al
mov r8d, r14d
mov rdx, r13
mov rcx, r15
add rbx, rax
call fcn.140033f50
mov eax, eax
add r13, 0x38
add r15, rax
mov ecx, 0x80
cmp r13, r12
jbe 0x140039143
mov rdi, qword [rbp - 0x80]
lea r13d, [rcx - 0x7f]
mov esi, dword [rsp + 0x34]
jmp 0x140037c9d
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp + 8]
mov rax, qword [r10 + 0x78]
xor ebx, ebx
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
mov qword [rbp + 8], rbx
call fcn.14002e4ec
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
mov rcx, qword [rbp + 0x260]
mov rdx, rdi
call fcn.1400371a8
mov rcx, qword [rbp + 8]
mov qword [rax], rcx
jmp 0x1400378d1
mov ebx, dword [rdi + 4]
xor eax, eax
mov r15, qword [rdi + 0x10]
mov dword [rsp + 0x50], ebx
test ebx, ebx
jne 0x1400392eb
cmp dword [r12 + 0xd0], eax
jg 0x14003c4b7
test r15, r15
jne 0x140039235
mov ebx, eax
jmp 0x140039248
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [r15 + rbx], al
jne 0x140039239
and ebx, 0x3fffffff
mov r8d, dword [r12 + 0x280]
xor edx, edx
add r8d, dword [r12 + 0x27c]
mov rcx, r12
call fcn.14006e3ac
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
mov edx, ebx
mov rcx, r12
add rdx, 0x21
call fcn.140016314
mov r14, rax
test rax, rax
je 0x14003c206
lea rcx, [rax + 0x20]
mov rdx, r15
lea r8d, [rbx + 1]
mov qword [rax], rcx
call fcn.1400c43f0
xor ebx, ebx
cmp byte [r12 + 0x5f], bl
je 0x1400392b2
mov byte [r12 + 0x5f], bl
mov byte [r12 + 0x67], r13b
jmp 0x1400392ba
add dword [r12 + 0x27c], r13d
mov rax, qword [r12 + 0x270]
mov qword [r14 + 0x18], rax
mov rax, qword [r12 + 0x288]
mov qword [r12 + 0x270], r14
mov qword [r14 + 8], rax
mov rax, qword [r12 + 0x290]
mov qword [r14 + 0x10], rax
jmp 0x14003767a
mov r8, qword [rsp + 0x40]
mov r12d, eax
mov r13, qword [r8 + 0x270]
test r13, r13
je 0x14003c532
mov rcx, qword [r13]
mov rdx, r15
call fcn.140018a34
test eax, eax
je 0x14003931f
mov r13, qword [r13 + 0x18]
inc r12d
test r13, r13
jne 0x140039303
mov rdi, qword [rbp - 0x80]
mov dword [rbp + 0x278], r12d
test r13, r13
je 0x14003c52b
mov rcx, qword [rsp + 0x40]
xor r15d, r15d
cmp dword [rcx + 0xd0], r15d
jle 0x14003934d
cmp ebx, 1
je 0x14003c4d0
cmp qword [r13 + 0x18], r15
jne 0x1400393bb
cmp byte [rcx + 0x67], r15b
je 0x1400393bb
mov r14d, 1
mov dword [rsp + 0x68], r14d
cmp ebx, r14d
jne 0x1400393c0
mov r12, qword [rbp + 0x260]
mov edx, r14d
mov rcx, r12
call fcn.140033788
mov esi, eax
test eax, eax
jne 0x14003c847
mov r12, qword [rsp + 0x40]
mov rsi, qword [rbp + 0x260]
mov rcx, rsi
mov byte [r12 + 0x5f], r14b
call fcn.1400337d8
lea ecx, [r14 + 4]
cmp eax, ecx
je 0x14003c4f0
mov byte [r12 + 0x67], r15b
mov esi, dword [rsi + 0x38]
mov dword [rsp + 0x34], esi
jmp 0x1400394c6
mov dword [rsp + 0x68], r15d
mov edx, dword [rcx + 0x27c]
mov r9d, 2
mov eax, dword [rcx + 0x28]
sub edx, r12d
dec edx
mov dword [rbp + 0x278], edx
cmp ebx, r9d
jne 0x14003943b
mov r12d, dword [rcx + 0x2c]
xor r8d, r8d
and r12d, 1
test eax, eax
jle 0x140039436
mov r14d, r12d
mov ebx, r8d
xor r14d, 1
mov rcx, qword [rcx + 0x20]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.1400287a4
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
mov rcx, qword [rsp + 0x40]
inc r15d
add rbx, 0x20
mov eax, dword [rcx + 0x28]
cmp r15d, eax
jl 0x1400393f8
mov edx, dword [rbp + 0x278]
xor r15d, r15d
jmp 0x14003943e
mov r12d, r15d
mov r14d, r15d
test eax, eax
jle 0x140039487
mov rbx, r15
mov r15d, dword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov r8d, edx
mov edx, r15d
mov rcx, qword [rbx + rcx + 8]
call fcn.1400289b8
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
mov rcx, qword [rsp + 0x40]
inc r14d
mov edx, dword [rbp + 0x278]
add rbx, 0x20
cmp r14d, dword [rcx + 0x28]
jl 0x14003944d
test r12d, r12d
mov r12, qword [rsp + 0x40]
je 0x1400394bd
mov rax, qword [r12 + 8]
jmp 0x1400394aa
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x140039498
mov rcx, r12
call fcn.14004ce78
or dword [r12 + 0x2c], 1
mov r14d, dword [rsp + 0x68]
mov ebx, dword [rsp + 0x50]
mov rcx, qword [r12 + 0x270]
jmp 0x1400394f7
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r12
mov qword [r12 + 0x270], rax
call fcn.1400160a0
mov rcx, qword [r12 + 0x270]
dec dword [r12 + 0x27c]
cmp rcx, r13
jne 0x1400394d0
cmp ebx, 1
jne 0x140039527
mov rax, qword [r13 + 0x18]
mov rdx, r13
mov rcx, r12
mov qword [r12 + 0x270], rax
call fcn.1400160a0
test r14d, r14d
jne 0x140039570
dec dword [r12 + 0x27c]
jmp 0x14003954d
mov rax, qword [r13 + 8]
mov qword [r12 + 0x288], rax
mov rax, qword [r13 + 0x10]
mov qword [r12 + 0x290], rax
test r14d, r14d
je 0x14003954d
mov eax, 2
cmp ebx, eax
jne 0x140039570
mov r8d, dword [rbp + 0x278]
mov edx, ebx
mov rcx, r12
call fcn.14006e3ac
xor ebx, ebx
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
jmp 0x140039572
xor ebx, ebx
test esi, esi
jne 0x140037f41
lea r13d, [rsi + 1]
jmp 0x14003767a
mov edx, dword [rdi + 8]
xor eax, eax
mov dword [rsp + 0x68], eax
test edx, edx
je 0x1400395a0
mov eax, dword [r12 + 0x30]
bt rax, 0x14
jb 0x14003c54e
movsxd rcx, dword [rdi + 4]
xor r14d, r14d
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x140039687
lea r8, [rsp + 0x68]
mov rcx, rbx
call fcn.140027a08
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003c558
mov r10, qword [rbp + 0x260]
cmp dword [rdi + 8], r14d
je 0x140039687
mov eax, 0x80
test byte [r10 + 0xc8], al
je 0x140039687
cmp byte [r12 + 0x5f], r14b
je 0x14003960d
cmp dword [r12 + 0xcc], r13d
jle 0x140039687
mov r8d, dword [r10 + 0x40]
test r8d, r8d
jne 0x140039632
add dword [r12 + 0x280], r13d
mov r8d, dword [r12 + 0x27c]
add r8d, dword [r12 + 0x280]
mov dword [r10 + 0x40], r8d
dec r8d
xor edx, edx
mov rcx, r12
call fcn.14006e3ac
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140039668
mov r12, qword [rbp + 0x260]
mov rcx, rbx
mov edx, dword [r12 + 0x40]
call fcn.140028994
mov r12, qword [rsp + 0x40]
mov esi, eax
mov dword [rsp + 0x34], eax
mov rax, qword [r12 + 0x288]
mov r10, qword [rbp + 0x260]
mov qword [r10 + 0x58], rax
mov rax, qword [r12 + 0x290]
mov qword [r10 + 0x60], rax
xor ebx, ebx
cmp word [rdi + 2], bx
je 0x14003972b
mov eax, dword [rdi + 0xc]
cmp dword [rsp + 0x68], eax
jne 0x1400396b6
mov rax, qword [r12 + 0x20]
movsxd rcx, dword [rdi + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rdi + 0x10]
cmp dword [rcx + 4], eax
je 0x14003972b
mov rdx, qword [r10 + 0xa8]
test rdx, rdx
je 0x1400396ca
mov rcx, r12
call fcn.1400160a0
lea rdx, str.database_schema_has_changed
mov rcx, r12
call fcn.140016490
mov r10, qword [rbp + 0x260]
mov qword [r10 + 0xa8], rax
mov rax, qword [r12 + 0x20]
movsxd rdx, dword [rdi + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rsp + 0x68]
cmp dword [rcx], eax
je 0x140039713
mov rcx, r12
call fcn.14004cdfc
mov r10, qword [rbp + 0x260]
and dword [r10 + 0xc8], 0xfffffffd
mov esi, 0x11
or dword [r10 + 0xc8], r13d
mov dword [rsp + 0x34], esi
test esi, esi
jne 0x140037f41
jmp 0x1400378dd
movsxd rax, dword [rdi + 4]
lea r8, [rbp - 0x20]
mov rcx, qword [r12 + 0x20]
mov edx, dword [rdi + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002e424
mov rcx, qword [rbp + 0x260]
mov rdx, rdi
call fcn.1400371a8
movsxd rcx, dword [rbp - 0x20]
mov qword [rax], rcx
mov r12, qword [rsp + 0x40]
jmp 0x14003749e
movsxd rbx, dword [rdi + 4]
mov r8d, dword [rdi + 0xc]
mov edx, dword [rdi + 8]
shl rbx, 5
add rbx, qword [r12 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14002e470
mov esi, eax
mov dword [rsp + 0x34], eax
cmp dword [rdi + 8], r13d
jne 0x1400397af
mov rcx, qword [rbx + 0x18]
mov eax, dword [rdi + 0xc]
mov dword [rcx], eax
or dword [r12 + 0x2c], r13d
jmp 0x1400397c3
mov eax, 2
cmp dword [rdi + 8], eax
jne 0x1400397c3
mov rcx, qword [rbx + 0x18]
mov al, byte [rdi + 0xc]
mov byte [rcx + 0x70], al
xor ebx, ebx
cmp dword [rdi + 4], r13d
jne 0x1400397fd
mov rax, qword [r12 + 8]
jmp 0x1400397e4
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r13d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1400397d2
mov r10, qword [rbp + 0x260]
and dword [r10 + 0xc8], 0xfffffffc
jmp 0x14003972b
mov r10, qword [rbp + 0x260]
jmp 0x14003972b
movsxd rcx, dword [rdi + 4]
mov rax, qword [r10 + 0x78]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je case.0x1400372c3.97
mov eax, dword [rdi + 8]
cmp dword [rbx + 0x4c], eax
je 0x14003999f
mov eax, dword [r10 + 0xc8]
and al, 3
cmp al, r13b
je 0x14003c59a
movsxd rdx, dword [rdi + 0xc]
xor r9d, r9d
mov r8, qword [rsp + 0x40]
mov rax, rdx
movsxd r15, dword [rdi + 8]
mov r12d, r9d
shl rax, 5
mov r13d, r9d
mov dword [rbp + 0x278], edx
add rax, qword [r8 + 0x20]
mov rcx, qword [rax + 8]
mov qword [rbp], rcx
cmp r14b, 0x62
jne 0x140039893
movzx esi, word [rdi + 2]
lea ecx, [r9 + 4]
mov rax, qword [rax + 0x18]
and esi, 8
or esi, ecx
mov cl, byte [rax + 0x70]
cmp cl, byte [r10 + 0xc3]
jae 0x140039896
mov byte [r10 + 0xc3], cl
jmp 0x140039896
mov esi, r9d
mov eax, 0x10
test byte [rdi + 2], al
je 0x1400398c5
imul rbx, r15, 0x38
mov rax, r15
add rbx, r11
mov rcx, rbx
call fcn.14003062c
mov edx, dword [rbp + 0x278]
xor r9d, r9d
mov r10, qword [rbp + 0x260]
mov r15d, dword [rbx]
mov al, byte [rdi + 1]
cmp al, 0xf7
jne 0x1400398d7
mov r13, qword [rdi + 0x10]
movzx r12d, word [r13 + 8]
jmp 0x1400398df
cmp al, 0xfd
jne 0x1400398df
mov r12d, dword [rdi + 0x10]
mov byte [rsp + 0x20], r9b
mov r8d, r12d
mov r9d, edx
mov rcx, r10
mov edx, dword [rdi + 4]
call fcn.140036e58
mov rbx, rax
test rax, rax
je 0x14003c8a7
mov ecx, 1
mov dword [rbx + 0x4c], r15d
mov byte [rax + 2], cl
lea eax, [rcx + 3]
or dword [rbx + 8], eax
mov rax, qword [rbx + 0x38]
cmp r15d, ecx
jge 0x14003994c
lea esi, [rcx + 0xa]
mov r9d, 0x108ea
lea rax, [0x140110fe4]
mov ecx, esi
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140017edc
mov dword [rsp + 0x34], esi
jmp 0x140039969
mov rcx, qword [rbp]
mov r9, r13
mov r8d, esi
mov qword [rsp + 0x20], rax
mov edx, r15d
call fcn.140028a78
mov esi, eax
mov dword [rsp + 0x34], eax
mov r10, qword [rbp + 0x260]
mov r12, qword [rsp + 0x40]
mov r11, qword [rsp + 0x38]
mov r15, qword [rsp + 0x48]
mov r9b, byte [rbp + 0x268]
mov r8d, dword [rsp + 0x30]
mov qword [rbx + 0x40], r13
mov r13d, 1
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 0x140037f41
jmp 0x14003c36e
movsxd rcx, dword [rdi + 8]
xor esi, esi
mov rax, qword [r10 + 0x78]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov byte [rsp + 0x20], sil
mov rbx, qword [rax + rcx*8]
mov rcx, r10
movsx r8d, word [rbx + 0x50]
call fcn.140036e58
mov rdx, rax
test rax, rax
je 0x14003c8a7
or dword [rax + 8], r13d
lea r14d, [rsi + 4]
mov byte [rax + 2], r13b
mov r9, qword [rbx + 0x40]
mov qword [rax + 0x40], r9
mov cl, byte [rbx + 4]
mov byte [rax + 4], cl
mov ecx, dword [rbx + 0x4c]
mov dword [rax + 0x4c], ecx
mov eax, dword [rbx + 8]
xor eax, dword [rdx + 8]
and eax, r14d
xor dword [rdx + 8], eax
mov rax, qword [rdx + 0x38]
cmp ecx, r13d
jge 0x140039a55
lea rax, [0x140110fe4]
mov r9d, 0x108ea
lea esi, [r14 + 7]
mov qword [rsp + 0x20], rax
mov ecx, esi
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
call fcn.140017edc
mov dword [rsp + 0x34], esi
jmp 0x140037d09
mov edx, ecx
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x10]
mov r8d, r14d
call fcn.140028a78
mov esi, eax
mov dword [rsp + 0x34], eax
jmp 0x140037d09
movsxd rdx, dword [rdi + 4]
xor ecx, ecx
mov rax, qword [r10 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x140039ab0
mov qword [rbx + 0x18], rcx
mov dword [rbx + 0x28], ecx
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x140039c1a
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
call fcn.14002e188
mov esi, eax
mov dword [rsp + 0x34], eax
jmp 0x140039c02
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov byte [rsp + 0x20], cl
mov rcx, r10
call fcn.140036e58
mov rbx, rax
test rax, rax
je 0x14003c8a7
or dword [rax + 8], r13d
lea r14, [rax + 0x10]
movzx ecx, word [rdi + 2]
mov r9, r14
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
mov r8, r12
mov rcx, qword [r12]
xor edx, edx
call fcn.140026f88
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140039be7
mov rcx, qword [r14]
xor r8d, r8d
mov edx, r13d
call fcn.140027a08
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140039be7
mov r12, qword [rdi + 0x10]
lea r15, [rbx + 0x4c]
mov rcx, qword [r14]
mov qword [rbx + 0x40], r12
test r12, r12
je 0x140039bb8
movzx r8d, word [rdi + 2]
mov rdx, r15
or r8d, 2
call fcn.14002dd14
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140039baf
mov rax, qword [rbx + 0x38]
cmp dword [r15], r13d
jge 0x140039b90
lea rax, [0x140110fe4]
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.140017edc
mov dword [rsp + 0x34], esi
jmp 0x140039baf
mov edx, dword [r15]
mov r9, r12
mov rcx, qword [r14]
mov r8d, 4
mov qword [rsp + 0x20], rax
call fcn.140028a78
mov esi, eax
mov dword [rsp + 0x34], eax
xor r14d, r14d
mov byte [rbx + 4], r14b
jmp 0x140039bdd
mov rax, qword [rbx + 0x38]
xor r9d, r9d
mov edx, r13d
mov dword [r15], r13d
mov qword [rsp + 0x20], rax
lea r8d, [r9 + 4]
call fcn.140028a78
mov esi, eax
mov dword [rsp + 0x34], eax
mov byte [rbx + 4], r13b
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
movzx eax, word [rdi + 2]
sub ax, 8
neg ax
mov eax, dword [rbx + 8]
sbb ecx, ecx
and eax, 0xfffffffb
and ecx, 4
or ecx, eax
mov dword [rbx + 8], ecx
mov r8d, dword [rsp + 0x30]
mov r9b, byte [rbp + 0x268]
mov r11, qword [rsp + 0x38]
mov r10, qword [rbp + 0x260]
test esi, esi
jne 0x140037f41
mov byte [rbx + 2], r13b
jmp 0x14003c36e
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov rcx, r10
mov byte [rsp + 0x20], r13b
call fcn.140036e58
xor ebx, ebx
test rax, rax
je 0x14003c8a7
mov rcx, qword [rdi + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov rcx, r12
mov edx, dword [rdi + 0xc]
call fcn.14003db30
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jmp 0x140037f3b
movsxd rcx, dword [rdi + 4]
mov rax, qword [r10 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
je 0x140037e9b
jmp case.0x1400372c3.86
mov r8d, dword [rdi + 0xc]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov rcx, r10
mov byte [rsp + 0x20], 3
call fcn.140036e58
test rax, rax
je 0x14003c8a7
mov byte [rax + 2], r13b
mov ecx, dword [rdi + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x14015ad4c]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], r13b
jmp 0x14003749e
movsxd rax, dword [rdi + 4]
mov rcx, r10
mov rdx, qword [r10 + 0x78]
mov rdx, qword [rdx + rax*8]
call fcn.140032e18
mov r10, qword [rbp + 0x260]
xor edx, edx
movsxd rcx, dword [rdi + 4]
mov rax, qword [r10 + 0x78]
mov qword [rax + rcx*8], rdx
jmp 0x1400374a5
movsxd rcx, dword [rdi + 4]
xor edx, edx
mov rax, qword [r10 + 0x78]
mov dword [rbp + 0x278], edx
mov r15, qword [rax + rcx*8]
mov word [r15 + 2], dx
mov dword [r15 + 0x28], edx
cmp byte [r15 + 4], dl
je 0x140039e17
movsxd rax, dword [rdi + 0xc]
lea r9d, [rdx + 2]
imul rbx, rax, 0x38
add rbx, r11
movzx r12d, word [rbx + 8]
mov al, r12b
and al, 0x2e
cmp al, r9b
jne 0x140039d51
mov rcx, rbx
call fcn.140036f84
mov rcx, rbx
call fcn.140030520
movzx ecx, word [rbx + 8]
mov r13, rax
mov word [rbx + 8], r12w
test cl, 0x24
jne 0x140039ddf
mov eax, 8
test al, cl
jne 0x140039dad
lea r13d, [rax - 7]
test r13b, cl
jne 0x14003bcb6
cmp r14d, 0x18
jae 0x14003bcb6
mov rcx, qword [r15 + 0x38]
lea rdx, [rsp + 0x60]
call fcn.140029498
xor ebx, ebx
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
jmp 0x140039f1c
movsd xmm1, qword [rbx]
xorps xmm0, xmm0
cvtsi2sd xmm0, r13
comisd xmm1, xmm0
jae 0x140039dd0
test r14b, 1
lea eax, [r14 - 1]
cmove eax, r14d
mov r14d, eax
jmp 0x140039ddf
jbe 0x140039ddf
mov eax, 1
test al, r14b
jne 0x140039ddf
add r14d, eax
mov rcx, qword [r15 + 0x38]
lea rax, [rsp + 0x60]
xor r9d, r9d
mov qword [rsp + 0x20], rax
mov r8, r13
xor edx, edx
call fcn.140029500
xor ebx, ebx
mov dword [rsp + 0x34], eax
mov qword [r15 + 0x58], r13
mov esi, eax
test eax, eax
jne 0x140037f41
lea r13d, [rax + 1]
jmp 0x140039ea5
mov rax, qword [r15 + 0x38]
mov r12d, edx
mov bl, byte [rax + 3]
mov rax, qword [r15 + 0x40]
and bl, 2
mov qword [rbp + 0x18], rax
movzx eax, word [rdi + 0x10]
setne r12b
mov word [rbp + 0x28], ax
mov eax, r14d
and al, r13b
mov byte [rbp + 0x2e], dl
neg al
mov dword [rbp + 0x278], r12d
movsxd rax, dword [rdi + 0xc]
lea rdx, [rbp + 0x18]
sbb cl, cl
xor r9d, r9d
and cl, 0xfe
xor r8d, r8d
add cl, r13b
mov byte [rbp + 0x2a], cl
imul rcx, rax, 0x38
lea rax, [rsp + 0x60]
add rcx, r11
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x20], rcx
mov rcx, qword [r15 + 0x38]
call fcn.140029500
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
test bl, bl
je 0x140039ea3
xor ebx, ebx
mov dword [rbp + 0x278], r12d
cmp byte [rbp + 0x2e], bl
je 0x140039f1c
jmp 0x140039ea5
xor ebx, ebx
mov eax, dword [rsp + 0x60]
cmp r14d, 0x18
jl 0x140039ed2
test eax, eax
js 0x140039ec1
jne 0x140039ebb
cmp r14d, 0x19
je 0x140039ec1
mov dword [rsp + 0x60], ebx
jmp 0x140039f26
mov dword [rsp + 0x60], ebx
xor edx, edx
mov rcx, qword [r15 + 0x38]
call fcn.140029b40
jmp 0x140039efe
test eax, eax
jg 0x140039eef
jne 0x140039ede
cmp r14d, 0x16
je 0x140039eef
mov rax, qword [r15 + 0x38]
mov ecx, ebx
cmp byte [rax], bl
setne cl
mov dword [rsp + 0x60], ecx
jmp 0x140039f1c
mov dword [rsp + 0x60], ebx
xor edx, edx
mov rcx, qword [r15 + 0x38]
call fcn.140029c98
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
je 0x140039f1c
cmp eax, 0x65
jne 0x140037f41
mov dword [rsp + 0x60], r13d
mov esi, ebx
mov dword [rsp + 0x34], ebx
cmp dword [rsp + 0x60], ebx
jne 0x14003bcb6
cmp dword [rbp + 0x278], ebx
lea rax, [rdi + 0x18]
cmove rax, rdi
mov rdi, rax
jmp 0x140037c9d
mov rax, qword [r10 + 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.0x1400372c3.86
mov rax, qword [r10 + 0x78]
movsxd rcx, dword [rdi + 4]
mov rcx, qword [rax + rcx*8]
mov eax, 8
test byte [rcx + 8], al
jne case.0x1400372c3.86
mov rax, qword [r10 + 0x78]
xor r12d, r12d
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rsi, rax, 0x38
add rsi, r11
cmp dword [rdi + 0x10], r12d
jle 0x140039fbf
mov rax, qword [r14 + 0x40]
lea rbx, [rbp + 0x90]
mov qword [rbp + 0x90], rax
mov r15d, r12d
movzx eax, word [rdi + 0x10]
mov word [rbp + 0xa0], ax
mov qword [rbp + 0x98], rsi
jmp 0x14003a00a
mov eax, 0x4000
test word [rsi + 8], ax
je 0x140039fd4
mov rcx, rsi
call fcn.14003016c
jmp 0x140039fd7
mov eax, r12d
test eax, eax
jne 0x14003c8a7
mov rcx, qword [r14 + 0x40]
call fcn.1400341c4
mov rbx, rax
mov r15, rax
test rax, rax
je 0x14003c8a7
mov r8, qword [rsi + 0x10]
mov r9, rax
mov edx, dword [rsi + 0xc]
mov rcx, qword [r14 + 0x40]
call fcn.14003421c
mov byte [rbx + 0x12], r12b
cmp byte [rdi], 0x1b
jne 0x14003a03c
movzx edx, word [rbx + 0x10]
xor eax, eax
mov ecx, eax
test edx, edx
je 0x14003a03c
mov rax, qword [rbx + 8]
add rax, 8
test byte [rax], r13b
jne 0x14003a039
add ecx, r13d
add rax, 0x38
cmp ecx, edx
jl 0x14003a027
jmp 0x14003a03c
mov r12d, r13d
mov rcx, qword [r14 + 0x38]
lea rax, [rbp - 0x40]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rbx
call fcn.140029500
xor ebx, ebx
mov dword [rsp + 0x34], eax
mov esi, eax
test r15, r15
je 0x14003a071
mov rcx, qword [rsp + 0x40]
mov rdx, r15
call fcn.1400160a0
test esi, esi
jne 0x140037f41
mov eax, dword [rbp - 0x40]
mov ecx, ebx
mov dword [r14 + 0x2c], eax
mov eax, dword [rbp - 0x40]
test eax, eax
mov byte [r14 + 3], bl
sete cl
mov dword [r14 + 0x28], ebx
test eax, eax
setne al
mov byte [r14 + 2], al
cmp byte [rdi], 0x1d
jne 0x14003a0b2
mov r15, qword [rsp + 0x48]
test ecx, ecx
jne 0x140037e9b
jmp 0x1400378d1
test r12d, r12d
jne 0x14003bcb6
mov r15, qword [rsp + 0x48]
test ecx, ecx
je 0x140037e9b
jmp 0x1400378d1
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r11
test byte [rcx + 8], 0x24
jne case.0x1400372c3.31
movups xmm0, xmmword [rcx]
mov r8b, r9b
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x110], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + 0x120], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0x110]
movups xmmword [rbp + reloc.WLDAP32.dll_Ordinal_304], xmm0
movsd qword [rbp + 0x140], xmm1
call fcn.140037020
mov eax, 4
test byte [rbp + 0x118], al
je 0x140037e9b
mov r14, qword [rbp + 0x110]
mov r10, qword [rbp + 0x260]
jmp 0x14003a149
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r14, qword [rcx + r11]
movsxd rcx, dword [rdi + 4]
xor r9d, r9d
mov rax, qword [r10 + 0x78]
mov r8, r14
xor edx, edx
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x6c], eax
lea rax, [rbp - 0x6c]
mov qword [rsp + 0x20], rax
call fcn.140029500
mov qword [rbx + 0x58], r14
mov esi, eax
mov dword [rsp + 0x34], eax
xor eax, eax
mov word [rbx + 2], ax
mov dword [rbx + 0x28], eax
mov eax, dword [rbp - 0x6c]
mov dword [rbx + 0x2c], eax
xor ebx, ebx
cmp dword [rbp - 0x6c], ebx
je 0x140037f39
cmp dword [rdi + 8], ebx
jne 0x140037e9b
mov r9d, 0x159cf
jmp 0x14003c48a
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
movsxd rdx, dword [rdi + 4]
mov r10, qword [rbp + 0x260]
mov rcx, qword [r10 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rdi + 4]
mov rax, qword [r10 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r13
jmp 0x1400374a5
xor ebx, ebx
mov rdx, rdi
mov rcx, r10
mov qword [rbp - 0x80], rbx
mov dword [rbp + 0x278], ebx
call fcn.1400371a8
mov r12, qword [rbp + 0x260]
lea r8d, [rbx + 2]
movsxd rdx, dword [rdi + 4]
mov r15, rax
mov rcx, qword [r12 + 0x78]
mov r14, qword [rcx + rdx*8]
test byte [r14 + 8], r8b
jne 0x14003a28a
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp + 0x278]
call fcn.140029498
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f48
cmp dword [rbp + 0x278], ebx
je 0x14003a24a
mov qword [rbp - 0x80], r13
jmp 0x14003a284
mov rbx, qword [r14 + 0x38]
mov rcx, rbx
call fcn.140028bdc
mov rax, qword [rbx + 0x30]
movabs rcx, 0x7fffffffffffffff
mov qword [rbp - 0x80], rax
cmp rax, rcx
jl 0x14003a27b
mov r8d, 2
or dword [r14 + 8], r8d
xor ebx, ebx
jmp 0x14003a28a
inc rax
mov qword [rbp - 0x80], rax
xor ebx, ebx
mov r8d, 2
movsxd rdx, dword [rdi + 0xc]
test edx, edx
je 0x14003a305
mov rcx, qword [r12 + 0x100]
test rcx, rcx
je 0x14003a2bb
mov rax, qword [rcx + 8]
jmp 0x14003a2ac
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003a2a5
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x14003a2c4
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.14003062c
mov rax, qword [rbx]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14003a36b
mov r8d, 2
test byte [r14 + 8], r8b
jne 0x14003a36b
mov rcx, qword [rbp - 0x80]
inc rax
cmp rcx, rax
cmovl rcx, rax
mov qword [rbp - 0x80], rcx
mov qword [rbx], rcx
xor ebx, ebx
test byte [r14 + 8], r8b
je 0x14003a375
lea rdx, [rbp - 0x80]
mov ecx, 8
call fcn.140017fa8
mov r8, qword [rbp - 0x80]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
add r8, r13
lea rax, [rbp + 0x278]
mov qword [rbp - 0x80], r8
xor edx, edx
mov rcx, qword [r14 + 0x38]
mov qword [rsp + 0x20], rax
call fcn.140029500
mov esi, eax
mov dword [rsp + 0x34], eax
xor eax, eax
test esi, esi
jne 0x140037f48
cmp dword [rbp + 0x278], eax
jne 0x14003a375
add ebx, r13d
cmp ebx, 0x64
jl 0x14003a30b
mov esi, reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x140037f48
xor ebx, ebx
mov byte [r14 + 3], bl
mov dword [r14 + 0x28], ebx
mov rax, qword [rbp - 0x80]
mov qword [r15], rax
jmp 0x140037c9d
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r10 + 0x78]
add rdx, r11
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r8, qword [rcx + r11]
xor r11d, r11d
cmp byte [rdi + 1], 0xfa
mov qword [rbp + 0xb0], r8
jne 0x14003a3e0
cmp qword [r12 + 0x120], r11
je 0x14003a3e0
movsx rcx, byte [rbx + 1]
mov rax, qword [r12 + 0x20]
mov r14, qword [rdi + 0x10]
shl rcx, 5
mov r15, qword [rcx + rax]
jmp 0x14003a3e6
mov r14, r11
mov r15, r11
movzx ecx, word [rdi + 2]
test r13b, cl
je 0x14003a3f7
add dword [r10 + 0x3c], r13d
movzx ecx, word [rdi + 2]
mov eax, Ordinal_36
test al, cl
je 0x14003a409
mov qword [r12 + 0x38], r8
movzx ecx, word [rdi + 2]
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0xb8], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp + 0xcc], eax
mov eax, 0x10
test al, cl
je 0x14003a42c
mov r9d, dword [rbx + 0x2c]
jmp 0x14003a42f
mov r9d, r11d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x14003a444
mov eax, dword [rdx]
mov dword [rbp + 0xd0], eax
jmp 0x14003a44b
mov dword [rbp + 0xd0], r11d
movzx r8d, cx
lea rdx, [rbp + 0xa8]
mov qword [rbp + 0xa8], r11
and r8d, 0xa
mov rcx, qword [rbx + 0x38]
call fcn.14002d4d4
mov esi, eax
mov dword [rsp + 0x34], eax
xor eax, eax
mov byte [rbx + 3], al
mov dword [rbx + 0x28], eax
xor ebx, ebx
test esi, esi
jne 0x140037f41
test r14, r14
je 0x14003c206
mov al, byte [rdi + 2]
mov r8, r15
mov r9, qword [r14]
and al, 4
mov rcx, qword [r12 + 0x118]
neg al
mov rax, qword [rbp + 0xb0]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r12 + 0x120]
jmp 0x14003767a
movsxd rcx, dword [rdi + 4]
xor ebx, ebx
cmp byte [rdi + 1], 0xfa
mov rax, qword [r10 + 0x78]
mov r13d, dword [rdi + 8]
mov r14, qword [rax + rcx*8]
jne 0x14003a51f
cmp qword [r12 + 0x120], rbx
je 0x14003a51f
mov rax, qword [r12 + 0x20]
movsx rcx, byte [r14 + 1]
mov r15, qword [rdi + 0x10]
shl rcx, 5
mov r12, qword [rcx + rax]
lea eax, [rbx + 2]
test byte [rdi + 2], al
je 0x14003a525
cmp byte [r14 + 4], bl
je 0x14003a525
mov rbx, qword [r14 + 0x38]
mov rcx, rbx
call fcn.140028bdc
mov rax, qword [rbx + 0x30]
xor ebx, ebx
mov qword [r14 + 0x58], rax
jmp 0x14003a525
mov r12, rbx
mov r15, rbx
mov dl, byte [rdi + 2]
mov rcx, qword [r14 + 0x38]
call fcn.14002d900
and qword [r14 + 0x28], 0
mov esi, eax
mov dword [rsp + 0x34], eax
test eax, eax
jne 0x140037f41
test r13b, 1
lea r13d, [rax + 1]
je 0x14003c1f2
mov rax, qword [rbp + 0x260]
mov r8, qword [rsp + 0x40]
add dword [rax + 0x3c], r13d
mov r10, qword [r8 + 0x120]
test r10, r10
je 0x14003c203
lea eax, [rsi + 0x20]
test byte [r15 + 0x40], al
jne 0x14003c203
mov rax, qword [r14 + 0x58]
lea edx, [rsi + 9]
mov r9, qword [r15]
mov r8, r12
mov r12, qword [rsp + 0x40]
mov qword [rsp + 0x20], rax
mov rcx, qword [r12 + 0x118]
call r10
jmp 0x14003767a
mov eax, dword [r10 + 0x3c]
add dword [r12 + 0x78], eax
mov dword [r12 + 0x74], eax
xor eax, eax
mov dword [r10 + 0x3c], eax
jmp case.0x1400372c3.86
mov rax, qword [r10 + 0x78]
lea r9, [rbp - 0x3c]
movsxd rcx, dword [rdi + 4]
xor ebx, ebx
mov r8d, dword [rdi + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rdx, rax, 0x38
mov dword [rbp - 0x3c], ebx
add rdx, r11
call fcn.14003f0e0
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
cmp dword [rbp - 0x3c], ebx
jne 0x140037e9b
jmp 0x140037d09
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r10 + 0x78]
add rdx, r11
mov rcx, qword [rax + rcx*8]
call fcn.14003f034
xor ebx, ebx
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
movsxd rcx, dword [rdi + 0xc]
mov r10, qword [rbp + 0x260]
mov rax, qword [r10 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], ebx
jmp 0x1400378dd
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
movsxd rdx, dword [rdi + 4]
mov rbx, rax
mov r12, qword [rbp + 0x260]
mov rcx, qword [r12 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rsi, qword [rdx + 0x38]
mov rcx, rsi
call fcn.140028bdc
mov rax, qword [rsp + 0x40]
mov r8d, dword [rsi + 0x40]
cmp r8d, dword [rax + 0x7c]
ja 0x14003b7f3
mov r9, rbx
xor edx, edx
mov rcx, rsi
call fcn.140030ec8
xor r14d, r14d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f48
cmp dword [rdi + 0xc], r14d
jne 0x14003c1f2
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14003c1f2
mov rcx, rbx
call fcn.140030110
test eax, eax
je 0x1400378d1
mov bl, byte [rbp + 0x270]
mov r14d, 7
mov rcx, qword [rsp + 0x40]
call fcn.1400165e0
lea rdx, str.out_of_memory
mov rcx, r12
call fcn.140031518
mov esi, r14d
jmp 0x140037f54
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
movsxd rdx, dword [rdi + 4]
mov r14, rax
mov r10, qword [rbp + 0x260]
mov rcx, qword [r10 + 0x78]
mov rbx, qword [rcx + rdx*8]
xor edx, edx
cmp byte [rbx + 2], dl
je 0x14003a732
mov word [rax + 8], r13w
jmp 0x1400378dd
cmp byte [rbx + 3], dl
je 0x14003a740
mov rax, qword [rbx + 0x58]
jmp 0x14003a7de
mov eax, 2
cmp byte [rbx], al
jne 0x14003a788
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp - 0x18]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_96]
mov r12, qword [rbp + 0x260]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.1400350fc
test esi, esi
jne 0x140037f48
mov rax, qword [rbp - 0x18]
mov r10, r12
mov r12, qword [rsp + 0x40]
jmp 0x14003a7e2
mov rax, qword [rbx + 0x38]
xor esi, esi
cmp byte [rax], sil
je 0x14003a7aa
mov rcx, rbx
call fcn.140033ea8
mov r10, qword [rbp + 0x260]
mov esi, eax
mov dword [rsp + 0x34], eax
jmp 0x14003a7ae
mov dword [rsp + 0x34], esi
xor edx, edx
test esi, esi
jne 0x140037f41
cmp byte [rbx + 2], dl
je 0x14003a7c7
mov word [r14 + 8], r13w
jmp 0x1400378dd
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.140028bdc
mov rax, qword [rbx + 0x30]
mov r10, qword [rbp + 0x260]
mov qword [rbp - 0x18], rax
mov qword [r14], rax
jmp 0x1400378dd
movsxd rcx, dword [rdi + 4]
xor r14d, r14d
mov rax, qword [r10 + 0x78]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 2], r13b
mov dword [rbx + 0x28], r14d
cmp byte [rbx], r14b
jne 0x14003c20b
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x18]
call fcn.140016048
mov qword [rbx + 0x18], r14
mov byte [rbx], r13b
jmp 0x140037d09
movsxd rcx, dword [rdi + 4]
xor edx, edx
mov rax, qword [r10 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x68], edx
cmp r14b, 0x82
jne 0x14003a84a
or dword [rbx + 0x2c], 0xffffffff
cmp byte [rcx], dl
je 0x14003c20b
lea rdx, [rbp - 0x68]
call fcn.140029498
mov esi, eax
mov dword [rsp + 0x34], eax
mov al, byte [rbp - 0x68]
mov byte [rbx + 2], al
xor eax, eax
mov byte [rbx + 3], al
mov dword [rbx + 0x28], eax
xor ebx, ebx
test esi, esi
jne 0x140037f41
cmp dword [rdi + 8], ebx
jle 0x14003c206
cmp dword [rbp - 0x68], ebx
jmp 0x14003a5f9
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x78]
mov rax, qword [r10 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.140029458
xor r14d, r14d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
cmp dword [rbp - 0x78], r14d
jne 0x140037e9b
mov rcx, rbx
call fcn.1400299e4
test rax, rax
js 0x14003a8e0
mov rcx, rax
call fcn.140019900
movsx ecx, ax
mov eax, dword [rbp - 0x78]
cmp ecx, dword [rdi + 0xc]
cmovl eax, r13d
mov dword [rbp - 0x78], eax
jmp 0x14003a8e3
mov eax, dword [rbp - 0x78]
test eax, eax
jmp 0x14003a5f9
add dword [r10 + 0xdc], r13d
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x74]
mov rax, qword [r10 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x74], r13d
cmp byte [rbx], r13b
jne 0x14003a917
mov rcx, rbx
call fcn.14003ef3c
xor r14d, r14d
jmp 0x14003a92b
mov rcx, qword [rbx + 0x38]
call fcn.140029458
xor r14d, r14d
mov byte [rbx + 3], r14b
mov dword [rbx + 0x28], r14d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
mov al, byte [rbp - 0x74]
mov byte [rbx + 2], al
cmp dword [rbp - 0x74], r14d
jmp 0x14003a5f9
movsxd rcx, dword [rdi + 4]
mov rax, qword [r10 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r12
mov rdx, rbx
call fcn.14003efa4
jmp 0x14003a977
movsxd rcx, dword [rdi + 4]
mov rax, qword [r10 + 0x78]
mov edx, dword [rdi + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
call qword [rdi + 0x10]
mov dword [rsp + 0x34], eax
mov esi, eax
xor eax, eax
mov dword [rbx + 0x28], eax
test esi, esi
jne 0x14003a9a1
mov r10, qword [rbp + 0x260]
mov byte [rbx + 2], al
movzx eax, word [rdi + 2]
add dword [r10 + rax*4 + 0xd4], r13d
jmp case.0x1400372c3.11
cmp esi, 0x65
jne 0x140037f41
mov esi, eax
mov dword [rsp + 0x34], eax
mov byte [rbx + 2], r13b
mov r10, qword [rbp + 0x260]
mov eax, dword [r12 + 0x160]
test eax, eax
je 0x1400378dd
mov bl, byte [rbp + 0x270]
mov al, byte [r12 + 0x61]
neg al
sbb esi, esi
and esi, 0xfffffffe
add esi, 9
mov ecx, esi
mov dword [r10 + 0x38], esi
call fcn.1400801e4
mov r12, qword [rbp + 0x260]
lea rdx, [0x14010beb0]
mov rcx, r12
mov r8, rax
call fcn.140031518
jmp 0x140037f4e
mov rax, qword [r10 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, r11
test byte [rdi + 2], r13b
je 0x14003aa2a
add dword [r10 + 0x3c], r13d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003aa44
mov rcx, rbx
call fcn.14003016c
mov r11, qword [rsp + 0x38]
jmp 0x14003aa46
xor eax, eax
mov esi, eax
test eax, eax
jne 0x140037f41
cmp byte [rdi], 0x83
jne 0x14003aa64
mov rdx, rbx
mov rcx, r14
call fcn.14003e690
xor ebx, ebx
jmp 0x14003aac9
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [rdi + 2]
mov qword [rbp + 0x150], rax
mov rax, qword [rbx + 0x10]
xor ebx, ebx
mov qword [rbp + 0x148], rax
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rdi + 0x10]
add rcx, r11
mov word [rbp + 0x168], ax
mov eax, 0x10
mov qword [rbp + 0x160], rcx
test al, r8b
je 0x14003aaae
mov r9d, dword [r14 + 0x2c]
jmp 0x14003aab1
mov r9d, ebx
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp + 0x148]
and r8d, 0xa
call fcn.14002d4d4
mov dword [r14 + 0x28], ebx
mov dword [rsp + 0x34], eax
mov esi, eax
jmp 0x140037f39
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp + 0x60]
mov rax, qword [r10 + 0x78]
xor r9d, r9d
xor r8d, r8d
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x40]
mov r14, qword [rbx + 0x38]
mov qword [rbp + 0x60], rax
movzx eax, word [rdi + 0xc]
mov word [rbp + 0x70], ax
xor eax, eax
mov byte [rbp + 0x72], al
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
lea rax, [rbp - 4]
add rcx, r11
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x68], rcx
mov rcx, r14
call fcn.140029500
mov esi, eax
mov dword [rsp + 0x34], eax
xor eax, eax
test esi, esi
jne 0x140037f41
cmp dword [rbp - 4], eax
jne 0x14003ab51
lea edx, [rsi + 4]
mov rcx, r14
call fcn.14002d900
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
and qword [rbx + 0x28], 0
jmp 0x140037d09
movsxd rcx, dword [rdi + 4]
mov rax, qword [r10 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, rbx
call fcn.140033ef8
xor r14d, r14d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
cmp byte [rbx + 2], r14b
jne 0x14003abf9
mov qword [rbp - 0x10], r14
lea r8, [rbp - 0x10]
mov rdx, qword [rbx + 0x38]
mov rcx, r12
call fcn.140034edc
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
cmp byte [rdi], 0x86
jne 0x14003abe1
movsxd rcx, dword [rdi + 0xc]
mov r10, qword [rbp + 0x260]
mov rax, qword [r10 + 0x78]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r14b
mov rax, qword [rbp - 0x10]
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 0x1400378dd
mov rcx, qword [rbp + 0x260]
mov rdx, rdi
call fcn.1400371a8
mov rcx, qword [rbp - 0x10]
jmp 0x140039201
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x38]
call fcn.140030854
jmp 0x140037d09
movsxd rcx, dword [rdi + 4]
lea r9, [rbp - 0x70]
mov rax, qword [r10 + 0x78]
lea r8, [rbp + 0x78]
cmp r14b, 0x27
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x40]
mov qword [rbp + 0x78], rax
movzx eax, word [rdi + 0x10]
mov word [rbp + 0x88], ax
sbb al, al
mov byte [rbp + 0x8a], al
xor ebx, ebx
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov dword [rbp - 0x70], ebx
add rcx, r11
mov qword [rbp + 0x80], rcx
mov rcx, r12
call fcn.140035014
mov esi, eax
mov dword [rsp + 0x34], eax
mov eax, dword [rbp - 0x70]
test byte [rdi], r13b
je 0x14003ac74
neg eax
jmp 0x14003ac76
inc eax
mov dword [rbp - 0x70], eax
test esi, esi
jne 0x140037f41
test eax, eax
jg 0x140037e9b
jmp 0x140037d09
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
mov rbx, rax
mov word [rax + 8], r13w
mov ecx, dword [r12 + 0xd8]
add ecx, r13d
cmp dword [r12 + 0xcc], ecx
jg 0x14003c5a4
movsxd r14, dword [rdi + 0xc]
lea r8, [rbp - 0x64]
mov rcx, qword [r12 + 0x20]
xor eax, eax
mov edx, dword [rdi + 4]
mov r9, r14
shl r9, 5
mov dword [rbp - 0x64], eax
mov rcx, qword [r9 + rcx + 8]
call fcn.14002e41c
mov esi, eax
mov dword [rsp + 0x34], eax
mov eax, 4
mov word [rbx + 8], ax
movsxd rax, dword [rbp - 0x64]
mov qword [rbx], rax
xor ebx, ebx
test esi, esi
jne 0x140037f41
mov r8d, dword [rbp - 0x64]
test r8d, r8d
je 0x14003c206
mov r9d, dword [rdi + 4]
mov edx, r14d
mov rcx, r12
call fcn.14004f6f8
lea edx, [r14 + r13]
mov byte [rbp + 0x270], dl
jmp 0x140037d09
mov eax, dword [rdi + 0xc]
xor ebx, ebx
mov rcx, qword [r12 + 0x20]
neg eax
mov edx, dword [rdi + 4]
lea rax, [rsp + 0x50]
sbb r8, r8
mov dword [rsp + 0x50], ebx
and r8, rax
movsxd rax, dword [rdi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002e188
mov esi, eax
mov r10, qword [rbp + 0x260]
mov r11, qword [rsp + 0x38]
mov dword [rsp + 0x34], eax
cmp dword [rdi + 0xc], ebx
je 0x14003ad8c
movsxd rdx, dword [rsp + 0x50]
add dword [r10 + 0x3c], edx
cmp dword [rdi + 0xc], ebx
jle 0x14003ad8c
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add qword [rcx + r11], rdx
test esi, esi
jne 0x140037f41
jmp 0x140037478
movsxd rcx, dword [rdi + 4]
mov rax, qword [r10 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r13b
jne 0x14003adbb
mov rdx, qword [rcx + 0x38]
mov rcx, r12
call fcn.14003dd30
jmp 0x14003749e
mov rcx, qword [rcx + 0x38]
call fcn.14002e20c
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
jmp 0x14003749e
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x38]
mov r8d, dword [rdi + 0xc]
mov rbx, rax
shl rcx, 5
xor eax, eax
add rcx, qword [r12 + 0x20]
mov dword [rbp - 0x38], eax
mov rcx, qword [rcx + 8]
call fcn.14002df78
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140037f41
movsxd rax, dword [rbp - 0x38]
jmp 0x1400385ca
add byte [r12 + 0x6a], r13b
xor ebx, ebx
mov rdx, qword [rdi + 0x10]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], rbx
mov rcx, r12
call fcn.14005c158
dec byte [r12 + 0x6a]
jmp 0x140039c64
mov rcx, qword [rdi + 0x10]
xor esi, esi
movsxd rbx, dword [rdi + 4]
test rcx, rcx
jne 0x14003aeb3
mov rcx, qword [r12 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1400532b0
and dword [r12 + 0x2c], 0xffffffef
mov r9d, r13d
mov r8, qword [rbp + 0x260]
mov edx, ebx
mov r12, qword [rsp + 0x40]
add r8, 0xa8
mov rcx, r12
call fcn.14006044c
or dword [r12 + 0x2c], r13d
mov esi, eax
mov r10, qword [rbp + 0x260]
mov dword [rsp + 0x34], eax
and dword [r10 + 0xc8], 0xfffffffc
xor ebx, ebx
jmp 0x14003af70
mov r8, qword [r12 + 0x20]
lea rax, [r10 + 0xa8]
mov qword [rbp + 0x38], rax
lea r9, str.sqlite_master
mov qword [rbp + 0x30], r12
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov dword [rbp + 0x40], ebx
mov rax, rbx
shl rax, 5
mov dword [rbp + 0x48], esi
mov qword [rsp + 0x20], rcx
mov rcx, r12
mov r8, qword [rax + r8]
call fcn.140017d70
mov rbx, rax
test rax, rax
je 0x14003c5c0
lea r9, [rbp + 0x30]
mov byte [r12 + 0xb5], r13b
lea r8, [fcn.14006025c]
mov dword [rbp + 0x44], esi
mov rdx, rax
mov dword [rbp + 0x4c], esi
mov rcx, r12
mov qword [rsp + 0x20], rsi
call fcn.14005c158
mov esi, eax
mov dword [rsp + 0x34], eax
xor eax, eax
test esi, esi
jne 0x14003af54
mov esi, dword [rbp + 0x44]
mov dword [rsp + 0x34], esi
test esi, esi
jne 0x14003af54
cmp dword [rbp + 0x4c], eax
jne 0x14003af54
mov ecx, 0x15f51
call fcn.140081d40
mov esi, eax
mov dword [rsp + 0x34], eax
mov rdx, rbx
mov rcx, r12
call fcn.1400160a0
mov r10, qword [rbp + 0x260]
xor ebx, ebx
mov byte [r12 + 0xb5], bl
test esi, esi
jne 0x14003c5c5
jmp 0x1400378dd
mov edx, dword [rdi + 4]
mov rcx, r12
call fcn.14004b6b0
jmp 0x14003adc4
mov r8, qword [rdi + 0x10]
mov rcx, r12
mov edx, dword [rdi + 4]
call fcn.14004d180
jmp 0x14003749e
mov r8, qword [rdi + 0x10]
mov rcx, r12
mov edx, dword [rdi + 4]
call fcn.14004cc78
jmp 0x14003749e
mov r8, qword [rdi + 0x10]
mov rcx, r12
mov edx, dword [rdi + 4]
call fcn.14006a2ac
jmp 0x14003749e
movsxd rax, dword [rdi + 0xc]
lea r8, [rbp - 8]
mov rcx, qword [r12 + 0x20]
mov rdx, qword [rdi + 0x10]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 4]
add rdx, 4
imul rbx, rax, 0x38
movzx eax, word [rdi + 2]
add r14, r11
shl rax, 5
add rbx, r11
mov qword [rsp + 0x20], r8
mov r8d, dword [rdi + 8]
mov r9d, dword [r14]
mov rcx, qword [rax + rcx + 8]
add r9d, r13d
call fcn.14002f060
mov rcx, rbx
mov r15, rax
call fcn.140030854
mov ecx, dword [rbp - 8]
test ecx, ecx
je 0x14003b052
test r15, r15
je 0x14003c8a7
dec ecx
lea rax, [fcn.140016048]
movsxd rdx, ecx
mov r9b, r13b
sub qword [r14], rdx
or r8d, 0xffffffff
mov rdx, r15
mov qword [rsp + 0x20], rax
mov rcx, rbx
call fcn.140030bdc
mov eax, 2
test byte [rbx + 8], al
je 0x14003c206
movzx edx, byte [rbp + 0x268]
mov rcx, rbx
call fcn.14002ff54
jmp 0x14003767a
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul r14, rax, 0x38
add rbx, r11
mov eax, 0x10
add r14, r11
test byte [rbx + 8], al
jne 0x14003b0a4
mov rcx, rbx
call fcn.14003098c
test eax, eax
jne 0x14003c8a7
mov rdx, qword [r14]
mov rcx, qword [rbx + 0x10]
call fcn.14001e284
jmp 0x140037d09
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 0x10
add rbx, r11
test byte [rbx + 8], al
je 0x14003b0f6
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x50]
call fcn.14001e4f4
test eax, eax
je 0x14003b0f6
movsxd rax, dword [rdi + 0xc]
mov rdx, qword [rbp + 0x50]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x38]
call fcn.1400308f8
jmp 0x14003a9b4
mov rcx, rbx
call fcn.140030854
jmp 0x14003be29
movsxd rax, dword [rdi + 4]
mov r14d, dword [rdi + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul r15, rax, 0x38
add rbx, r11
mov eax, 0x10
add r15, r11
test byte [rbx + 8], al
jne 0x14003b137
mov rcx, rbx
call fcn.14003098c
test eax, eax
jne 0x14003c8a7
test r14d, r14d
je 0x14003b156
mov r8, qword [r15]
mov edx, r14d
mov rcx, qword [rbx + 0x10]
call fcn.14001e564
test eax, eax
jne 0x14003bcb6
test r14d, r14d
js 0x14003767a
mov rdx, qword [r15]
mov rcx, qword [rbx + 0x10]
call fcn.14001e284
jmp 0x14003767a
movsxd rax, dword [rdi + 0xc]
xor ebx, ebx
mov r13, qword [rdi + 0x10]
imul r14, rax, 0x38
add r14, r11
cmp word [rdi + 2], bx
je 0x14003b1ac
mov rax, qword [r10 + 0x100]
mov rcx, qword [r13 + 0x20]
test rax, rax
je 0x14003b1ac
cmp qword [rax + 0x38], rcx
je 0x14003b1a3
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003b194
test rax, rax
jne 0x14003c368
mov eax, dword [r10 + 0x110]
cmp eax, dword [r12 + 0xa4]
jge 0x14003c5ee
mov ecx, 0x10
test byte [r14 + 8], cl
jne 0x14003b2f3
mov edx, dword [r13 + 0x10]
mov ecx, dword [r13 + 0xc]
add ecx, edx
test edx, edx
lea r15d, [rcx + 1]
cmovne r15d, ecx
lea eax, [r15 + 2]
imul ecx, eax, 7
mov eax, dword [r13 + 8]
add ecx, edx
mov edx, 7
add eax, edx
jns 0x14003b1fc
add eax, edx
sar eax, 3
lea r12d, [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
movsxd rdx, r12d
call fcn.1400162a4
mov rbx, rax
test rax, rax
je 0x14003c8a7
mov rcx, r14
call fcn.140030498
mov r10, qword [rbp + 0x260]
mov eax, 0x410
sub rdi, qword [rsp + 0x48]
mov r9d, 2
mov word [r14 + 8], ax
lea rax, [0x140032630]
mov qword [r14 + 0x30], rax
movabs rax, 0x2aaaaaaaaaaaaaab
mov dword [r14 + 0xc], r12d
mov r12, qword [rsp + 0x40]
mov qword [r14 + 0x10], rbx
imul rdi
mov qword [rbx], r10
mov dword [rbx + 0x60], r15d
mov ecx, dword [r13 + 0x10]
mov dword [rbx + 0x64], ecx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rbx + 0x54], edx
mov rax, qword [r10 + 0x68]
mov qword [rbx + 0x20], rax
mov eax, dword [r10 + 0x28]
mov dword [rbx + 0x5c], eax
mov rax, qword [r10 + 0x78]
mov qword [rbx + 0x28], rax
mov eax, dword [r10 + 0x2c]
mov dword [rbx + 0x50], eax
mov rax, qword [r10 + 0x88]
mov qword [rbx + 0x10], rax
mov eax, dword [r10 + 0x90]
mov dword [rbx + 0x58], eax
mov rax, qword [r13 + 0x20]
mov qword [rbx + 0x38], rax
movsxd rax, r15d
add rax, r9
imul rcx, rax, 0x38
lea rax, [rbx + 0x70]
add rcx, rbx
cmp rax, rcx
je 0x14003b2ea
lea edx, [r9 + 0x7e]
mov word [rax + 8], dx
mov qword [rax + 0x28], r12
add rax, 0x38
cmp rax, rcx
jne 0x14003b2d9
mov eax, dword [r10 + 0x110]
jmp 0x14003b2f7
mov rbx, qword [r14 + 0x10]
inc eax
lea rdx, [rbx + 0x70]
mov dword [r10 + 0x110], eax
mov r8d, 7
mov rax, qword [r10 + 0x100]
mov qword [rbx + 8], rax
mov rax, qword [r12 + 0x38]
mov qword [rbx + 0x40], rax
mov eax, dword [r10 + 0x3c]
mov dword [rbx + 0x68], eax
mov rax, qword [r10]
mov qword [rsp + 0x38], rdx
mov ecx, dword [rax + 0x74]
mov dword [rbx + 0x6c], ecx
mov rax, qword [r10 + 0x120]
mov qword [rbx + 0x48], rax
xor eax, eax
mov qword [r10 + 0x120], rax
mov dword [r10 + 0x3c], eax
mov qword [r10 + 0x68], rdx
mov qword [r10 + 0x100], rbx
movsxd rcx, dword [rbx + 0x60]
mov dword [r10 + 0x28], ecx
movzx eax, word [rbx + 0x64]
mov dword [r10 + 0x2c], eax
imul rcx, rcx, 0x38
add rdx, rcx
mov qword [r10 + 0x78], rdx
movsxd rax, dword [r13 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rbx + 0x30], rcx
mov eax, dword [r13 + 8]
add eax, r8d
cdq
and edx, r8d
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call fcn.1400c3c80
mov r15, qword [r13]
mov r10, qword [rbp + 0x260]
mov qword [rsp + 0x48], r15
lea rdi, [r15 - 0x18]
mov qword [r10 + 0x88], r15
mov eax, dword [r13 + 8]
mov r13d, 1
mov dword [r10 + 0x90], eax
jmp 0x14003a9bb
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
mov r12, qword [rbp + 0x260]
mov r9, qword [r12 + 0x100]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
add r8d, dword [rdi + 4]
movsxd rcx, r8d
mov r8d, 0x1000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
call fcn.140030ab8
jmp 0x14003976c
mov eax, dword [r12 + 0x30]
bt rax, 0x13
jae 0x14003b432
movsxd rax, dword [rdi + 8]
add qword [r12 + 0x290], rax
jmp case.0x1400372c3.86
xor eax, eax
lea rcx, [0x140000000]
cmp dword [rdi + 4], eax
movsxd rax, dword [rdi + 8]
je 0x14003b451
add qword [r12 + 0x288], rax
jmp case.default.0x1400372c3
add qword [r10 + 0x50], rax
jmp case.default.0x1400372c3
xor ebx, ebx
cmp dword [rdi + 4], ebx
je 0x14003b482
cmp qword [r12 + 0x288], rbx
jne 0x14003c36e
cmp qword [r12 + 0x290], rbx
je 0x14003c30b
jmp 0x14003c36e
cmp qword [r10 + 0x50], rbx
jmp 0x14003b469
mov rcx, qword [r10 + 0x100]
test rcx, rcx
je 0x14003b4b4
mov rax, qword [rcx + 8]
jmp 0x14003b4a1
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14003b49a
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, qword [rcx + 0x20]
jmp 0x14003b4bf
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, r11
mov rcx, r14
call fcn.14003062c
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x38]
mov rcx, rbx
call fcn.14003062c
mov rax, qword [rbx]
mov r8d, dword [rsp + 0x30]
cmp qword [r14], rax
jge 0x14003c20b
mov r11, qword [rsp + 0x38]
mov qword [r14], rax
jmp 0x1400383e0
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r11]
test rdx, rdx
jle case.0x1400372c3.86
movsxd rax, dword [rdi + 0xc]
sub rdx, rax
mov qword [rcx + r11], rdx
jmp 0x14003c30b
movsxd rax, dword [rdi + 4]
mov rdx, rdi
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
mov rcx, r10
imul r14, rax, 0x38
add rbx, r11
add r14, r11
call fcn.1400371a8
mov rcx, qword [rbx]
mov r15, rax
xor ebx, ebx
mov qword [rbp + 0x10], rcx
test rcx, rcx
jle 0x14003b574
mov rdx, qword [r14]
lea rcx, [rbp + 0x10]
test rdx, rdx
cmovle rdx, rbx
call fcn.140019774
test eax, eax
jne 0x14003b574
mov rax, qword [rbp + 0x10]
mov qword [r15], rax
jmp 0x14003767a
or qword [r15], 0xffffffffffffffff
jmp 0x14003767a
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
test rax, rax
je 0x14003c36e
jle 0x14003c30b
dec rax
mov qword [rcx + r11], rax
jmp 0x14003c30b
movsxd rax, dword [rdi + 4]
movabs rdx, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r11]
cmp rax, rdx
jle 0x14003b5c6
dec rax
mov qword [rcx + r11], rax
test rax, rax
jmp 0x1400386b9
movzx r14d, word [rdi + 2]
mov rcx, r12
mov r15d, r14d
lea rdx, [r14*8 + 0x68]
call fcn.140016314
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x14003c8a7
add r15, 6
mov qword [rbx + 0x10], rax
mov r8d, r13d
mov rdx, r12
lea rcx, [rbx + r15*8]
mov qword [rbx], rcx
call fcn.140030844
mov rcx, qword [rdi + 0x10]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r15, qword [rsp + 0x48]
mov r12, qword [rbp + 0x260]
mov r11, qword [rsp + 0x38]
mov qword [rbx + 8], rcx
mov rcx, rdi
sub rcx, r15
mov qword [rbx + 0x18], r12
imul rcx
mov byte [rbx + 0x29], r14b
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor ecx, ecx
mov dword [rbx + 0x20], edx
mov byte [rbx + 0x28], cl
mov dword [rbx + 0x24], ecx
mov word [rdi], 0xf09b
mov qword [rdi + 0x10], rbx
jmp 0x14003b66d
mov r12, qword [rbp + 0x260]
movsxd rax, dword [rdi + 0xc]
mov rbx, qword [rdi + 0x10]
imul rdx, rax, 0x38
add rdx, r11
cmp qword [rbx + 0x10], rdx
je 0x14003b6ce
movzx eax, byte [rbx + 0x29]
mov r8d, eax
mov qword [rbx + 0x10], rdx
sub r8, 1
lea r10d, [rax - 1]
js 0x14003b6ce
lea r9, [r8 + 6]
mov r12d, 8
lea r9, [rbx + r9*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 0x14003b6a5
mov r12, qword [rbp + 0x260]
mov r15, qword [rsp + 0x48]
add dword [rdx + 0xc], r13d
lea r8, [rbx + 0x30]
mov rax, qword [rbx + 8]
xor ecx, ecx
cmp dword [rdi + 4], ecx
mov rcx, rbx
movzx edx, byte [rbx + 0x29]
je 0x14003b6ed
call qword [rax + 0x30]
jmp 0x14003b6f0
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
xor r8d, r8d
test eax, eax
je 0x14003c1f2
jle 0x14003b724
mov rcx, qword [rbx]
call fcn.1400354e0
mov r8, rax
lea rdx, [0x14010beb0]
mov rcx, r12
call fcn.140031518
mov esi, dword [rbx + 0x24]
xor r8d, r8d
mov dword [rsp + 0x34], esi
cmp byte [rbx + 0x28], r8b
je 0x14003b74c
cmp dword [rdi - 0x14], r8d
je 0x14003b748
movsxd rax, dword [rdi - 0x14]
mov rdx, r13
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x38]
call fcn.1400308f8
xor r8d, r8d
mov byte [rbx + 0x28], r8b
mov rcx, qword [rbx]
call fcn.140030498
mov rax, qword [rbx]
xor edx, edx
mov word [rax + 8], r13w
mov dword [rbx + 0x24], edx
test esi, esi
jne 0x140037f48
jmp 0x1400378d1
movsxd rax, dword [rdi + 4]
xor r14d, r14d
imul rbx, rax, 0x38
add rbx, r11
mov rcx, rbx
cmp dword [rdi + 0xc], r14d
je 0x14003b7ae
movsxd rax, dword [rdi + 0xc]
mov r8, qword [rdi + 0x10]
imul rdx, rax, 0x38
add rdx, r11
call fcn.1400303a0
mov esi, eax
mov dword [rsp + 0x34], eax
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x38]
jmp 0x14003b7bd
mov rdx, qword [rdi + 0x10]
call fcn.1400302f0
mov esi, eax
mov dword [rsp + 0x34], eax
test esi, esi
jne 0x14003c607
lea eax, [rsi + 2]
test byte [rbx + 8], al
je 0x14003b7dc
movzx edx, byte [rbp + 0x268]
mov rcx, rbx
call fcn.14002ff54
mov rcx, rbx
call fcn.140030a54
test eax, eax
je 0x140037d09
mov r12, qword [rbp + 0x260]
lea rdx, str.string_or_blob_too_big
mov rcx, r12
call fcn.140031518
mov esi, 0x12
jmp 0x140037f48
mov r8d, dword [rdi + 8]
lea rax, [rbp - 0x28]
mov edx, dword [rdi + 4]
lea r9, [rbp - 0x2c]
or dword [rbp - 0x28], 0xffffffff
xor ebx, ebx
or dword [rbp - 0x2c], 0xffffffff
mov rcx, r12
mov dword [rbp - 0x30], ebx
mov qword [rsp + 0x20], rax
call fcn.140080bf0
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
je 0x14003b854
lea eax, [rbx + 5]
cmp esi, eax
jne 0x140037f41
mov esi, ebx
mov dword [rsp + 0x34], ebx
mov dword [rbp - 0x30], r13d
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x38]
xor eax, eax
mov r14d, eax
movsxd rdx, dword [rbp + r14*4 - 0x30]
mov rcx, rbx
call fcn.1400308f8
add r14, r13
add rbx, 0x38
cmp r14, 3
jl 0x14003b866
jmp 0x140037d09
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
mov rcx, qword [r12 + 0x20]
mov r13, rax
movsxd rdx, dword [rdi + 4]
mov ebx, dword [rdi + 0xc]
shl rdx, 5
mov r12, qword [rdx + rcx + 8]
mov rcx, r12
call fcn.14002e61c
mov rcx, rax
mov r15, rax
call fcn.14002291c
cmp ebx, 0xffffffff
mov rcx, r15
mov r14d, eax
cmove ebx, eax
call fcn.140022924
test eax, eax
mov rcx, r15
cmove ebx, r14d
call fcn.140022658
mov edx, 5
cmp ebx, edx
jne 0x14003b903
mov rcx, rax
call fcn.140018800
test eax, eax
je 0x14003b8fb
mov rcx, r15
call fcn.140022944
test eax, eax
jne 0x14003b8fe
mov ebx, r14d
mov edx, 5
cmp ebx, r14d
je 0x14003b991
cmp r14d, edx
je 0x14003b915
cmp ebx, edx
jne 0x14003b991
mov rax, qword [rsp + 0x40]
xor ecx, ecx
cmp byte [rax + 0x5f], cl
je 0x14003c62d
cmp dword [rax + 0xcc], 1
jg 0x14003c62d
cmp r14d, edx
jne 0x14003b95a
mov rdx, rax
mov rcx, r15
call fcn.140022a5c
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003b995
mov edx, ebx
mov rcx, r15
call fcn.140022808
xor eax, eax
jmp 0x14003b975
mov eax, 4
cmp r14d, eax
jne 0x14003b96f
lea edx, [rax - 2]
mov rcx, r15
call fcn.140022808
xor eax, eax
test esi, esi
jne 0x14003b995
mov edx, eax
mov rcx, r12
mov eax, 5
cmp ebx, eax
sete dl
inc edx
call fcn.14002f4c4
mov esi, eax
mov dword [rsp + 0x34], eax
test esi, esi
je 0x14003b998
mov ebx, r14d
mov edx, ebx
mov rcx, r15
call fcn.140022808
mov ecx, 0xa02
mov word [r13 + 8], cx
mov ecx, eax
call fcn.14005cda4
mov rcx, rax
mov qword [r13 + 0x10], rax
call fcn.140018800
mov ebx, 2
mov dword [r13 + 0xc], eax
mov byte [r13 + 0xa], 1
test byte [r13 + 8], bl
je 0x14003b9e2
movzx edx, byte [rbp + 0x268]
mov rcx, r13
call fcn.14002ff54
test esi, esi
jne 0x140037f41
mov r12, qword [rsp + 0x40]
lea r13d, [rsi + 1]
jmp 0x140037d67
xor ebx, ebx
cmp dword [rdi + 8], ebx
je 0x14003ba0c
movsxd rax, dword [rdi + 8]
imul r9, rax, 0x38
add r9, r11
jmp 0x14003ba0f
mov r9, rbx
mov r8d, dword [rdi + 4]
lea rcx, [r10 + 0xa8]
mov rdx, r12
call fcn.14006ce2c
jmp 0x140039c64
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.1400283b4
xor ebx, ebx
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
je 0x14003c206
cmp eax, 0x65
jne 0x140037f41
mov esi, ebx
mov dword [rsp + 0x34], ebx
jmp 0x140037e9b
xor eax, eax
cmp dword [rdi + 4], eax
jne 0x14003ba79
mov edx, dword [rdi + 8]
mov rcx, r12
call fcn.1400350d4
jmp 0x14003749e
mov eax, dword [rdi + 8]
add eax, r13d
xor eax, dword [r10 + 0xc8]
and eax, 3
xor dword [r10 + 0xc8], eax
jmp case.0x1400372c3.86
mov rbx, qword [rdi + 0x10]
mov rcx, r12
mov rdx, rbx
call fcn.14006e2c8
mov r12, qword [rbp + 0x260]
mov esi, eax
mov dword [rsp + 0x34], eax
test rbx, rbx
je 0x14003b761
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.1400350fc
jmp 0x14003b761
xor edx, edx
lea rcx, [rbp + 0x178]
lea r8d, [rdx + 0x38]
call fcn.1400c3c80
movsxd rax, dword [rdi + 8]
lea rcx, [rbp + 0x178]
imul rdx, rax, 0x38
mov qword [rbp + 0x1a0], r12
add rdx, qword [rsp + 0x38]
call fcn.140030af4
lea rcx, [rbp + 0x178]
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.1400354e0
mov r12, qword [rbp + 0x260]
xor ebx, ebx
test rax, rax
je 0x14003bb3b
mov edx, dword [rdi + 4]
lea r9, [r12 + 0xa8]
mov rcx, qword [rsp + 0x40]
mov r8, rax
call fcn.14006ddfc
mov esi, eax
mov dword [rsp + 0x34], eax
lea rcx, [rbp + 0x178]
call fcn.140030498
jmp 0x14003b761
add dword [r12 + 0xd8], r13d
mov rcx, r12
mov r8, qword [rdi + 0x10]
mov edx, dword [rdi + 4]
call fcn.14006e114
dec dword [r12 + 0xd8]
jmp 0x14003adc4
mov rax, qword [rdi + 0x10]
xor esi, esi
mov qword [rsp + 0x78], rsi
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003c658
mov r14, qword [rbx]
test r14, r14
je 0x14003c658
lea rdx, [rsp + 0x78]
mov rcx, rbx
call qword [r14 + 0x30]
mov r12, qword [rbp + 0x260]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.1400350fc
test esi, esi
jne 0x140037f48
mov rax, qword [rsp + 0x78]
or r9d, 0xffffffff
xor r8d, r8d
mov rcx, r12
mov qword [rax], rbx
lea eax, [rsi + 2]
mov edx, dword [rdi + 4]
mov byte [rsp + 0x20], al
call fcn.140036e58
mov rcx, qword [rsp + 0x78]
test rax, rax
je 0x14003c64f
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r13d
jmp 0x1400378d1
movsxd rax, dword [rdi + 0xc]
movsxd rcx, dword [rdi + 4]
mov r14, qword [r10 + 0x70]
imul rdx, rax, 0x38
mov rax, qword [r10 + 0x78]
add rdx, r11
mov r13, qword [rax + rcx*8]
xor eax, eax
lea r11, [rdx + 0x38]
mov qword [rbp + 0x278], r13
movsxd r9, dword [r11]
mov r8d, eax
mov edx, dword [rdx]
mov rbx, qword [r13 + 0x38]
mov r12, qword [rbx]
mov r15, qword [r12]
test r9d, r9d
jle 0x14003bc63
lea r13d, [rax + 1]
mov r10d, r13d
movsxd rax, r10d
add r10d, r13d
imul rcx, rax, 0x38
add rcx, r11
mov qword [r14 + r8*8], rcx
add r8, r13
cmp r8, r9
jl 0x14003bc43
mov r13, qword [rbp + 0x278]
mov r8, qword [rdi + 0x10]
mov rcx, rbx
mov qword [rsp + 0x20], r14
call qword [r15 + Ordinal_65]
mov rdx, r12
mov r12, qword [rbp + 0x260]
mov rcx, r12
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.1400350fc
test esi, esi
jne 0x140037f48
mov rcx, rbx
call qword [r15 + 0x50]
mov r15, qword [rsp + 0x48]
xor ebx, ebx
mov byte [r13 + 2], bl
lea r13d, [rsi + 1]
test eax, eax
je 0x1400378d1
jmp 0x140037e9b
mov r15, qword [rsp + 0x48]
jmp 0x140037e9b
mov rax, qword [r10 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
xor eax, eax
add rbx, r11
cmp byte [r14 + 2], al
je 0x14003bce7
mov rcx, rbx
jmp 0x14003ac06
mov rax, qword [r14 + 0x38]
lea rcx, [rbp + 0x1b0]
xor edx, edx
mov r15, qword [rax]
lea r8d, [rdx + 0x38]
mov rsi, qword [r15]
call fcn.1400c3c80
mov qword [rbp + 0x1b0], rbx
test byte [rdi + 2], r13b
je 0x14003bd23
mov rcx, rbx
call fcn.140030854
xor eax, eax
mov dword [rbx], eax
mov eax, 0x4001
jmp 0x14003bd33
movzx eax, word [rbx + 8]
mov ecx, 0x3e40
and ax, cx
or ax, r13w
mov word [rbx + 8], ax
lea rdx, [rbp + 0x1b0]
mov r8d, dword [rdi + 8]
mov rcx, qword [r14 + 0x38]
call qword [rsi + reloc.WLDAP32.dll_Ordinal_88]
mov r12, qword [rbp + 0x260]
mov rdx, r15
mov rcx, r12
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.1400350fc
xor eax, eax
cmp dword [rbp + 0x1d4], eax
jle 0x14003bd8f
mov rcx, rbx
call fcn.1400354e0
mov r8, rax
lea rdx, [0x14010beb0]
mov rcx, r12
call fcn.140031518
mov esi, dword [rbp + 0x1d4]
mov dword [rsp + 0x34], esi
mov eax, 2
test byte [rbx + 8], al
je 0x14003bda8
movzx edx, byte [rbp + 0x268]
mov rcx, rbx
call fcn.14002ff54
mov rcx, rbx
call fcn.140030a54
xor ebx, ebx
test eax, eax
jne 0x14003b7f3
test esi, esi
jne 0x140037f48
jmp 0x140037c9d
mov rax, qword [r10 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
xor eax, eax
cmp byte [r14 + 2], al
jne case.0x1400372c3.86
mov rcx, qword [r14 + 0x38]
mov rbx, qword [rcx]
mov r15, qword [rbx]
call qword [r15 + SQLSetEnvAttr]
mov r12, qword [rbp + 0x260]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.1400350fc
xor ebx, ebx
test esi, esi
jne 0x140037f48
mov rcx, qword [r14 + 0x38]
call qword [r15 + 0x50]
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
test eax, eax
jne 0x14003a9b4
mov r10, qword [rbp + 0x260]
mov eax, dword [rdi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
jmp 0x14003a9bb
mov r14d, dword [r12 + 0x30]
mov eax, 0x4000000
or qword [r12 + 0x30], rax
and r14d, eax
mov rax, qword [rdi + 0x10]
mov r15, qword [rax + 0x10]
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 2
add rbx, r11
test byte [rbx + 8], al
je 0x14003be81
mov edx, r13d
mov rcx, rbx
call fcn.14002ff54
jmp 0x14003be83
xor eax, eax
mov esi, eax
test eax, eax
jne 0x140037f41
mov rax, qword [r15]
mov rcx, r15
mov rdx, qword [rbx + 0x10]
call qword [rax + Ordinal_157]
xor ebx, ebx
mov dword [rsp + 0x34], eax
mov esi, eax
test r14d, r14d
jne 0x14003beb1
btr qword [r12 + 0x30], 0x1a
mov rcx, qword [rbp + 0x260]
mov rdx, r15
call fcn.1400350fc
mov r10, qword [rbp + 0x260]
and dword [r10 + 0xc8], 0xfffffffc
test esi, esi
jne 0x140037f41
jmp 0x140037ca4
xor r14d, r14d
cmp byte [r12 + 0x61], r14b
jne 0x14003c8a7
mov rax, qword [rdi + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14003c658
mov r10, qword [rbx]
test r10, r10
je 0x14003c658
cmp qword [r10 + 0x68], r14
je 0x14003c35f
movsxd rax, dword [rdi + 0xc]
mov r14b, byte [r12 + 0x66]
mov r12, qword [rbp + 0x260]
movsxd rdx, dword [rdi + 8]
imul rcx, rax, 0x38
mov r8, qword [r12 + 0x70]
add rcx, r11
xor r11d, r11d
mov eax, r11d
test edx, edx
jle 0x14003bf4b
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r13
cmp rax, rdx
jl 0x14003bf3b
mov al, byte [rdi + 2]
lea r9, [rbp + 0x58]
mov r15, qword [rsp + 0x40]
mov rcx, rbx
mov byte [r15 + 0x66], al
call qword [r10 + 0x68]
mov rdx, rbx
mov byte [r15 + 0x66], r14b
mov rcx, r12
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.1400350fc
xor ebx, ebx
mov r12, r15
test esi, esi
jne 0x14003bf8d
cmp dword [rdi + 4], ebx
je 0x14003bf8d
mov rax, qword [rbp + 0x58]
mov qword [r15 + 0x38], rax
cmp sil, 0x13
jne 0x14003bfd7
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x1c], bl
je 0x14003bfd7
mov r10, qword [rbp + 0x260]
mov eax, 4
cmp word [rdi + 2], ax
jne 0x14003bfb9
mov esi, ebx
mov dword [rsp + 0x34], ebx
jmp 0x140037681
movzx eax, byte [rdi + 2]
mov ecx, 5
cmp word [rdi + 2], cx
lea r9d, [rcx - 3]
cmove eax, r9d
mov byte [r10 + 0xc2], al
jmp 0x14003bfe2
mov r10, qword [rbp + 0x260]
add dword [r10 + 0x3c], r13d
test esi, esi
jne 0x140037f41
jmp 0x140037681
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
movsxd rdx, dword [rdi + 4]
mov rbx, rax
mov rcx, qword [r12 + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
call fcn.140026d9c
mov ecx, eax
mov qword [rbx], rcx
jmp 0x140037d09
mov rdx, rdi
mov rcx, r10
call fcn.1400371a8
mov rcx, qword [r12 + 0x20]
mov r14, 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 0x14003c056
mov rcx, rbx
call fcn.140026d9c
cmp eax, dword [rdi + 0xc]
cmovb eax, dword [rdi + 0xc]
mov edx, eax
mov rcx, rbx
call fcn.1400274a8
movsxd rcx, eax
mov qword [r14], rcx
jmp 0x140037d09
movzx ebx, word [rdi + 2]
mov rcx, r12
lea rdx, [rbx*8 + 0x30]
call fcn.140016314
mov r12, qword [rbp + 0x260]
xor r10d, r10d
mov r8, rax
test rax, rax
je 0x14003a6d3
mov r11, qword [rsp + 0x38]
mov qword [rax], r10
mov rcx, qword [rdi + 0x10]
mov qword [rax + 8], rcx
mov rcx, rdi
mov qword [r8 + 0x18], r12
sub rcx, r15
mov dword [r8 + 0x24], r10d
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov byte [r8 + 0x29], bl
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea eax, [r10 + 2]
mov dword [r8 + 0x20], edx
add byte [rdi], al
mov byte [rdi + 1], 0xf0
mov qword [rdi + 0x10], r8
jmp 0x14003c0ed
mov r12, qword [rbp + 0x260]
movsxd rax, dword [rdi + 0xc]
mov rbx, qword [rdi + 0x10]
imul r14, rax, 0x38
add r14, r11
cmp qword [rbx], r14
je 0x14003c144
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx], r14
sub rdx, 1
lea r9d, [rax - 1]
js 0x14003c144
lea r8, [rdx + 6]
mov r15d, 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, r15
sub rdx, r13
jns 0x14003c122
mov r15, qword [rsp + 0x48]
mov eax, 0x3e40
lea r8, [rbx + 0x30]
and word [r14 + 8], ax
mov rcx, rbx
or word [r14 + 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 0x14003c1ba
jle 0x14003c18f
mov rcx, r14
call fcn.1400354e0
mov r8, rax
lea rdx, [0x14010beb0]
mov rcx, r12
call fcn.140031518
mov esi, dword [rbx + 0x24]
mov dword [rsp + 0x34], esi
mov r9d, dword [rdi + 4]
lea rdx, [r12 + 0x120]
mov r8d, dword [rbx + 0x20]
mov rcx, qword [rsp + 0x40]
call fcn.140033c6c
xor eax, eax
mov dword [rbx + 0x24], eax
xor ebx, ebx
test esi, esi
jne 0x140037f48
jmp 0x14003c1bc
xor ebx, ebx
test byte [r14 + 8], 0x12
je 0x14003c1f2
mov eax, 2
test byte [r14 + 8], al
je 0x14003c1dd
movzx edx, byte [rbp + 0x268]
mov rcx, r14
call fcn.14002ff54
mov rcx, r14
call fcn.140030a54
test eax, eax
jne 0x14003b7f3
jmp 0x1400378d1
mov r12, qword [rsp + 0x40]
jmp 0x14003c206
mov r13, r12
mov r12, qword [rsp + 0x40]
jmp 0x14003c20b
mov r12, r8
mov r8d, dword [rsp + 0x30]
mov r11, qword [rsp + 0x38]
jmp 0x1400383db
test byte [r12 + 0x68], r13b
je 0x14003c2b5
mov eax, 0x10
xor ebx, ebx
test byte [r10 + 0xc8], al
jne 0x14003c2b7
mov r9, qword [rdi + 0x10]
test r9, r9
jne 0x14003c24d
mov r9, qword [r10 + 0xf0]
test r9, r9
je 0x14003c353
cmp dword [r12 + 0xd4], r13d
jle 0x14003c320
mov r8, r9
lea rdx, str.____s
mov rcx, r12
call fcn.140017d70
mov r12, qword [rsp + 0x40]
mov r9, rax
mov r8, qword [rbp + 0x260]
mov ecx, r13d
mov rbx, rax
mov rdx, qword [r12 + 0xf0]
call qword [r12 + 0xe8]
mov rdx, rbx
mov rcx, r12
call fcn.1400160e0
mov r10, qword [rbp + 0x260]
mov r11, qword [rsp + 0x38]
mov r9b, byte [rbp + 0x268]
mov r8d, dword [rsp + 0x30]
xor ebx, ebx
mov eax, dword [rdi + 4]
cmp eax, dword [0x140153e10]
jl 0x14003c2ff
cmp byte [rdi], 0xa8
je 0x14003c36e
mov edx, r13d
cmp dword [r10 + 0x90], r13d
jle 0x14003c2fd
mov eax, reloc.ODBC32.dll_SQLAllocHandle
mov rcx, qword [r10 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x14003c2ed
mov dword [rax + rcx + 4], ebx
add edx, r13d
add rax, 0x18
cmp edx, dword [r10 + 0x90]
jl 0x14003c2dc
mov eax, ebx
inc eax
mov dword [rdi + 4], eax
add dword [r10 + 0xec], r13d
mov eax, dword [rdi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r15 + rcx*8]
jmp 0x1400378d8
mov rdx, qword [r12 + 0xf0]
mov r8, r10
mov ecx, r13d
call qword [r12 + 0xe8]
mov r10, qword [rbp + 0x260]
mov r11, qword [rsp + 0x38]
mov r9b, byte [rbp + 0x268]
mov r8d, dword [rsp + 0x30]
jmp 0x14003c2b7
mov r9b, byte [rbp + 0x268]
jmp 0x14003c2b7
mov r10, qword [rbp + 0x260]
jmp 0x14003c36e
mov r13d, 1
mov ebx, 2
lea rcx, [0x140000000]
mov edx, dword [rbp - 0x60]
add rdi, 0x18
jmp 0x140037296
mov dword [r10 + 0x38], edx
mov al, byte [rdi + 8]
mov byte [r10 + 0xc2], al
mov dword [r10 + 0x34], ebx
test edx, edx
je 0x14003c442
mov rcx, r10
cmp word [rdi + 2], r15w
je 0x14003c3fd
movzx r8d, word [rdi + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0xf14c0]
call fcn.140031518
mov r9, qword [rdi + 0x10]
mov r12, qword [rbp + 0x260]
test r9, r9
je 0x14003c414
mov r8, qword [r12 + 0xa8]
lea rdx, str._z:__s
mov rcx, qword [rsp + 0x40]
call fcn.140017d70
mov qword [r12 + 0xa8], rax
jmp 0x14003c414
mov r8, qword [rdi + 0x10]
lea rdx, [0x14010beb0]
call fcn.140031518
mov r12, qword [rbp + 0x260]
mov rax, qword [r12 + 0xa8]
lea rdx, str.abort_at__d_in___s_:__s
mov r9, qword [r12 + 0xf0]
mov r8d, ebx
mov ecx, dword [rdi + 4]
mov qword [rsp + 0x20], rax
call fcn.140017edc
mov r10, qword [rbp + 0x260]
mov rcx, r10
call fcn.1400337d8
mov r12, qword [rbp + 0x260]
mov esi, eax
mov eax, 5
cmp esi, eax
jne 0x14003c466
mov dword [r12 + 0x38], eax
jmp 0x14003c847
mov eax, dword [r12 + 0x38]
neg eax
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x14003c847
mov esi, SQLAllocHandle
jmp 0x140037f41
mov r9d, 0x152d5
lea rax, [0x140110fe4]
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.140017edc
mov esi, ebx
jmp 0x140037f41
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r10
call fcn.140031518
mov esi, 5
jmp 0x140037f41
mov r12, qword [rbp + 0x260]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r12
call fcn.140031518
mov esi, 5
jmp 0x140037f48
sub rdi, qword [rsp + 0x48]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x34], edx
mov byte [r12 + 0x5f], r15b
mov r12, qword [rbp + 0x260]
mov esi, ecx
mov dword [r12 + 0x38], ecx
jmp 0x14003c847
mov r10, qword [rbp + 0x260]
mov r8, r15
lea rdx, str.no_such_savepoint:__s
mov rcx, r10
call fcn.140031518
mov esi, 1
jmp 0x140037f41
mov esi, 8
jmp 0x140037f41
mov r12, qword [rbp + 0x260]
mov eax, 5
cmp sil, al
jne 0x140037f48
sub rdi, r15
mov dword [r12 + 0x38], esi
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x34], edx
jmp 0x14003c847
mov esi, 0x204
jmp 0x140037f41
mov r12, qword [rbp + 0x260]
mov esi, 6
lea eax, [rsi - 4]
mov byte [r12 + 0xc2], al
jmp 0x140037f48
mov esi, 7
mov rcx, r12
call fcn.14004ce78
mov r12, qword [rbp + 0x260]
mov r14d, 7
mov bl, byte [rbp + 0x270]
cmp esi, r14d
je 0x14003a6df
jmp 0x140037f54
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r10
mov esi, 1
call fcn.140031518
jmp 0x140037f41
mov rcx, rbx
call fcn.1400354e0
mov r8, rax
lea rdx, [0x14010beb0]
mov r12, qword [rbp + 0x260]
mov rcx, r12
call fcn.140031518
jmp 0x140037f48
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 0x14003c619
call qword [r14 + Ordinal_59]
jmp 0x14003a6d3
mov esi, 6
jmp 0x140037f41
xor edx, edx
mov rcx, r10
call fcn.140033788
xor ebx, ebx
mov esi, eax
test eax, eax
jne 0x140037f41
mov r8, qword [rbp + 0x260]
mov rax, qword [r8]
cmp dword [rax + 0x280], ebx
je 0x14003c6a2
cmp dword [r8 + 0x40], ebx
je 0x14003c6a2
mov edx, r13d
mov rcx, r8
call fcn.140033694
mov r8, qword [rbp + 0x260]
mov eax, dword [r8 + 0x30]
mov esi, ebx
add eax, 2
or eax, r13d
mov dword [r8 + 0x30], eax
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, qword [rsp + 0x38]
mov qword [r8 + 0xa0], r14
cmp dword [rdi + 8], ebx
jle 0x14003c723
lea rbx, [r14 + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x14003c6f0
movsxd rax, esi
imul rcx, rax, 0x38
add rcx, r14
call fcn.140030110
test eax, eax
jne 0x14003c8a7
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
mov ecx, 2
cmp ax, cx
jne 0x14003c70e
lea rcx, [rbx - 8]
call fcn.1400300b0
add esi, r13d
add rbx, 0x38
cmp esi, dword [rdi + 8]
jl 0x14003c6cf
mov r8, qword [rbp + 0x260]
xor ebx, ebx
cmp byte [r12 + 0x61], bl
jne 0x14003c8a7
mov eax, 4
test byte [r12 + 0x68], al
je 0x14003c74f
mov rdx, qword [r12 + 0xf0]
xor r9d, r9d
mov ecx, eax
call qword [r12 + 0xe8]
mov r12, qword [rbp + 0x260]
sub rdi, r15
movabs rax, 0x2aaaaaaaaaaaaaab
mov esi, 0x64
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r13d
mov dword [r12 + 0x34], edx
jmp 0x14003c847
movzx eax, byte [r12 + 0x5f]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
cmp ebx, eax
je 0x14003c876
xor eax, eax
test ecx, ecx
je 0x14003c7b2
mov edx, 0x204
mov rcx, r12
call fcn.1400800e0
mov r14b, r13b
jmp 0x14003c7e0
test ebx, ebx
je 0x14003c7cc
cmp dword [r12 + 0xd0], eax
jle 0x14003c7cc
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x14003c4be
mov edx, r13d
mov rcx, r10
mov r14d, ebx
call fcn.140033788
mov esi, eax
test eax, eax
jne 0x14003c840
mov byte [r12 + 0x5f], r14b
mov rsi, qword [rbp + 0x260]
mov rcx, rsi
call fcn.1400337d8
mov ecx, 5
cmp eax, ecx
jne 0x14003c82b
sub rdi, r15
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub r13b, bl
mov dword [rsi + 0x34], edx
mov byte [r12 + 0x5f], r13b
jmp 0x14003c518
mov rcx, r12
call fcn.14007fc60
mov eax, dword [rsi + 0x38]
neg eax
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
mov r12, qword [rbp + 0x260]
mov eax, dword [rbp - 0x60]
lea r11, [rsp + 0x318]
add dword [r12 + 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
test ecx, ecx
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
mov rcx, r10
cmovne rdx, rax
test ebx, ebx
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmove rdx, rax
call fcn.140031518
mov esi, r13d
jmp 0x140037f41
mov r12, qword [rbp + 0x260]
jmp 0x14003a6d3
mov r12, qword [rbp + 0x260]
mov r14d, eax
jmp 0x14003a6df