Function at 0x14003d1c0
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 - 0x278]
sub rsp, 0x338
mov rbx, qword [rcx + 0x88]
mov r10, rcx
xor ecx, ecx
movaps xmmword [rax - 0x58], xmm6
movaps xmmword [rax - 0x68], xmm7
mov rdi, rbx
movaps xmmword [rax - 0x78], xmm8
mov esi, ecx
mov r12, qword [r10]
mov r14b, cl
mov r15, qword [r10 + 0x68]
lea eax, [rcx + 7]
lea r13d, [rcx + 1]
mov qword [rsp + 0x38], rbx
mov r8d, ecx
mov dword [rsp + 0x34], ecx
mov edx, ecx
mov r9b, byte [r12 + 0x5e]
mov byte [rbp + 0x288], r9b
mov qword [rsp + 0x40], r12
mov byte [rbp + 0x290], cl
mov dword [rsp + 0x30], ecx
mov dword [rbp - 0x58], ecx
mov qword [rsp + 0x48], r15
cmp dword [r10 + 0x38], eax
je 0x1400429a9
mov qword [r10 + 0x48], rcx
mov qword [r10 + 0xa0], rcx
mov eax, dword [r12 + 0x160]
mov dword [r12 + 0x228], ecx
test eax, eax
jne 0x140040a88
movsxd rax, dword [r10 + 0x34]
lea r11d, [r13 + 1]
xorps xmm8, xmm8
lea rcx, [rax + rax*2]
lea rdi, [rbx + rcx*8]
lea rcx, [0x140000000]
movzx r14d, byte [rdi]
add edx, r13d
mov qword [rbp - 0x80], rdi
mov dword [rbp - 0x58], edx
cmp r14d, 0xa8
ja case.default.0x14003d2b6
mov ecx, dword [rcx + r14*4 + 0x429b8]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
movsxd rax, dword [rdi + 4]
mov rcx, rdi
imul r8, rax, 0x38
sub rcx, rbx
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov r14d, 4
sar rdx, 2
mov rax, rdx
mov word [r8 + r15 + 8], r14w
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r15], rax
jmp 0x14003de5d
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r15]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + r15 + 8], ax
lea rdi, [rbx + rcx*8]
jmp case.0x14003d2b6.86
movsxd rax, dword [rdi + 4]
xor r14d, r14d
imul rcx, rax, 0x38
mov eax, dword [rdi + 0xc]
sub eax, r13d
cdqe
mov qword [rcx + r15], rax
mov eax, 4
mov word [rcx + r15 + 8], ax
cmp dword [rdi + 8], r14d
jne 0x140041b26
jmp case.0x14003d2b6.86
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r15]
lea rcx, [rax + rax*2]
mov eax, dword [rbx + rcx*8 + 8]
sub eax, r13d
cdqe
jmp 0x14003d304
movsxd rax, dword [rdi + 4]
sub rdi, rbx
imul r8, rax, 0x38
mov eax, 4
movsxd rcx, dword [r8 + r15]
mov word [r8 + r15 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
lea rcx, [rcx + rcx*2]
sar rdx, 2
lea rdi, [rbx + rcx*8]
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r15], rax
jmp 0x140042453
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], r13b
je case.0x14003d2b6.86
mov rcx, rdi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, rbx
xor r14d, r14d
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 0x14004246b
mov rcx, qword [r10 + 0x100]
test rcx, rcx
je 0x14004246b
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.140038d64
mov r10, qword [rbp + 0x280]
lea ecx, [r14 + 4]
mov rbx, qword [r10 + 0x88]
mov qword [rsp + 0x38], rbx
cmp dword [rdi + 8], ecx
jne 0x14003d453
cdqe
lea rcx, [rax + rax*2]
mov eax, dword [rbx + rcx*8 + 8]
sub eax, r13d
mov r15, qword [r10 + 0x68]
cdqe
mov qword [rsp + 0x48], r15
lea rcx, [rax + rax*2]
lea rdi, [rbx + rcx*8]
mov r9b, byte [rbp + 0x288]
mov r8d, dword [rsp + 0x30]
mov r11d, 2
jmp case.0x14003d2b6.86
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
mov rcx, rax
movsxd rax, dword [rdi + 4]
mov qword [rcx], rax
mov r10, qword [rbp + 0x280]
jmp 0x14003d466
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
mov rdx, rax
mov rax, qword [rdi + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14003d492
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
mov rdx, rax
mov eax, 8
mov word [rdx + 8], ax
jmp 0x14003d4a9
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
mov rcx, qword [rdi + 0x10]
xor edx, edx
mov rbx, rax
test rcx, rcx
jne 0x14003d4eb
mov eax, edx
jmp 0x14003d4f7
call fcn.1401054a0
and eax, 0x3fffffff
xor edx, edx
mov r14b, byte [rbp + 0x288]
mov dword [rdi + 4], eax
cmp r14b, r13b
je 0x14003d58e
mov qword [rsp + 0x20], rdx
mov r9b, r13b
mov rdx, qword [rdi + 0x10]
or r8d, 0xffffffff
mov rcx, rbx
call fcn.140036664
xor ecx, ecx
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x1400418b0
lea eax, [rsi + 2]
test byte [rbx + 8], al
je 0x14003d54f
cmp byte [rbx + 0xa], r14b
je 0x14003d54f
mov dl, r14b
mov rcx, rbx
call fcn.14001c934
xor ecx, ecx
jmp 0x14003d551
mov eax, ecx
test eax, eax
jne 0x14004299d
mov eax, 0x800
mov dword [rbx + 0x20], ecx
or word [rbx + 8], ax
cmp byte [rdi + 1], 0xf9
jne 0x14003d57c
mov rdx, qword [rdi + 0x10]
test rdx, rdx
je 0x14003d57c
mov rcx, r12
call fcn.14001a800
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 0x1400418b0
mov r10, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x38]
mov byte [rdi], Ordinal_73
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
mov r9b, byte [rbp + 0x288]
mov rcx, rax
mov r10, qword [rbp + 0x280]
mov eax, 0xa02
mov word [rcx + 8], ax
mov rax, qword [rdi + 0x10]
mov qword [rcx + 0x10], rax
mov eax, dword [rdi + 4]
mov dword [rcx + 0xc], eax
mov byte [rcx + 0xa], r9b
jmp 0x14003d46d
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
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 0x1400422d7
mov eax, 0x2400
lea rbx, [rbx + 0x38]
test word [rbx], ax
je 0x14003d649
lea rcx, [rbx - 8]
call fcn.140035eb8
xor r8d, r8d
mov eax, 0x2400
sub r14d, r13d
mov word [rbx], r15w
mov dword [rbx + 4], r8d
test r14d, r14d
jg 0x14003d62f
mov r10, qword [rbp + 0x280]
mov r15, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x38]
jmp 0x14003d466
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, r15
and word [rcx + 8], ax
or word [rcx + 8], r13w
jmp case.0x14003d2b6.86
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
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.140036664
mov r9b, byte [rbp + 0x288]
mov r10, qword [rbp + 0x280]
mov byte [rbx + 0xa], r9b
mov rbx, qword [rsp + 0x38]
jmp 0x14003d46d
mov eax, dword [rdi + 4]
sub eax, r13d
cdqe
imul r14, rax, 0x38
add r14, qword [r10 + 0x80]
mov rcx, r14
call fcn.1400364cc
test eax, eax
jne 0x1400418b0
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
mov eax, 0x2400
add rbx, r15
test word [rbx + 8], ax
je 0x14003d712
mov rcx, rbx
call fcn.140035eb8
mov r8d, reloc.ODBC32.dll_SQLAllocHandle
mov rdx, r14
mov rcx, rbx
call fcn.1400cac20
movzx eax, word [rbx + 8]
mov ecx, 0xebff
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
mov r10, qword [rbp + 0x280]
jmp 0x14003d665
movsxd rax, dword [rdi + 4]
mov r15d, dword [rdi + 0xc]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
add r14, qword [rsp + 0x48]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x48]
mov rdx, r14
mov rcx, rbx
call fcn.140036614
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14003d78b
mov rcx, rbx
call fcn.140035bf0
test eax, eax
jne 0x14004299d
add r14, 0x38
add rbx, 0x38
sub r15d, r13d
jne 0x14003d765
jmp 0x14003d659
movsxd rax, dword [rdi + 4]
mov r15d, dword [rdi + 0xc]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
add r14, qword [rsp + 0x48]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x48]
mov r8d, 0x1000
mov rdx, r14
mov rcx, rbx
call fcn.140036530
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14003d7e7
mov rcx, rbx
call fcn.140035bf0
test eax, eax
jne 0x14004299d
mov eax, r15d
sub r15d, r13d
test eax, eax
je 0x1400422d7
add rbx, 0x38
add r14, 0x38
jmp 0x14003d7bb
movsxd rax, dword [rdi + 4]
mov r8d, 0x1000
imul rdx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
add rdx, r15
add rcx, r15
call fcn.140036530
jmp 0x14003d492
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 4]
imul rdx, rax, 0x38
add rcx, r15
mov rax, qword [rdx + r15]
mov edx, 0x2400
test word [rcx + 8], dx
je 0x14003d854
mov rdx, rax
call fcn.14003638c
jmp 0x14003d492
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 8], ax
jmp case.0x14003d2b6.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, r15
imul rbx, rax, 0x38
movzx r12d, word [r13 + 8]
add r14, r15
add rbx, r15
mov al, byte [r14 + 8]
or al, r12b
test al, 1
je 0x14003d8da
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14003d8c0
mov rcx, rbx
call fcn.140035eb8
mov r13d, 1
mov r10, qword [rbp + 0x280]
mov r12, qword [rsp + 0x40]
jmp 0x14003d665
mov r13d, 1
mov word [rbx + 8], r13w
mov r12, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
jmp case.0x14003d2b6.86
test r12b, 0x12
jne 0x14003d8f0
xor r8d, r8d
mov dl, r9b
mov rcx, r13
call fcn.140035cc4
jmp 0x14003d903
mov eax, 0x4000
test ax, r12w
je 0x14003d925
mov rcx, r13
call fcn.140035c4c
test eax, eax
jne 0x14004299d
movzx r12d, word [r13 + 8]
mov eax, 0xfffd
mov r9b, byte [rbp + 0x288]
and r12w, ax
mov eax, 0x4000
movzx r15d, word [r14 + 8]
test r15b, 0x12
jne 0x14003d959
xor r8d, r8d
mov dl, r9b
mov rcx, r14
call fcn.140035cc4
xor r9d, r9d
test eax, eax
jne 0x14004299d
movzx r15d, word [r14 + 8]
mov eax, 0xfffd
and r15w, ax
jmp 0x14003d96c
test ax, r15w
je 0x14003d969
mov rcx, r14
call fcn.140035c4c
jmp 0x14003d93e
xor r9d, r9d
mov r8, qword [rsp + 0x40]
mov edx, dword [r14 + 0xc]
add edx, dword [r13 + 0xc]
mov dword [rbp + 0x298], edx
cmp edx, dword [r8 + 0x7c]
jg 0x1400418b0
mov r8d, r9d
cmp rbx, r14
mov rcx, rbx
sete r8b
add edx, 3
call fcn.140035a34
test eax, eax
jne 0x14004299d
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 2
or word [rbx + 8], ax
cmp rbx, r14
je 0x14003d9d3
movsxd r8, dword [r14 + 0xc]
mov rdx, qword [r14 + 0x10]
mov rcx, qword [rbx + 0x10]
call fcn.1400cac20
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.1400cac20
movsxd r9, dword [rbp + 0x298]
xor r14d, r14d
mov word [r13 + 8], r12w
mov edx, r14d
mov rax, qword [rbx + 0x10]
lea r13d, [r14 + 1]
lea r11d, [r14 + 2]
mov byte [r9 + rax], r14b
mov rcx, qword [rbx + 0x10]
add rcx, rdx
add rdx, r13
mov byte [rcx + r9 + 1], r14b
cmp rdx, r11
jl 0x14003da0a
mov r10, qword [rbp + 0x280]
mov eax, 0x200
or word [rbx + 8], ax
mov r12, qword [rsp + 0x40]
mov dword [rbx + 0xc], r9d
mov r9b, byte [rbp + 0x288]
mov byte [rbx + 0xa], r9b
jmp 0x140042449
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, r15
mov rcx, r14
call fcn.14003d150
mov r12, qword [rsp + 0x48]
movzx ebx, ax
movsxd rax, dword [rdi + 8]
imul r15, rax, 0x38
add r15, r12
mov rcx, r15
call fcn.14003d150
movzx edx, ax
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r15 + 8]
and dl, bl
or ax, word [r14 + 8]
add r12, rcx
mov ebx, 4
test bl, dl
je 0x14003db91
movzx ecx, byte [rdi]
mov rdx, qword [r15]
mov r8, qword [r14]
mov qword [rbp - 0x50], rdx
sub ecx, 0x67
je 0x14003db32
sub ecx, 1
je 0x14003db20
sub ecx, 1
je 0x14003db12
xor r9d, r9d
cmp ecx, 1
je 0x14003dae6
test r8, r8
je 0x14003dc52
cmp r8, 0xffffffffffffffff
mov rax, rdx
cqo
cmove r8, r13
idiv r8
mov qword [rbp - 0x50], rdx
jmp 0x14003db73
test r8, r8
je 0x14003dc52
cmp r8, 0xffffffffffffffff
jne 0x14003db08
movabs rax, 0x8000000000000000
cmp rdx, rax
je 0x14003db9a
mov rax, rdx
cqo
idiv r8
jmp 0x14003db6f
mov rdx, r8
lea rcx, [rbp - 0x50]
call fcn.14001e1c0
jmp 0x14003db2c
mov rdx, r8
lea rcx, [rbp - 0x50]
call fcn.14001e190
test eax, eax
jne 0x14003db9a
jmp 0x14003db73
test r8, r8
js 0x14003db50
test rdx, rdx
jle 0x14003db6b
movabs rax, 0x7fffffffffffffff
sub rax, rdx
cmp rax, r8
jge 0x14003db6b
jmp 0x14003db9a
test rdx, rdx
jns 0x14003db6b
movabs rax, 0x8000000000000001
lea rcx, [r8 + 1]
sub rax, rdx
cmp rax, rcx
jg 0x14003db9a
lea rax, [rdx + r8]
mov qword [rbp - 0x50], rax
mov rax, qword [rbp - 0x50]
mov ecx, 0x3e40
mov qword [r12], rax
movzx eax, word [r12 + 8]
and ax, cx
or ax, bx
jmp 0x14003dc3b
test r13b, al
jne 0x14003dc52
mov rcx, r14
call fcn.14003601c
mov rcx, r15
movaps xmm7, xmm0
call fcn.14003601c
movzx edx, byte [rdi]
movaps xmm6, xmm0
sub edx, 0x67
je 0x14003dc13
sub edx, 1
je 0x14003dc0d
sub edx, 1
je 0x14003dc07
cmp edx, 1
je 0x14003dbfa
mov rcx, r14
call fcn.140035fc4
mov rcx, r15
mov rbx, rax
call fcn.140035fc4
mov qword [rbp - 0x50], rax
test rbx, rbx
je 0x14003dc52
cmp rbx, 0xffffffffffffffff
cqo
xorps xmm6, xmm6
cmove rbx, r13
idiv rbx
cvtsi2sd xmm6, rdx
jmp 0x14003dc17
ucomisd xmm7, xmm8
je 0x14003dc52
divsd xmm6, xmm7
jmp 0x14003dc17
mulsd xmm6, xmm7
jmp 0x14003dc17
subsd xmm6, xmm7
jmp 0x14003dc17
addsd xmm6, xmm7
movaps xmm0, xmm6
call fcn.14001cfe8
test eax, eax
jne 0x14003dc52
movzx eax, word [r12 + 8]
mov ecx, 0x3e40
and ax, cx
movsd qword [r12], xmm6
or ax, 8
mov word [r12 + 8], ax
mov r10, qword [rbp + 0x280]
mov r12, qword [rsp + 0x40]
jmp 0x14003d660
mov eax, 0x2400
test word [r12 + 8], ax
je 0x14003dc69
mov rcx, r12
call fcn.140035eb8
jmp 0x14003dc41
mov word [r12 + 8], r13w
jmp 0x14003dc41
xor r14d, r14d
cmp dword [rdi + 4], r14d
je case.0x14003d2b6.86
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r15
test word [rcx + 8], ax
je 0x14003dc9b
xor edx, edx
jmp 0x14003d84a
mov qword [rcx], r14
jmp 0x14003d857
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
add rbx, r15
add rcx, r15
imul r15, rax, 0x38
mov al, byte [rcx + 8]
add r15, qword [rsp + 0x48]
or al, byte [rbx + 8]
test r13b, al
je 0x14003dcf9
mov eax, 0x2400
test word [r15 + 8], ax
je 0x14003dcea
mov rcx, r15
call fcn.140035eb8
jmp 0x14003d659
mov word [r15 + 8], r13w
mov r15, qword [rsp + 0x48]
jmp 0x14003d8d0
call fcn.140035fc4
mov rcx, rbx
mov qword [rbp - 0x78], rax
call fcn.140035fc4
mov r14b, byte [rdi]
mov rbx, rax
cmp r14b, 0x63
jne 0x14003dd1f
and qword [rbp - 0x78], rax
jmp 0x14003ddd5
cmp r14b, 0x64
jne 0x14003dd2e
or qword [rbp - 0x78], rbx
jmp 0x14003ddd5
xor eax, eax
test rbx, rbx
je 0x14003ddd5
jns 0x14003dd5e
mov rcx, rbx
mov eax, reloc.WLDAP32.dll_Ordinal_203
sub al, r14b
neg rcx
mov r14b, al
mov rax, rbx
cmp rax, 0xffffffffffffffc0
mov ebx, 0x40
cmovg rbx, rcx
xor eax, eax
cmp rbx, 0x40
jl 0x14003dd7a
cmp qword [rbp - 0x78], rax
jge 0x14003dd74
cmp r14b, 0x65
je 0x14003dd74
or rax, 0xffffffffffffffff
mov qword [rbp - 0x78], rax
jmp 0x14003ddd5
mov r8d, 8
lea rdx, [rbp - 0x78]
lea rcx, [rbp - 0x48]
call fcn.1400cac20
mov rcx, rbx
cmp r14b, 0x65
jne 0x14003dd9c
shl qword [rbp - 0x48], cl
jmp 0x14003ddc2
mov r8, qword [rbp - 0x48]
xor eax, eax
shr r8, cl
mov qword [rbp - 0x48], r8
cmp qword [rbp - 0x78], rax
jge 0x14003ddc2
or rdx, 0xffffffffffffffff
lea ecx, [rax + 0x40]
sub cl, bl
shl rdx, cl
or rdx, r8
mov qword [rbp - 0x48], rdx
mov r8d, 8
lea rdx, [rbp - 0x48]
lea rcx, [rbp - 0x78]
call fcn.1400cac20
mov rax, qword [rbp - 0x78]
mov qword [r15], rax
mov eax, 0x3e40
and word [r15 + 8], ax
mov eax, 4
or word [r15 + 8], ax
jmp 0x14003d659
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.1400360d0
movsxd rax, dword [rdi + 8]
add qword [rbx], rax
jmp 0x14003d73b
movsxd rax, dword [rdi + 4]
mov r14d, 4
imul rbx, rax, 0x38
add rbx, r15
movzx eax, word [rbx + 8]
test r14b, al
jne 0x14003de8b
mov r8b, r9b
mov dl, 0x43
mov rcx, rbx
call fcn.14003d004
movzx eax, word [rbx + 8]
test r14b, al
jne 0x14003de72
xor r12d, r12d
cmp dword [rdi + 8], r12d
je 0x14004255f
mov r10, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x38]
mov eax, dword [rdi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [rbx + rcx*8]
jmp 0x140040111
mov r10, qword [rbp + 0x280]
mov r11d, 2
mov r9b, byte [rbp + 0x288]
mov r8d, dword [rsp + 0x30]
mov ecx, 0x3e40
and ax, cx
or ax, r14w
mov word [rbx + 8], ax
jmp 0x14003d8d0
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 0x24
je case.0x14003d2b6.86
call fcn.1400360f8
jmp 0x14003d492
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r15
test word [rbx + 8], ax
je 0x14003deef
mov rcx, rbx
call fcn.140035c4c
mov r9b, byte [rbp + 0x288]
mov esi, eax
mov dword [rsp + 0x34], eax
xor r14d, r14d
jmp 0x14003defa
xor r14d, r14d
mov esi, r14d
mov dword [rsp + 0x34], r14d
mov dl, byte [rdi + 8]
mov r8b, r9b
mov rcx, rbx
call fcn.140036230
test esi, esi
je 0x14003d73b
mov r12, qword [rbp + 0x280]
mov r14b, byte [rbp + 0x290]
mov ebx, 7
mov r15, qword [rsp + 0x40]
xor r13d, r13d
cmp byte [r15 + 0x61], r13b
cmovne esi, ebx
mov ebx, 0xc0a
cmp qword [r12 + 0xa8], r13
jne 0x14003df5e
cmp esi, ebx
je 0x14003df5e
mov ecx, esi
call fcn.140087120
mov r8, rax
lea rdx, [0x140155fd0]
mov rcx, r12
call fcn.140037074
mov edx, esi
mov dword [r12 + 0x38], esi
mov rcx, r15
call fcn.14001d0e8
sub rdi, qword [rsp + 0x38]
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.14001c70c
mov rcx, r12
call fcn.14003953c
cmp esi, ebx
jne 0x14003dfc4
mov rcx, r15
call fcn.14001ad58
mov esi, 1
test r14b, r14b
je 0x140042938
movzx edx, r14b
mov rcx, r15
dec edx
call fcn.140053590
jmp 0x140042938
movsxd rax, dword [rdi + 4]
mov r12d, 1
imul r14, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add r14, r15
lea r13, [rcx + r15]
movzx r15d, word [r14 + 8]
movzx ebx, word [r13 + 8]
movzx edx, bx
or dx, r15w
test r12b, dl
je 0x14003e0a6
lea eax, [r12 + 0x7f]
test byte [rdi + 2], al
je 0x14003e056
mov al, bl
and al, r15b
test r12b, al
je 0x14003e041
mov eax, 0x100
test ax, bx
jne 0x14003e041
xor eax, eax
jmp 0x14003e1c9
movzx eax, bx
not ax
and eax, r12d
lea eax, [rax*2 - 1]
jmp 0x14003e1c9
mov eax, Ordinal_36
mov r13, r12
test byte [rdi + 2], al
je 0x14003e08e
movsxd rax, dword [rdi + 8]
mov r8d, r12d
mov r15, qword [rsp + 0x48]
imul rcx, rax, 0x38
mov eax, 0x3e40
mov dword [rsp + 0x30], r12d
add rcx, r15
and word [rcx + 8], ax
or word [rcx + 8], r12w
jmp 0x14003d8cb
mov eax, 0x10
test byte [rdi + 2], al
jne 0x14003de58
mov r12, qword [rsp + 0x40]
jmp 0x14003dcef
mov al, byte [rdi + 2]
and al, 0x47
cmp al, 0x43
jb 0x14003e13d
movzx ecx, bx
test r11b, dl
je 0x14003e0f5
mov al, r15b
and al, 0x2e
cmp al, r11b
jne 0x14003e0da
xor edx, edx
mov rcx, r14
call fcn.14003cf78
movzx ebx, word [r13 + 8]
mov r11d, 2
mov al, bl
movzx ecx, bx
and al, 0x2e
cmp al, r11b
jne 0x14003e0f5
xor edx, edx
mov rcx, r13
call fcn.14003cf78
movzx ecx, word [r13 + 8]
and cl, byte [r14 + 8]
mov r11d, 4
test r11b, cl
je 0x14003e1a7
mov rcx, qword [r14]
mov r10, qword [rbp + 0x280]
mov r9b, byte [rbp + 0x288]
mov r8d, dword [rsp + 0x30]
cmp qword [r13], rcx
jle 0x14003e12c
mov eax, r12d
jmp 0x14003e1cf
xor eax, eax
cmp qword [r13], rcx
setge al
sub eax, r12d
jmp 0x14003e1cf
cmp al, 0x42
jne 0x14003e1a7
test r11b, r15b
jne 0x14003e17c
test r15b, 0x2c
je 0x14003e17c
mov r8b, r12b
mov dl, r9b
mov rcx, r14
call fcn.140035cc4
mov r9b, byte [rbp + 0x288]
movzx eax, r15w
xor ax, word [r14 + 8]
mov ecx, 0x3e40
and ax, cx
mov r11d, 2
xor r15w, ax
test r11b, bl
jne 0x14003e1a7
test bl, 0x2c
je 0x14003e1a7
mov r8b, r12b
mov dl, r9b
mov rcx, r13
call fcn.140035cc4
movzx eax, word [r13 + 8]
mov ecx, 0x3e40
xor ax, bx
and ax, cx
xor bx, ax
mov r8, qword [rdi + 0x10]
mov rdx, r14
mov rcx, r13
call fcn.14003a380
mov r10, qword [rbp + 0x280]
mov r9b, byte [rbp + 0x288]
mov r8d, dword [rsp + 0x30]
mov r11d, 4
movzx ecx, byte [rdi]
lea rdx, [0x140000000]
test eax, eax
jns 0x14003e1e6
mov cl, byte [rcx + rdx + 0x13cde4]
jmp 0x14003e1f8
jne 0x14003e1f1
mov cl, byte [rcx + rdx + 0x13e7e0]
jmp 0x14003e1f8
mov cl, byte [rcx + rdx + 0x137ad4]
mov word [r14 + 8], r15w
movzx edx, cl
mov ecx, Ordinal_36
mov word [r13 + 8], bx
test byte [rdi + 2], cl
je 0x14003e264
mov r8d, eax
mov dword [rsp + 0x30], eax
lea eax, [rcx - 0x18]
test byte [rdi + 2], al
je 0x14003e22e
xor eax, eax
cmp byte [rdi], 0x35
sete al
cmp eax, edx
je 0x1400422ec
movsxd rax, dword [rdi + 8]
mov r13d, 1
mov r15, qword [rsp + 0x48]
mov r12, qword [rsp + 0x40]
mov rbx, qword [rsp + 0x38]
imul rcx, rax, 0x38
mov eax, 0x3e40
add rcx, r15
and word [rcx + 8], ax
or word [rcx + 8], r11w
mov qword [rcx], rdx
jmp 0x14003d472
mov rbx, qword [rsp + 0x38]
mov r13d, 1
test edx, edx
jne 0x140041b26
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
jmp 0x14003d472
test r8d, r8d
jne 0x14003de5d
jmp case.0x14003d2b6.86
test byte [rdi + 2], r13b
jne 0x14003e2a1
xor ecx, ecx
mov r14d, ecx
jmp 0x14003e2ab
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 + 0x298], r8d
mov dword [rbp - 0x80], edx
mov qword [rbp - 0x40], rcx
test rcx, rcx
jle 0x140042443
lea r12, [rax + 0x20]
test r14, r14
je 0x14003e2eb
mov ecx, dword [r14 + rbx*4]
jmp 0x14003e2ee
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 - 0x28], rdx
movsxd r13, eax
imul rdx, rdx, 0x38
imul rcx, r13, 0x38
add rdx, qword [rsp + 0x48]
add rcx, qword [rsp + 0x48]
call fcn.14003a380
mov r8d, eax
mov dword [rsp + 0x30], eax
mov rax, qword [rsp + 0x78]
test r8d, r8d
jne 0x14003e35d
mov edx, dword [rbp - 0x80]
lea r13d, [r8 + 1]
mov r8d, dword [rbp + 0x298]
add r15d, r13d
add rbx, r13
add r12, 8
cmp rbx, qword [rbp - 0x40]
jl 0x14003e2e0
jmp 0x14003dc41
mov rax, qword [rax + 0x18]
mov r11d, 2
mov r15, qword [rsp + 0x48]
test byte [rbx + rax], r11b
je 0x14003e397
imul rax, r13, 0x38
lea r13d, [r11 - 1]
test byte [rax + r15 + 8], r13b
jne 0x14003e38d
imul rax, qword [rbp - 0x28], 0x38
test byte [rax + r15 + 8], r13b
je 0x14003e39d
neg r8d
mov dword [rsp + 0x30], r8d
jmp 0x14003e39d
mov r13d, 1
mov r12, qword [rsp + 0x40]
xor r14d, r14d
cmp dword [rsp + 0x50], r14d
je 0x14003e3b4
neg r8d
mov dword [rsp + 0x30], r8d
mov r10, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x38]
mov r9b, byte [rbp + 0x288]
jmp case.0x14003d2b6.86
test r8d, r8d
jns 0x14003e3d6
mov eax, dword [rdi + 4]
jmp 0x14003e3e0
jne 0x14003e3dd
mov eax, dword [rdi + 8]
jmp 0x14003e3e0
mov eax, dword [rdi + 0xc]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [rbx + rax*8]
jmp case.0x14003d2b6.86
movsxd rax, dword [rdi + 4]
mov edx, r11d
imul rcx, rax, 0x38
add rcx, r15
call fcn.140036048
movsxd rcx, dword [rdi + 8]
mov edx, 2
imul rcx, rcx, 0x38
mov ebx, eax
add rcx, r15
call fcn.140036048
lea rdx, [0x140000000]
lea eax, [rax + rbx*2]
add eax, ebx
cmp byte [rdi], 0x2c
cdqe
jne 0x14003e439
mov r8b, byte [rax + rdx + 0x13a580]
jmp 0x14003e441
mov r8b, byte [rax + rdx + 0x13e808]
movsxd rax, dword [rdi + 0xc]
mov r11d, 2
imul rcx, rax, 0x38
mov eax, 0x3e40
movzx edx, word [rcx + r15 + 8]
and dx, ax
cmp r8b, r11b
jne 0x14003e468
movzx eax, r13w
jmp 0x14003e475
movzx eax, r8b
mov qword [rcx + r15], rax
mov eax, 4
mov r10, qword [rbp + 0x280]
or dx, ax
mov word [rcx + r15 + 8], dx
mov r9b, byte [rbp + 0x288]
jmp 0x14004244e
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r15
call fcn.140036048
movsxd rdx, dword [rdi + 0x10]
movsxd rcx, eax
movsxd rax, dword [rdi + 8]
xor rdx, rcx
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r15
test word [rcx + 8], ax
jne 0x14003d84a
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 8], ax
jmp 0x14003d492
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rcx, r15
add rbx, r15
test byte [rcx + 8], r13b
jne 0x14003e52f
xor edx, edx
call fcn.140036048
xor r14d, r14d
test eax, eax
mov ecx, r14d
mov eax, 0x2400
sete cl
test word [rbx + 8], ax
je 0x14003e522
mov rdx, rcx
mov rcx, rbx
call fcn.14003638c
jmp 0x14003d73b
mov qword [rbx], rcx
mov eax, 4
jmp 0x14003d737
mov eax, 0x2400
test word [rbx + 8], ax
je 0x14003e547
mov rcx, rbx
call fcn.140035eb8
jmp 0x14003d73b
mov word [rbx + 8], r13w
jmp 0x14003d8d0
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add r14, r15
mov eax, 0x2400
add rbx, r15
test word [rbx + 8], ax
je 0x14003e587
mov rcx, rbx
call fcn.140035eb8
mov r8d, dword [rsp + 0x30]
mov r11d, 2
jmp 0x14003e58c
mov word [rbx + 8], r13w
test byte [r14 + 8], r13b
jne 0x14003e3b4
mov eax, 4
mov rcx, r14
mov word [rbx + 8], ax
call fcn.140035fc4
not rax
mov qword [rbx], rax
jmp 0x14003d73b
mov r8, qword [r10 + 0x100]
test r8, r8
je 0x14003e615
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 0x14003de5d
bts eax, edx
mov byte [rcx + r9], al
mov rcx, qword [r10 + 0x88]
mov r9b, byte [rbp + 0x288]
jmp 0x14003e628
mov rcx, qword [r10 + 0x88]
mov eax, dword [rdi + 4]
cmp dword [rcx + 4], eax
je 0x14003de5d
mov eax, dword [rcx + 4]
mov dword [rdi + 4], eax
jmp 0x140042453
movsxd rax, dword [rdi + 4]
mov edx, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r15
call fcn.140036048
test eax, eax
jne 0x140041b26
jmp 0x14003d492
movsxd rax, dword [rdi + 4]
xor r14d, r14d
cmp dword [rdi + 0xc], r14d
mov edx, r14d
sete dl
imul rcx, rax, 0x38
add rcx, r15
call fcn.140036048
test eax, eax
je 0x140041b26
jmp 0x14003d492
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], r13b
jmp 0x14003e289
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
test byte [rcx + r15 + 8], r13b
je 0x14003de5d
jmp case.0x14003d2b6.86
movsxd rcx, dword [rdi + 4]
xor r14d, r14d
mov rax, qword [r10 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], r14b
je case.0x14003d2b6.86
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov eax, 0x2400
add rcx, r15
test word [rcx + 8], ax
je 0x14003e6e0
call fcn.140035eb8
jmp 0x140041b26
mov word [rcx + 8], r13w
jmp 0x14003de5d
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.140039c34
xor r14d, r14d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
movsxd rax, dword [rdi + 0xc]
mov r8, qword [rsp + 0x58]
mov r10, qword [rbp + 0x280]
imul r14, rax, 0x38
mov rbx, qword [r8 + 0x60]
mov eax, dword [r10 + 0x30]
add r14, r15
mov qword [rbp - 0x40], r14
mov qword [rbp + 0x298], rbx
cmp dword [r8 + 0x28], eax
je 0x14003e89f
xor r9d, r9d
cmp byte [r8 + 2], r9b
je 0x14003e7b1
cmp byte [r8], 3
jne 0x14003e793
movsxd rax, dword [r8 + 0x2c]
imul rdx, rax, 0x38
mov ecx, dword [rdx + r15 + 0xc]
mov dword [r8 + 0x74], ecx
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x70], ecx
mov rcx, qword [rdx + r15 + 0x10]
mov rax, qword [rsp + 0x58]
mov qword [rax + 0x68], rcx
mov rcx, qword [rsp + 0x58]
jmp 0x14003e803
mov eax, 0x2400
test word [r14 + 8], ax
je 0x14003e7a7
mov rcx, r14
jmp 0x14003e53d
mov word [r14 + 8], r13w
jmp 0x14003d665
mov rbx, qword [r8 + 0x38]
mov rcx, rbx
call fcn.14002e3f8
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.14002e960
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 0x1400418b0
mov r10, qword [rbp + 0x280]
mov rbx, qword [rbp + 0x298]
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 0x14003e826
movzx eax, byte [rcx]
mov dword [rbx], eax
mov al, r13b
jmp 0x14003e82e
mov rdx, rbx
call fcn.14001dee8
movzx ecx, al
xor r10d, r10d
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x48], ecx
mov rax, qword [rsp + 0x58]
mov word [rax + 0x52], r10w
mov r8, qword [rsp + 0x58]
mov eax, dword [rbx]
cmp dword [r8 + 0x74], eax
jae 0x14003e899
mov qword [r8 + 0x68], r10
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x74], r10d
mov eax, dword [rbx]
cmp eax, 0x18003
ja 0x14003e874
mov r8, qword [rsp + 0x58]
cmp eax, dword [r8 + 0x70]
jbe 0x14003e8a2
xor r14d, r14d
mov rbx, qword [rsp + 0x38]
mov eax, dword [rbx + 0xc]
test eax, eax
jle 0x140042569
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rdi, [rbx + rax*8]
jmp 0x14003d492
mov rcx, qword [r8 + 0x68]
jmp 0x14003e917
xor r10d, r10d
movzx eax, word [r8 + 0x52]
movsxd r9, dword [rsp + 0x70]
cmp eax, r9d
jg 0x14003eb0f
mov eax, dword [rbx]
cmp dword [r8 + 0x48], eax
jae 0x14003eac7
mov rcx, qword [r8 + 0x68]
mov qword [rsp + 0x78], rcx
test rcx, rcx
jne 0x14003e91c
lea r8d, [rcx + 0x38]
xor edx, edx
lea rcx, [rbp + 0xe8]
call fcn.1400cb080
mov rcx, qword [rsp + 0x58]
lea r9, [rbp + 0xe8]
mov r8d, dword [rbx]
xor edx, edx
mov rcx, qword [rcx + 0x38]
call fcn.140036964
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
mov rcx, qword [rbp + 0xf8]
mov eax, dword [rbx]
mov r8, qword [rsp + 0x58]
mov qword [rsp + 0x78], rcx
movzx r12d, word [r8 + 0x52]
mov edi, 1
mov r14, qword [rbp + 0x298]
mov r15d, r12d
mov r13d, eax
mov edx, dword [rbx + r12*4]
lea esi, [rdi + 0x7f]
mov ebx, dword [r8 + 0x48]
add rbx, rcx
mov qword [rsp + 0x68], rdx
add r13, rcx
movzx eax, byte [rbx]
mov dword [rsp + 0x54], eax
mov dword [r8 + r15*4 + 0x78], eax
cmp dword [rsp + 0x54], esi
jae 0x14003e974
movzx eax, byte [rsp + 0x54]
lea rcx, [0x140000000]
add rbx, rdi
movzx ecx, byte [rax + rcx + 0x13ab20]
jmp 0x14003e9ba
lea rdx, [rsp + 0x54]
mov rcx, rbx
call fcn.14001dee8
mov rcx, qword [rsp + 0x58]
movzx eax, al
add rbx, rax
mov eax, dword [rsp + 0x54]
mov dword [rcx + r15*4 + 0x78], eax
mov eax, dword [rsp + 0x54]
cmp eax, esi
jb 0x14003e9a4
add eax, 0xfffffff4
shr eax, 1
jmp 0x14003e9b3
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x13ab20]
mov rdx, qword [rsp + 0x68]
mov ecx, eax
add rdx, rcx
add r12d, edi
movsxd r15, r12d
mov qword [rsp + 0x68], rdx
mov dword [r14 + r15*4], edx
cmp r12d, dword [rsp + 0x70]
jg 0x14003e9e2
cmp rbx, r13
jae 0x14003e9e2
mov r8, qword [rsp + 0x58]
jmp 0x14003e949
mov rcx, qword [rsp + 0x58]
mov rdi, qword [rbp - 0x80]
mov esi, dword [rsp + 0x34]
mov r14, qword [rbp - 0x40]
cmp rbx, r13
jb 0x14003ea02
ja 0x14003ea0a
mov eax, dword [rcx + 0x70]
cmp rdx, rax
jne 0x14003ea0a
mov eax, dword [rcx + 0x70]
cmp rdx, rax
jbe 0x14003ea60
mov rax, qword [rbp + 0x298]
xor edx, edx
cmp dword [rax], edx
jne 0x14003ea1f
mov r12d, edx
mov rbx, r13
jmp 0x14003ea62
xor r14d, r14d
cmp qword [rcx + 0x68], r14
jne 0x14003ea4b
mov eax, 0x2400
test word [rbp + 0xf0], ax
jne 0x14003ea3f
cmp dword [rbp + 0x108], r14d
je 0x14003ea4b
lea rcx, [rbp + 0xe8]
call fcn.140035f00
mov r12, qword [rsp + 0x40]
mov r13d, 1
mov r15, qword [rsp + 0x48]
jmp 0x14003e877
xor edx, edx
sub ebx, dword [rsp + 0x78]
mov word [rcx + 0x52], r12w
mov rax, qword [rsp + 0x58]
mov dword [rax + 0x48], ebx
mov r8, qword [rsp + 0x58]
cmp qword [r8 + 0x68], rdx
jne 0x14003eaa5
mov eax, 0x2400
test word [rbp + 0xf0], ax
jne 0x14003ea94
cmp dword [rbp + 0x108], edx
je 0x14003eaa5
lea rcx, [rbp + 0xe8]
call fcn.140035f00
mov r8, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x70]
mov r13d, 1
mov edx, dword [rsp + 0x54]
mov rbx, qword [rbp + 0x298]
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
jmp 0x14003eace
mov edx, r10d
mov dword [rsp + 0x54], edx
movzx eax, word [r8 + 0x52]
cmp eax, r9d
jg 0x14003eb18
cmp byte [rdi + 1], 0xf5
jne 0x14003eaf5
mov rdx, qword [rdi + 0x10]
mov r8d, 0x800
mov rcx, r14
call fcn.140036530
jmp 0x14003d73b
mov eax, 0x2400
test word [r14 + 8], ax
jne 0x14003e79f
mov word [r14 + 8], r13w
jmp 0x14003d73b
mov edx, dword [r8 + r9*4 + 0x78]
mov dword [rsp + 0x54], edx
mov eax, 0x2400
test word [r14 + 8], ax
je 0x14003eb3a
mov rcx, r14
call fcn.140035eb8
mov r8, qword [rsp + 0x58]
mov r9d, dword [rsp + 0x70]
mov edx, dword [rsp + 0x54]
lea eax, [r9 + 1]
movsxd rcx, eax
mov eax, dword [rbx + rcx*4]
cmp dword [r8 + 0x74], eax
jb 0x14003ec12
movsxd rax, r9d
mov r15d, dword [rbx + rax*4]
add r15, qword [r8 + 0x68]
cmp edx, 0xc
jae 0x14003eb6e
mov r8, r14
mov rcx, r15
call fcn.140039df8
jmp 0x14003d659
mov al, byte [rbp + 0x288]
lea ebx, [rdx - 0xc]
shr ebx, 1
mov dword [r14 + 0xc], ebx
mov byte [r14 + 0xa], al
lea edx, [rbx + 2]
cmp dword [r14 + 0x20], edx
jge 0x14003eba8
xor r8d, r8d
mov word [r14 + 8], r13w
mov rcx, r14
call fcn.140035a34
test eax, eax
jne 0x14004299d
mov rcx, qword [r14 + 0x10]
jmp 0x14003ebb0
mov rcx, qword [r14 + 0x18]
mov qword [r14 + 0x10], rcx
mov r8d, ebx
mov rdx, r15
call fcn.1400cac20
mov rax, qword [r14 + 0x10]
lea rcx, [0x140000000]
mov r10, qword [rbp + 0x280]
xor r8d, r8d
mov r15, qword [rsp + 0x48]
mov r11d, 2
mov r9b, byte [rbp + 0x288]
mov byte [rbx + rax], r8b
mov rax, qword [r14 + 0x10]
mov byte [rbx + rax + 1], r8b
mov eax, dword [rsp + 0x54]
mov rbx, qword [rsp + 0x38]
and rax, r13
mov r8d, dword [rsp + 0x30]
movzx eax, word [rcx + rax*2 + 0x136414]
mov word [r14 + 8], ax
jmp case.default.0x14003d2b6
mov al, byte [rbp + 0x288]
mov byte [r14 + 0xa], al
test byte [rdi + 2], 0xc0
mov edx, dword [rsp + 0x54]
je 0x14003ec3c
cmp edx, 0xc
jb 0x14003ec30
test r13b, dl
je 0x14003ec63
mov eax, 0x80
test byte [rdi + 2], al
jne 0x14003ec63
jmp 0x14003ec41
mov eax, 0x80
cmp edx, eax
jb 0x14003ec4e
lea r8d, [rdx - 0xc]
shr r8d, 1
jmp 0x14003ec5e
lea rcx, [0x140000000]
movzx r8d, byte [rdx + rcx + 0x13ab20]
test r8d, r8d
jne 0x14003ec77
mov r8, r14
lea rcx, [0x1401b2450]
call fcn.140039df8
jmp 0x14003d73b
movsxd rax, dword [rsp + 0x70]
mov r9, r14
mov rcx, qword [rsp + 0x58]
mov edx, dword [rbx + rax*4]
mov rcx, qword [rcx + 0x38]
call fcn.140036964
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
mov edx, dword [rsp + 0x54]
mov r8, r14
mov rcx, qword [r14 + 0x10]
call fcn.140039df8
mov eax, 0xefff
and word [r14 + 8], ax
jmp 0x14003d73b
movsxd rax, dword [rdi + 4]
mov r14, qword [rdi + 0x10]
imul rbx, rax, 0x38
mov al, byte [r14]
add rbx, r15
mov r8b, r9b
mov dl, al
mov rcx, rbx
call fcn.14003d004
cmp byte [r14], 0x45
jne 0x14003ed38
movzx ecx, word [rbx + 8]
mov eax, 4
test al, cl
je 0x14003ed38
mov rdx, qword [rbx]
movabs rax, 0x800000000000
add rax, rdx
movabs r8, 0xffffffffffff
cmp rax, r8
mov eax, 0xfffb
ja 0x14003ed1d
and cx, ax
mov eax, Ordinal_36
jmp 0x14003ed31
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 0x1400422dc
mov r9b, byte [rbp + 0x288]
add rbx, 0x38
jmp 0x14003eccf
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]
lea r11d, [rbx + 1]
add rdx, qword [rsp + 0x48]
sub eax, r11d
cdqe
imul r15, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add r15, rdx
mov dword [rsp + 0x50], ebx
add rcx, qword [rsp + 0x48]
mov qword [rsp + 0x78], rbx
mov qword [rsp + 0x68], rdx
mov qword [rbp - 0x40], r15
mov byte [rbp + 0x298], r10b
mov qword [rbp - 0x28], rcx
test r14, r14
je 0x14003ee2e
mov al, byte [r14]
lea esi, [r13 + 4]
mov r12b, byte [rbp + 0x288]
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.14003d004
cmp byte [r14], 0x45
jne 0x14003edfc
movzx eax, word [rbx]
test sil, al
je 0x14003edfc
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 0x14003edd6
mov rdi, qword [rbp - 0x80]
mov r13, r15
mov r15, qword [rbp - 0x40]
xor ebx, ebx
mov r9d, dword [rsp + 0x50]
mov r10b, byte [rbp + 0x298]
mov rdx, qword [rsp + 0x68]
lea r12, [r15 + 0x24]
movzx ecx, word [r12 - 0x1c]
test r11b, cl
je 0x14003ee59
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
mov dword [r12], eax
add r9d, r11d
jmp 0x14003efd6
test cl, 0x24
je 0x14003ef40
mov r8, qword [r12 - 0x24]
mov rdx, r8
test r8, r8
jns 0x14003ee72
not rdx
add r9d, r11d
mov dword [rsp + 0x50], r9d
cmp rdx, 0x7f
ja 0x14003eea8
mov rax, r8
and rax, r11
cmp rax, r8
jne 0x14003ee9d
mov eax, 4
cmp r10b, al
jb 0x14003ee9d
lea eax, [rdx + 8]
jmp 0x14003ef32
add r13, r11
mov eax, r11d
jmp 0x14003ef32
cmp rdx, 0x7fff
ja 0x14003eeb8
mov eax, 2
jmp 0x14003eeda
cmp rdx, 0x7fffff
ja 0x14003eecc
add r13, 3
mov eax, 3
jmp 0x14003ef32
cmp rdx, 0x7fffffff
ja 0x14003eedf
mov eax, 4
add r13, rax
jmp 0x14003ef32
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x14003eef9
add r13, 6
mov eax, 5
jmp 0x14003ef32
mov edx, 8
add r13, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x14003ef2d
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 0x14003ef32
mov eax, 6
mov dword [r12], eax
mov rdx, qword [rsp + 0x68]
jmp 0x14003efdb
mov eax, 8
test al, cl
je 0x14003ef5a
add r9d, r11d
add r13, rax
mov eax, 7
mov dword [r12], eax
jmp 0x14003efd6
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 0x14003efab
lea rbx, [r12 - 0x24]
movsxd rax, dword [rbx]
lea r15d, [r15 + rax*2]
test r13, r13
je 0x14003efa4
mov rcx, rbx
call fcn.140035c4c
test eax, eax
jne 0x14004299d
add r14d, dword [rbx]
lea r11d, [rax + 1]
jmp 0x14003efa9
add qword [rsp + 0x78], rax
xor ebx, ebx
mov eax, r14d
mov ecx, r11d
add r13, rax
mov eax, r15d
jmp 0x14003efbc
add ecx, r11d
shr rax, 7
test rax, rax
jne 0x14003efb9
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 0x14003eff5
mov r10b, byte [rbp + 0x298]
sub r12, 0x38
jmp 0x14003ee32
cmp r9d, 0x7e
jle 0x14003f02f
mov edx, r11d
movsxd rax, r9d
jmp 0x14003f006
add edx, r11d
shr rax, 7
test rax, rax
jne 0x14003f003
add r9d, edx
mov ecx, r11d
mov dword [rsp + 0x50], r9d
movsxd rax, r9d
jmp 0x14003f022
add ecx, r11d
shr rax, 7
test rax, rax
jne 0x14003f01f
cmp edx, ecx
jge 0x14003f037
add r9d, r11d
mov dword [rsp + 0x50], r9d
mov r15, qword [rsp + 0x78]
mov r10, qword [rbp - 0x28]
movsxd r14, r9d
movsxd rax, dword [r10 + 0x20]
lea rbx, [r14 + r13]
lea rcx, [rbx + r15]
cmp rcx, rax
jg 0x14003f05e
mov rax, qword [r10 + 0x18]
mov qword [r10 + 0x10], rax
jmp 0x14003f0ac
mov r8, qword [rsp + 0x40]
movsxd rax, dword [r8 + 0x7c]
cmp rcx, rax
jg 0x1400418b0
cmp dword [r10 + 0x20], ebx
jge 0x14003f094
xor r8d, r8d
mov edx, ebx
mov rcx, r10
call fcn.140035a34
mov r9d, dword [rsp + 0x50]
mov r11d, 1
mov r10, qword [rbp - 0x28]
jmp 0x14003f0a4
mov rax, qword [r10 + 0x18]
and word [r10 + 8], 0x2d
mov qword [r10 + 0x10], rax
xor eax, eax
test eax, eax
jne 0x14004299d
mov dword [r10 + 0xc], ebx
mov eax, 0x10
mov word [r10 + 8], ax
test r15, r15
je 0x14003f0cc
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 0x14003f0e6
mov byte [rbx], r9b
mov eax, r11d
jmp 0x14003f12a
cmp r14, 0x7f
ja 0x14003f0f5
and r14b, 0x7f
mov byte [rbx], r14b
jmp 0x14003f0e1
cmp r14, 0x3fff
ja 0x14003f11a
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 0x14003f12f
mov rdx, r14
mov rcx, rbx
call fcn.14001dc90
mov ecx, 0x80
mov esi, 2
mov r13, qword [rsp + 0x68]
mov edi, 1
mov r12, qword [rbp - 0x40]
movzx eax, al
add rbx, rax
mov r14d, dword [r13 + 0x24]
cmp r14d, ecx
jae 0x14003f151
mov byte [rbx], r14b
jmp 0x14003f15f
mov rdx, r14
cmp r14, 0x7f
ja 0x14003f163
and dl, 0x7f
mov byte [rbx], dl
mov eax, edi
jmp 0x14003f189
cmp rdx, 0x3fff
ja 0x14003f181
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 0x14003f189
mov rcx, rbx
call fcn.14001dc90
movzx eax, al
mov r8d, r14d
mov rdx, r13
mov rcx, r15
add rbx, rax
call fcn.140039ca8
mov eax, eax
add r13, 0x38
add r15, rax
mov ecx, 0x80
cmp r13, r12
jbe 0x14003f143
mov rdi, qword [rbp - 0x80]
lea r13d, [rcx - 0x7f]
mov esi, dword [rsp + 0x34]
jmp 0x14003dc41
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp + 0x18]
mov rax, qword [r10 + 0x78]
xor r14d, r14d
mov rcx, qword [rax + rcx*8]
mov rcx, qword [rcx + 0x38]
mov qword [rbp + 0x18], r14
call fcn.140033d58
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
mov rcx, qword [rbp + 0x280]
mov rdx, rdi
call fcn.14003d194
mov rcx, qword [rbp + 0x18]
mov qword [rax], rcx
mov r10, qword [rbp + 0x280]
mov r12, qword [rsp + 0x40]
jmp 0x14003d466
mov ebx, dword [rdi + 4]
xor r14d, r14d
mov r15, qword [rdi + 0x10]
mov dword [rsp + 0x50], ebx
test ebx, ebx
jne 0x14003f2f6
cmp dword [r12 + 0xd0], r14d
jg 0x14004259c
test r15, r15
je 0x14003f251
mov rcx, r15
call fcn.1401054a0
mov r14, rax
and r14d, 0x3fffffff
mov r8d, dword [r12 + 0x280]
xor edx, edx
add r8d, dword [r12 + 0x27c]
mov rcx, r12
call fcn.1400751e4
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
mov edx, r14d
mov rcx, r12
add rdx, 0x21
call fcn.14001aa88
mov rbx, rax
test rax, rax
je 0x1400422d7
lea rcx, [rax + 0x20]
mov rdx, r15
lea r8d, [r14 + 1]
mov qword [rax], rcx
call fcn.1400cac20
xor r14d, r14d
cmp byte [r12 + 0x5f], r14b
je 0x14003f2bd
mov byte [r12 + 0x5f], r14b
mov byte [r12 + 0x67], r13b
jmp 0x14003f2c5
add dword [r12 + 0x27c], r13d
mov rax, qword [r12 + 0x270]
mov qword [rbx + 0x18], rax
mov rax, qword [r12 + 0x288]
mov qword [r12 + 0x270], rbx
mov qword [rbx + 8], rax
mov rax, qword [r12 + 0x290]
mov qword [rbx + 0x10], rax
jmp 0x14003d659
mov r8, qword [rsp + 0x40]
mov r12d, r14d
mov r13, qword [r8 + 0x270]
test r13, r13
je 0x140042617
mov rcx, qword [r13]
mov rdx, r15
call fcn.14001d318
test eax, eax
je 0x14003f32a
mov r13, qword [r13 + 0x18]
inc r12d
test r13, r13
jne 0x14003f30e
mov dword [rbp + 0x298], r12d
test r13, r13
je 0x140042610
mov rcx, qword [rsp + 0x40]
cmp dword [rcx + 0xd0], r14d
jle 0x14003f351
cmp ebx, 1
je 0x1400425b5
cmp qword [r13 + 0x18], r14
jne 0x14003f3c1
cmp byte [rcx + 0x67], r14b
je 0x14003f3c1
mov r14d, 1
mov dword [rbp - 0x80], r14d
cmp ebx, r14d
jne 0x14003f3c7
mov r12, qword [rbp + 0x280]
mov edx, r14d
mov rcx, r12
call fcn.1400394ec
xor r15d, r15d
mov esi, eax
test eax, eax
jne 0x140042938
mov r12, qword [rsp + 0x40]
mov rsi, qword [rbp + 0x280]
mov rcx, rsi
mov byte [r12 + 0x5f], r14b
call fcn.14003953c
lea ecx, [r14 + 4]
cmp eax, ecx
je 0x1400425d5
mov byte [r12 + 0x67], r15b
mov esi, dword [rsi + 0x38]
mov dword [rsp + 0x34], esi
jmp 0x14003f4d0
mov dword [rbp - 0x80], r14d
jmp 0x14003f3ca
xor r14d, r14d
mov edx, dword [rcx + 0x27c]
mov r9d, 2
mov eax, dword [rcx + 0x28]
sub edx, r12d
dec edx
mov dword [rbp + 0x298], edx
cmp ebx, r9d
jne 0x14003f446
mov r12d, dword [rcx + 0x2c]
mov r15d, r14d
and r12d, 1
test eax, eax
jle 0x14003f449
mov r14d, r12d
xor r14d, 1
xor eax, eax
mov ebx, eax
mov rcx, qword [rcx + 0x20]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.14002e044
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
mov rcx, qword [rsp + 0x40]
inc r15d
add rbx, 0x20
mov eax, dword [rcx + 0x28]
cmp r15d, eax
jl 0x14003f403
mov edx, dword [rbp + 0x298]
xor r14d, r14d
jmp 0x14003f449
mov r12d, r14d
xor r15d, r15d
test eax, eax
jle 0x14003f492
mov ebx, r15d
mov r15d, dword [rsp + 0x50]
mov rcx, qword [rcx + 0x20]
mov r8d, edx
mov edx, r15d
mov rcx, qword [rbx + rcx + 8]
call fcn.14002e1f0
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
mov rcx, qword [rsp + 0x40]
inc r14d
mov edx, dword [rbp + 0x298]
add rbx, 0x20
cmp r14d, dword [rcx + 0x28]
jl 0x14003f458
test r12d, r12d
mov r12, qword [rsp + 0x40]
je 0x14003f4c8
mov rax, qword [r12 + 8]
jmp 0x14003f4b5
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14003f4a3
mov rcx, r12
call fcn.14005360c
or dword [r12 + 0x2c], 1
mov r14d, dword [rbp - 0x80]
mov ebx, dword [rsp + 0x50]
mov rcx, qword [r12 + 0x270]
jmp 0x14003f501
mov rax, qword [rcx + 0x18]
mov rdx, rcx
mov rcx, r12
mov qword [r12 + 0x270], rax
call fcn.14001a800
mov rcx, qword [r12 + 0x270]
dec dword [r12 + 0x27c]
cmp rcx, r13
jne 0x14003f4da
cmp ebx, 1
jne 0x14003f531
mov rax, qword [r13 + 0x18]
mov rdx, r13
mov rcx, r12
mov qword [r12 + 0x270], rax
call fcn.14001a800
test r14d, r14d
jne 0x14003f59e
dec dword [r12 + 0x27c]
jmp 0x14003f559
mov rax, qword [r13 + 8]
mov qword [r12 + 0x288], rax
mov rax, qword [r13 + 0x10]
mov qword [r12 + 0x290], rax
test r14d, r14d
je 0x14003f559
mov r11d, 2
cmp ebx, r11d
jne 0x14003f5a3
mov r8d, dword [rbp + 0x298]
mov edx, ebx
mov rcx, r12
call fcn.1400751e4
xor r14d, r14d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
mov r11d, 2
test esi, esi
jne 0x14003df10
lea r13d, [rsi + 1]
mov r10, qword [rbp + 0x280]
mov r15, qword [rsp + 0x48]
jmp 0x14003e485
xor r14d, r14d
jmp 0x14003f57b
xor r14d, r14d
jmp 0x14003f581
mov edx, dword [rdi + 8]
xor r14d, r14d
mov dword [rbp - 0x80], r14d
test edx, edx
je 0x14003f5c6
mov eax, dword [r12 + 0x30]
bt rax, 0x14
jb 0x140042633
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x14003f6a9
lea r8, [rbp - 0x80]
mov rcx, rbx
call fcn.14002d2d0
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14004263d
mov r10, qword [rbp + 0x280]
cmp dword [rdi + 8], r14d
je 0x14003f6a9
mov eax, 0x80
test byte [r10 + 0xc8], al
je 0x14003f6a9
cmp byte [r12 + 0x5f], r14b
je 0x14003f62f
cmp dword [r12 + 0xcc], r13d
jle 0x14003f6a9
mov r8d, dword [r10 + 0x40]
test r8d, r8d
jne 0x14003f654
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.1400751e4
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003f68a
mov r12, qword [rbp + 0x280]
mov rcx, rbx
mov edx, dword [r12 + 0x40]
call fcn.14002e1cc
mov r12, qword [rsp + 0x40]
mov esi, eax
mov dword [rsp + 0x34], eax
mov rax, qword [r12 + 0x288]
mov r10, qword [rbp + 0x280]
mov qword [r10 + 0x58], rax
mov rax, qword [r12 + 0x290]
mov qword [r10 + 0x60], rax
cmp word [rdi + 2], r14w
je 0x14003f74a
mov eax, dword [rdi + 0xc]
cmp dword [rbp - 0x80], eax
jne 0x14003f6d6
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 0x14003f74a
mov rdx, qword [r10 + 0xa8]
test rdx, rdx
je 0x14003f6ea
mov rcx, r12
call fcn.14001a800
lea rdx, str.database_schema_has_changed
mov rcx, r12
call fcn.14001ac04
mov r10, qword [rbp + 0x280]
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 [rbp - 0x80]
cmp dword [rcx], eax
je 0x14003f732
mov rcx, r12
call fcn.140053590
mov r10, qword [rbp + 0x280]
and dword [r10 + 0xc8], 0xfffffffd
mov esi, 0x11
or dword [r10 + 0xc8], r13d
mov dword [rsp + 0x34], esi
test esi, esi
jne 0x14003df10
jmp 0x14003d665
movsxd rax, dword [rdi + 4]
lea r8, [rbp + 0xc]
mov rcx, qword [r12 + 0x20]
mov edx, dword [rdi + 0xc]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140033c90
mov rcx, qword [rbp + 0x280]
mov rdx, rdi
call fcn.14003d194
movsxd rcx, dword [rbp + 0xc]
jmp 0x14003f202
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.140033cdc
mov esi, eax
mov dword [rsp + 0x34], eax
mov r11d, 2
cmp dword [rdi + 8], r13d
jne 0x14003f7cc
mov rcx, qword [rbx + 0x18]
mov eax, dword [rdi + 0xc]
mov dword [rcx], eax
or dword [r12 + 0x2c], r13d
jmp 0x14003f7dc
cmp dword [rdi + 8], r11d
jne 0x14003f7dc
mov rcx, qword [rbx + 0x18]
mov al, byte [rdi + 0xc]
mov byte [rcx + 0x70], al
xor r14d, r14d
cmp dword [rdi + 4], r13d
jne 0x14003f814
mov rax, qword [r12 + 8]
jmp 0x14003f7fe
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r13d
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14003f7ec
mov r10, qword [rbp + 0x280]
and dword [r10 + 0xc8], 0xfffffffc
jmp 0x14003f81b
mov r10, qword [rbp + 0x280]
test esi, esi
jne 0x14003df10
jmp 0x14003e485
movsxd rcx, dword [rdi + 4]
mov rax, qword [r10 + 0x78]
mov rbx, qword [rax + rcx*8]
test rbx, rbx
je case.0x14003d2b6.97
mov eax, dword [rdi + 8]
cmp dword [rbx + 0x4c], eax
je 0x14003f9c3
mov eax, dword [r10 + 0xc8]
and al, 3
cmp al, r13b
je 0x140042681
movsxd rdx, dword [rdi + 0xc]
xor eax, eax
mov r8, qword [rsp + 0x40]
mov r12d, eax
movsxd r15, dword [rdi + 8]
mov r13d, eax
mov rax, rdx
mov dword [rbp + 0x298], edx
shl rax, 5
add rax, qword [r8 + 0x20]
mov rcx, qword [rax + 8]
mov qword [rbp + 0x10], rcx
cmp r14b, 0x62
jne 0x14003f8b4
movzx esi, word [rdi + 2]
lea ecx, [r13 + 4]
mov rax, qword [rax + 0x18]
and esi, 8
or esi, ecx
xor r14d, r14d
mov cl, byte [rax + 0x70]
cmp cl, byte [r10 + 0xc3]
jae 0x14003f8ba
mov byte [r10 + 0xc3], cl
jmp 0x14003f8ba
xor r14d, r14d
mov esi, r14d
mov eax, 0x10
test byte [rdi + 2], al
je 0x14003f8e8
imul rbx, r15, 0x38
mov rax, r15
add rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.1400360d0
mov edx, dword [rbp + 0x298]
mov r10, qword [rbp + 0x280]
mov r15d, dword [rbx]
mov al, byte [rdi + 1]
cmp al, 0xf7
jne 0x14003f8fa
mov r13, qword [rdi + 0x10]
movzx r12d, word [r13 + 8]
jmp 0x14003f902
cmp al, 0xfd
jne 0x14003f902
mov r12d, dword [rdi + 0x10]
mov r9d, edx
mov byte [rsp + 0x20], r14b
mov edx, dword [rdi + 4]
mov r8d, r12d
mov rcx, r10
call fcn.14003cde4
mov rbx, rax
test rax, rax
je 0x14004299d
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 0x14003f96f
lea esi, [rcx + 0xa]
mov r9d, 0x108ea
lea rax, [0x14015b134]
mov ecx, esi
lea r8, str.database_corruption
mov qword [rsp + 0x20], rax
lea rdx, str._s_at_line__d_of___.10s_
call fcn.14001c70c
mov dword [rsp + 0x34], esi
jmp 0x14003f98c
mov rcx, qword [rbp + 0x10]
mov r9, r13
mov r8d, esi
mov qword [rsp + 0x20], rax
mov edx, r15d
call fcn.14002e27c
mov esi, eax
mov dword [rsp + 0x34], eax
mov r10, qword [rbp + 0x280]
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov r9b, byte [rbp + 0x288]
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
lea r11d, [r13 + 1]
jmp 0x14003f9c6
xor r14d, r14d
mov cl, byte [rdi + 2]
mov rax, qword [rbx + 0x38]
and cl, 3
mov byte [rax + 3], cl
test esi, esi
jne 0x14003df10
jmp 0x14003d8d0
movsxd rcx, dword [rdi + 8]
xor r14d, r14d
mov rax, qword [r10 + 0x78]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov byte [rsp + 0x20], r14b
mov rbx, qword [rax + rcx*8]
mov rcx, r10
movsx r8d, word [rbx + 0x50]
call fcn.14003cde4
mov rdx, rax
test rax, rax
je 0x14004299d
or dword [rax + 8], r13d
mov r14d, 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 0x14003fa7f
lea rax, [0x14015b134]
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.14001c70c
mov dword [rsp + 0x34], esi
jmp 0x14003d73b
mov edx, ecx
mov qword [rsp + 0x20], rax
mov rcx, qword [rbx + 0x10]
mov r8d, r14d
call fcn.14002e27c
mov esi, eax
mov dword [rsp + 0x34], eax
jmp 0x14003d73b
movsxd rdx, dword [rdi + 4]
xor r14d, r14d
mov rax, qword [r10 + 0x78]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x14003fadc
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], r14
mov dword [rbx + 0x28], r14d
test rcx, rcx
je 0x14003fc59
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
call fcn.140033a38
mov esi, eax
mov dword [rsp + 0x34], eax
jmp 0x14003fc40
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov rcx, r10
mov byte [rsp + 0x20], r14b
call fcn.14003cde4
mov rbx, rax
test rax, rax
je 0x14004299d
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.14002c860
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003fc22
mov rcx, qword [r14]
xor r8d, r8d
mov edx, r13d
call fcn.14002d2d0
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003fc22
mov r12, qword [rdi + 0x10]
lea r15, [rbx + 0x4c]
mov rcx, qword [r14]
mov qword [rbx + 0x40], r12
test r12, r12
je 0x14003fbf3
movzx r8d, word [rdi + 2]
mov rdx, r15
or r8d, 2
call fcn.1400335c0
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003fbe0
mov rax, qword [rbx + 0x38]
cmp dword [r15], r13d
jge 0x14003fbc1
lea rax, [0x14015b134]
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.14001c70c
mov dword [rsp + 0x34], esi
jmp 0x14003fbe0
mov edx, dword [r15]
mov r9, r12
mov rcx, qword [r14]
mov r8d, 4
mov qword [rsp + 0x20], rax
call fcn.14002e27c
mov esi, eax
mov dword [rsp + 0x34], eax
mov r12, qword [rsp + 0x40]
xor r14d, r14d
mov r15, qword [rsp + 0x48]
mov byte [rbx + 4], r14b
jmp 0x14003fc25
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.14002e27c
mov r12, qword [rsp + 0x40]
mov esi, eax
mov r15, qword [rsp + 0x48]
mov dword [rsp + 0x34], eax
mov byte [rbx + 4], r13b
xor r14d, r14d
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 r11d, 2
mov r9b, byte [rbp + 0x288]
mov r10, qword [rbp + 0x280]
test esi, esi
jne 0x14003df10
mov byte [rbx + 2], r13b
jmp 0x14003d8d0
mov r8d, dword [rdi + 8]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov rcx, r10
mov byte [rsp + 0x20], r13b
call fcn.14003cde4
xor r14d, r14d
test rax, rax
je 0x14004299d
mov rcx, qword [rdi + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov rcx, r12
mov edx, dword [rdi + 0xc]
call fcn.140043ca0
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
jmp 0x14003d492
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 0x140041b26
jmp case.0x14003d2b6.86
mov r8d, dword [rdi + 0xc]
or r9d, 0xffffffff
mov edx, dword [rdi + 4]
mov rcx, r10
mov byte [rsp + 0x20], 3
call fcn.14003cde4
test rax, rax
je 0x14004299d
mov byte [rax + 2], r13b
mov ecx, dword [rdi + 8]
mov dword [rax + 0x2c], ecx
lea rcx, [0x1401b244c]
mov qword [rax + 0x38], rcx
mov byte [rax + 4], r13b
jmp 0x14003d492
movsxd rax, dword [rdi + 4]
mov rcx, r10
mov rdx, qword [r10 + 0x78]
mov rdx, qword [rdx + rax*8]
call fcn.140038ca0
mov r10, qword [rbp + 0x280]
xor r8d, r8d
movsxd rcx, dword [rdi + 4]
mov rax, qword [r10 + 0x78]
mov qword [rax + rcx*8], r8
jmp 0x14003d466
movsxd rcx, dword [rdi + 4]
xor edx, edx
mov rax, qword [r10 + 0x78]
mov dword [rbp + 0x298], edx
mov r15, qword [rax + rcx*8]
mov word [r15 + 2], dx
mov dword [r15 + 0x28], edx
cmp byte [r15 + 4], dl
je 0x14003fe5b
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x48]
movzx r12d, word [rbx + 8]
mov al, r12b
and al, 0x2e
cmp al, r11b
jne 0x14003fd96
mov rcx, rbx
call fcn.14003cf78
mov rcx, rbx
call fcn.140035fc4
movzx ecx, word [rbx + 8]
mov r13, rax
mov word [rbx + 8], r12w
test cl, 0x24
jne 0x14003fe25
mov eax, 8
test al, cl
jne 0x14003fdf3
lea r13d, [rax - 7]
test r13b, cl
jne 0x140041d91
cmp r14d, 0x18
jae 0x140041d91
mov rcx, qword [r15 + 0x38]
lea rdx, [rsp + 0x60]
call fcn.14002ed38
xor r14d, r14d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
jmp 0x14003ff7c
movsd xmm1, qword [rbx]
xorps xmm0, xmm0
cvtsi2sd xmm0, r13
comisd xmm1, xmm0
jae 0x14003fe16
test r14b, 1
lea eax, [r14 - 1]
cmove eax, r14d
mov r14d, eax
jmp 0x14003fe25
jbe 0x14003fe25
mov eax, 1
test al, r14b
jne 0x14003fe25
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.14002eda0
mov dword [rsp + 0x34], eax
mov esi, eax
mov qword [r15 + 0x58], r13
test eax, eax
jne 0x14003df10
lea r13d, [rax + 1]
jmp 0x14003feed
mov rax, qword [r15 + 0x38]
mov r12d, edx
mov bl, byte [rax + 3]
mov rax, qword [r15 + 0x40]
and bl, r11b
mov qword [rbp + 0x28], rax
movzx eax, word [rdi + 0x10]
setne r12b
mov word [rbp + 0x38], ax
mov eax, r14d
and al, r13b
mov byte [rbp + 0x3e], dl
neg al
mov dword [rbp + 0x298], r12d
movsxd rax, dword [rdi + 0xc]
lea rdx, [rbp + 0x28]
sbb cl, cl
xor r9d, r9d
and cl, 0xfe
xor r8d, r8d
add cl, r13b
mov byte [rbp + 0x3a], cl
imul rcx, rax, 0x38
lea rax, [rsp + 0x60]
add rcx, qword [rsp + 0x48]
mov qword [rbp + 0x30], rcx
mov rcx, qword [r15 + 0x38]
mov qword [rsp + 0x20], rax
call fcn.14002eda0
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
test bl, bl
je 0x14003feed
mov dword [rbp + 0x298], r12d
xor r12d, r12d
cmp byte [rbp + 0x3e], r12b
je 0x14003ff79
mov eax, dword [rsp + 0x60]
cmp r14d, 0x18
jl 0x14003ff42
test eax, eax
js 0x14003ff0d
jne 0x14003ff03
cmp r14d, 0x19
je 0x14003ff0d
xor r14d, r14d
mov dword [rsp + 0x60], r14d
jmp 0x14003ff87
xor r14d, r14d
xor edx, edx
mov dword [rsp + 0x60], r14d
mov rcx, qword [r15 + 0x38]
call fcn.14002f3c0
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
je 0x14003ff7c
cmp eax, 0x65
jne 0x14003df10
mov esi, r14d
mov dword [rsp + 0x34], r14d
mov dword [rsp + 0x60], r13d
jmp 0x14003ff7c
test eax, eax
jg 0x14003ff64
jne 0x14003ff4e
cmp r14d, 0x16
je 0x14003ff64
mov rax, qword [r15 + 0x38]
xor r14d, r14d
mov ecx, r14d
cmp byte [rax], r14b
setne cl
mov dword [rsp + 0x60], ecx
jmp 0x14003ff7c
xor r14d, r14d
xor edx, edx
mov dword [rsp + 0x60], r14d
mov rcx, qword [r15 + 0x38]
call fcn.14002f518
jmp 0x14003ff20
xor r14d, r14d
cmp dword [rsp + 0x60], r14d
jne 0x140041d91
cmp dword [rbp + 0x298], r14d
lea rax, [rdi + 0x18]
cmove rax, rdi
mov rdi, rax
jmp 0x14003dc41
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.0x14003d2b6.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.0x14003d2b6.86
mov rax, qword [r10 + 0x78]
movsxd rcx, dword [rdi + 4]
mov r14, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rsi, rax, 0x38
add rsi, r15
xor r15d, r15d
cmp dword [rdi + 0x10], r15d
jle 0x14004001e
mov rax, qword [r14 + 0x40]
lea rbx, [rbp + 0xa0]
mov qword [rbp + 0xa0], rax
movzx eax, word [rdi + 0x10]
mov word [rbp + 0xb0], ax
mov qword [rbp + 0xa8], rsi
jmp 0x140040069
mov eax, 0x4000
test word [rsi + 8], ax
je 0x140040033
mov rcx, rsi
call fcn.140035c4c
jmp 0x140040036
mov eax, r15d
test eax, eax
jne 0x14004299d
mov rcx, qword [r14 + 0x40]
call fcn.140039f74
mov rbx, rax
mov r15, rax
test rax, rax
je 0x14004299d
mov r8, qword [rsi + 0x10]
mov r9, rax
mov edx, dword [rsi + 0xc]
mov rcx, qword [r14 + 0x40]
call fcn.140039fcc
xor eax, eax
mov byte [rbx + 0x12], al
mov r12d, eax
cmp byte [rdi], 0x1b
jne 0x14004009d
movzx edx, word [rbx + 0x10]
mov ecx, eax
test edx, edx
je 0x14004009d
mov rax, qword [rbx + 8]
add rax, 8
test byte [rax], r13b
jne 0x14004009a
add ecx, r13d
add rax, 0x38
cmp ecx, edx
jl 0x140040088
jmp 0x14004009d
mov r12d, r13d
mov rcx, qword [r14 + 0x38]
lea rax, [rbp - 0x38]
xor r9d, r9d
mov qword [rsp + 0x20], rax
xor r8d, r8d
mov rdx, rbx
call fcn.14002eda0
mov dword [rsp + 0x34], eax
mov esi, eax
test r15, r15
je 0x1400400d0
mov rcx, qword [rsp + 0x40]
mov rdx, r15
call fcn.14001a800
xor r15d, r15d
test esi, esi
jne 0x14003df10
mov eax, dword [rbp - 0x38]
mov ecx, r15d
mov dword [r14 + 0x2c], eax
mov eax, dword [rbp - 0x38]
test eax, eax
mov byte [r14 + 3], r15b
sete cl
mov dword [r14 + 0x28], r15d
test eax, eax
setne al
mov byte [r14 + 2], al
cmp byte [rdi], 0x1d
jne 0x140040120
test ecx, ecx
jmp 0x140041d81
mov r10, qword [rbp + 0x280]
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
jmp 0x14003d466
test r12d, r12d
jne 0x140041d91
mov rbx, qword [rsp + 0x38]
test ecx, ecx
je 0x140041b26
jmp 0x14004010a
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add rcx, r15
test byte [rcx + 8], 0x24
jne case.0x14003d2b6.31
movups xmm0, xmmword [rcx]
mov r8b, r9b
mov dl, 0x43
movups xmm1, xmmword [rcx + 0x10]
movups xmmword [rbp + 0x120], xmm0
movups xmm0, xmmword [rcx + 0x20]
movups xmmword [rbp + reloc.WLDAP32.dll_Ordinal_304], xmm1
movsd xmm1, qword [rcx + 0x30]
lea rcx, [rbp + 0x120]
movups xmmword [rbp + 0x140], xmm0
movsd qword [rbp + 0x150], xmm1
call fcn.14003d004
mov eax, 4
test byte [rbp + 0x128], al
je 0x140041b26
mov r14, qword [rbp + 0x120]
mov r10, qword [rbp + 0x280]
jmp 0x1400401b4
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov r14, qword [rcx + r15]
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 - 0x64], eax
lea rax, [rbp - 0x64]
mov qword [rsp + 0x20], rax
call fcn.14002eda0
mov qword [rbx + 0x58], r14
mov esi, eax
xor r14d, r14d
mov dword [rsp + 0x34], eax
mov word [rbx + 2], r14w
mov dword [rbx + 0x28], r14d
mov eax, dword [rbp - 0x64]
mov dword [rbx + 0x2c], eax
cmp dword [rbp - 0x64], r14d
je 0x14003df08
cmp dword [rdi + 8], r14d
jne 0x14003de51
mov r9d, 0x159cf
jmp 0x14004256f
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
movsxd rdx, dword [rdi + 4]
mov r10, qword [rbp + 0x280]
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 0x14003d466
xor eax, eax
mov rdx, rdi
mov rcx, r10
mov qword [rsp + 0x68], rax
mov dword [rbp + 0x298], eax
call fcn.14003d194
mov r12, qword [rbp + 0x280]
mov r11d, 2
movsxd rdx, dword [rdi + 4]
mov r15, rax
mov rcx, qword [r12 + 0x78]
mov r14, qword [rcx + rdx*8]
test byte [r14 + 8], r11b
jne 0x1400402fc
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp + 0x298]
call fcn.14002ed38
xor r8d, r8d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df17
cmp dword [rbp + 0x298], r8d
je 0x1400402c4
mov qword [rsp + 0x68], r13
lea r11d, [rax + 2]
jmp 0x1400402fc
mov rbx, qword [r14 + 0x38]
mov rcx, rbx
call fcn.14002e3f8
mov rax, qword [rbx + 0x30]
movabs rcx, 0x7fffffffffffffff
mov qword [rsp + 0x68], rax
mov r11d, 2
cmp rax, rcx
jl 0x1400402f4
or dword [r14 + 8], r11d
jmp 0x1400402fc
inc rax
mov qword [rsp + 0x68], rax
movsxd rdx, dword [rdi + 0xc]
test edx, edx
je 0x14004037b
mov rcx, qword [r12 + 0x100]
test rcx, rcx
je 0x14004032d
mov rax, qword [rcx + 8]
jmp 0x14004031e
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140040317
imul rbx, rdx, 0x38
add rbx, qword [rcx + 0x20]
jmp 0x140040336
imul rbx, rdx, 0x38
add rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.1400360d0
mov rax, qword [rbx]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x1400403e8
mov r11d, 2
test byte [r14 + 8], r11b
jne 0x1400403e8
mov rcx, qword [rsp + 0x68]
inc rax
cmp rcx, rax
cmovl rcx, rax
mov qword [rsp + 0x68], rcx
mov qword [rbx], rcx
test byte [r14 + 8], r11b
je 0x1400403f8
xor edx, edx
mov ebx, edx
lea rdx, [rsp + 0x68]
mov ecx, 8
call fcn.14001c75c
mov r8, qword [rsp + 0x68]
movabs rax, 0x3fffffffffffffff
and r8, rax
xor r9d, r9d
add r8, r13
lea rax, [rbp + 0x298]
mov qword [rsp + 0x68], r8
xor edx, edx
mov rcx, qword [r14 + 0x38]
mov qword [rsp + 0x20], rax
call fcn.14002eda0
mov esi, eax
mov dword [rsp + 0x34], eax
xor eax, eax
test esi, esi
jne 0x14003df17
cmp dword [rbp + 0x298], eax
jne 0x1400403f2
add ebx, r13d
cmp ebx, 0x64
jl 0x140040385
mov esi, reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x14003df17
mov r11d, 2
xor ebx, ebx
mov byte [r14 + 3], bl
mov dword [r14 + 0x28], ebx
mov rax, qword [rsp + 0x68]
mov qword [r15], rax
mov r12, qword [rsp + 0x40]
jmp 0x14003f58d
movsxd rax, dword [rdi + 8]
xor r11d, r11d
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r10 + 0x78]
add rdx, r15
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
cmp byte [rdi + 1], 0xfa
mov r8, qword [rcx + r15]
mov qword [rbp + 0xc0], r8
jne 0x140040469
cmp qword [r12 + 0x120], r11
je 0x140040469
movsx rcx, byte [rbx + 1]
mov rax, qword [r12 + 0x20]
mov r14, qword [rdi + 0x10]
shl rcx, 5
mov r15, qword [rcx + rax]
jmp 0x14004046f
mov r14, r11
mov r15, r11
movzx ecx, word [rdi + 2]
test r13b, cl
je 0x140040480
add dword [r10 + 0x3c], r13d
movzx ecx, word [rdi + 2]
mov eax, Ordinal_36
test al, cl
je 0x140040492
mov qword [r12 + 0x38], r8
movzx ecx, word [rdi + 2]
mov rax, qword [rdx + 0x10]
mov qword [rbp + 0xc8], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp + 0xdc], eax
mov eax, 0x10
test al, cl
je 0x1400404b5
mov r9d, dword [rbx + 0x2c]
jmp 0x1400404b8
mov r9d, r11d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x1400404cd
mov eax, dword [rdx]
mov dword [rbp + 0xe0], eax
jmp 0x1400404d4
mov dword [rbp + 0xe0], r11d
movzx r8d, cx
lea rdx, [rbp + 0xb8]
mov qword [rbp + 0xb8], r11
and r8d, 0xa
mov rcx, qword [rbx + 0x38]
call fcn.140032dc4
xor r11d, r11d
mov dword [rsp + 0x34], eax
mov byte [rbx + 3], r11b
mov esi, eax
mov dword [rbx + 0x28], r11d
test eax, eax
jne 0x14003df10
test r14, r14
je 0x1400422d7
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 + 0xc0]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r12 + 0x120]
jmp 0x14003d659
movsxd rcx, dword [rdi + 4]
xor edx, edx
cmp byte [rdi + 1], 0xfa
mov rax, qword [r10 + 0x78]
mov r13d, dword [rdi + 8]
mov r14, qword [rax + rcx*8]
jne 0x1400405aa
cmp qword [r12 + 0x120], rdx
je 0x1400405aa
movsx rcx, byte [r14 + 1]
mov rax, qword [r12 + 0x20]
mov r15, qword [rdi + 0x10]
shl rcx, 5
mov r12, qword [rcx + rax]
test byte [rdi + 2], r11b
je 0x1400405b0
cmp byte [r14 + 4], dl
je 0x1400405b0
mov rbx, qword [r14 + 0x38]
mov rcx, rbx
call fcn.14002e3f8
mov rax, qword [rbx + 0x30]
mov rbx, qword [rsp + 0x38]
mov qword [r14 + 0x58], rax
jmp 0x1400405b0
mov r12, rdx
mov r15, rdx
mov dl, byte [rdi + 2]
mov rcx, qword [r14 + 0x38]
call fcn.1400331dc
mov esi, eax
mov dword [rsp + 0x34], eax
xor eax, eax
mov qword [r14 + 0x28], rax
test esi, esi
jne 0x14003df10
test r13b, 1
lea r13d, [rsi + 1]
je 0x1400422d2
mov rax, qword [rbp + 0x280]
mov r8, qword [rsp + 0x40]
add dword [rax + 0x3c], r13d
mov r10, qword [r8 + 0x120]
test r10, r10
je 0x1400422d2
lea eax, [rsi + 0x20]
test byte [r15 + 0x40], al
jne 0x1400422d2
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
mov r10, qword [rbp + 0x280]
jmp 0x140040116
mov eax, dword [r10 + 0x3c]
add dword [r12 + 0x78], eax
xor r14d, r14d
mov dword [r12 + 0x74], eax
mov dword [r10 + 0x3c], r14d
jmp case.0x14003d2b6.86
mov rax, qword [r10 + 0x78]
lea r9, [rbp - 0x34]
movsxd rcx, dword [rdi + 4]
xor r14d, r14d
mov r8d, dword [rdi + 0x10]
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [rdi + 0xc]
imul rdx, rax, 0x38
mov dword [rbp - 0x34], r14d
add rdx, r15
call fcn.1400453a0
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
cmp dword [rbp - 0x34], r14d
jmp 0x14003e648
movsxd rax, dword [rdi + 8]
movsxd rcx, dword [rdi + 4]
imul rdx, rax, 0x38
mov rax, qword [r10 + 0x78]
add rdx, r15
mov rcx, qword [rax + rcx*8]
call fcn.140045318
xor r14d, r14d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
movsxd rcx, dword [rdi + 0xc]
mov r10, qword [rbp + 0x280]
mov rax, qword [r10 + 0x78]
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r14d
jmp 0x14003d466
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
movsxd rdx, dword [rdi + 4]
mov rbx, rax
mov r12, qword [rbp + 0x280]
mov rcx, qword [r12 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rsi, qword [rdx + 0x38]
mov rcx, rsi
call fcn.14002e3f8
mov rax, qword [rsp + 0x40]
mov r8d, dword [rsi + 0x40]
cmp r8d, dword [rax + 0x7c]
ja 0x1400418b7
mov r9, rbx
xor edx, edx
mov rcx, rsi
call fcn.140036964
xor r14d, r14d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df17
cmp dword [rdi + 0xc], r14d
jne 0x1400422fe
mov eax, 0x1000
test word [rbx + 8], ax
je 0x1400422fe
mov rcx, rbx
call fcn.140035bf0
test eax, eax
je 0x14003d8af
mov r14b, byte [rbp + 0x290]
mov ebx, 7
mov rcx, qword [rsp + 0x40]
call fcn.14001ad58
lea rdx, str.out_of_memory
mov rcx, r12
call fcn.140037074
mov esi, ebx
jmp 0x14003df23
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
mov r10, qword [rbp + 0x280]
xor r11d, r11d
movsxd rdx, dword [rdi + 4]
mov r14, rax
mov rcx, qword [r10 + 0x78]
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], r11b
je 0x1400407c6
mov word [rax + 8], r13w
jmp 0x14003d665
cmp byte [rbx + 3], r11b
je 0x1400407d5
mov rax, qword [rbx + 0x58]
jmp 0x14004086f
mov eax, 2
cmp byte [rbx], al
jne 0x14004081d
mov rcx, qword [rbx + 0x38]
lea rdx, [rbp - 8]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_96]
mov r12, qword [rbp + 0x280]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.14003b070
test esi, esi
jne 0x14003df17
mov rax, qword [rbp - 8]
mov r10, r12
mov r12, qword [rsp + 0x40]
jmp 0x140040873
mov rax, qword [rbx + 0x38]
xor esi, esi
cmp byte [rax], sil
je 0x14004083f
mov rcx, rbx
call fcn.140039bf8
mov r10, qword [rbp + 0x280]
mov esi, eax
mov dword [rsp + 0x34], eax
jmp 0x140040843
mov dword [rsp + 0x34], esi
xor r11d, r11d
test esi, esi
jne 0x14003df10
cmp byte [rbx + 2], r11b
jne 0x14003e7a7
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.14002e3f8
mov rax, qword [rbx + 0x30]
mov r10, qword [rbp + 0x280]
mov qword [rbp - 8], rax
mov qword [r14], rax
jmp 0x14003d665
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 0x14003e3b4
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x18]
call fcn.14001a7a8
mov qword [rbx + 0x18], r14
mov byte [rbx], r13b
jmp 0x14003d73b
movsxd rcx, dword [rdi + 4]
mov rax, qword [r10 + 0x78]
mov rbx, qword [rax + rcx*8]
xor eax, eax
mov rcx, qword [rbx + 0x38]
mov dword [rbp - 0x60], eax
cmp r14b, 0x82
jne 0x1400408e1
or dword [rbx + 0x2c], 0xffffffff
xor r14d, r14d
cmp byte [rcx], r14b
je 0x14003e3b4
jmp 0x1400408e4
xor r14d, r14d
lea rdx, [rbp - 0x60]
call fcn.14002ed38
mov esi, eax
mov dword [rsp + 0x34], eax
mov al, byte [rbp - 0x60]
mov byte [rbx + 2], al
mov byte [rbx + 3], r14b
mov dword [rbx + 0x28], r14d
test esi, esi
jne 0x14003df10
cmp dword [rdi + 8], r14d
jle 0x1400422dc
mov rbx, qword [rsp + 0x38]
cmp dword [rbp - 0x60], r14d
jmp 0x14003e648
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x70]
mov rax, qword [r10 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.14002ecf8
xor r14d, r14d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
cmp dword [rbp - 0x70], r14d
jne 0x140041d91
mov rcx, rbx
call fcn.14002f258
test rax, rax
js 0x14004097f
mov rcx, rax
call fcn.14001e2e4
movsx ecx, ax
mov eax, dword [rbp - 0x70]
cmp ecx, dword [rdi + 0xc]
cmovl eax, r13d
mov dword [rbp - 0x70], eax
jmp 0x140040982
mov eax, dword [rbp - 0x70]
mov rbx, qword [rsp + 0x38]
jmp 0x14003e646
add dword [r10 + 0xdc], r13d
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x6c]
mov rax, qword [r10 + 0x78]
mov rbx, qword [rax + rcx*8]
mov dword [rbp - 0x6c], r13d
cmp byte [rbx], r13b
jne 0x1400409b9
mov rcx, rbx
call fcn.140045208
xor r14d, r14d
jmp 0x1400409cd
mov rcx, qword [rbx + 0x38]
call fcn.14002ecf8
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 0x14003df10
mov al, byte [rbp - 0x6c]
mov byte [rbx + 2], al
mov rbx, qword [rsp + 0x38]
cmp dword [rbp - 0x6c], r14d
jmp 0x14003e648
movsxd rcx, dword [rdi + 4]
mov rax, qword [r10 + 0x78]
mov rbx, qword [rax + rcx*8]
mov rcx, r12
mov rdx, rbx
call fcn.140045274
jmp 0x140040a1e
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 r14d, r14d
mov dword [rbx + 0x28], r14d
test eax, eax
jne 0x140040a50
mov r10, qword [rbp + 0x280]
mov byte [rbx + 2], r14b
movzx eax, word [rdi + 2]
add dword [r10 + rax*4 + 0xd4], r13d
mov rbx, qword [rsp + 0x38]
jmp 0x140041f0d
cmp esi, 0x65
jne 0x14003df10
mov esi, r14d
mov dword [rsp + 0x34], r14d
mov byte [rbx + 2], r13b
mov r10, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x38]
mov eax, dword [r12 + 0x160]
test eax, eax
je 0x14003d466
mov r14b, byte [rbp + 0x290]
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.140087120
mov r12, qword [rbp + 0x280]
lea rdx, [0x140155fd0]
mov rcx, r12
mov r8, rax
call fcn.140037074
jmp 0x14003df1e
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, r15
test byte [rdi + 2], r13b
je 0x140040ae1
add dword [r10 + 0x3c], r13d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x140040af8
mov rcx, rbx
call fcn.140035c4c
mov esi, eax
jmp 0x140040afa
xor esi, esi
test esi, esi
jne 0x14003df10
cmp byte [rdi], 0x83
jne 0x140040b1a
mov rdx, rbx
mov rcx, r14
call fcn.140044898
mov esi, eax
mov dword [rsp + 0x34], eax
jmp 0x140040b87
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [rdi + 2]
mov qword [rbp + 0x160], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x158], rax
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
movzx eax, word [rdi + 0x10]
add rcx, r15
mov word [rbp + 0x178], ax
mov eax, 0x10
mov qword [rbp + 0x170], rcx
test al, r8b
je 0x140040b62
mov r9d, dword [r14 + 0x2c]
jmp 0x140040b67
xor eax, eax
mov r9d, eax
mov rcx, qword [r14 + 0x38]
lea rdx, [rbp + 0x158]
and r8d, 0xa
call fcn.140032dc4
mov esi, eax
mov dword [rsp + 0x34], eax
xor eax, eax
mov dword [r14 + 0x28], eax
xor r14d, r14d
jmp 0x14003df08
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp + 0x70]
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 + 0x70], rax
movzx eax, word [rdi + 0xc]
mov word [rbp + 0x80], ax
xor eax, eax
mov byte [rbp + 0x82], al
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
lea rax, [rbp - 0x10]
add rcx, r15
mov qword [rsp + 0x20], rax
mov qword [rbp + 0x78], rcx
mov rcx, r14
call fcn.14002eda0
mov esi, eax
mov dword [rsp + 0x34], eax
xor eax, eax
test esi, esi
jne 0x14003df10
cmp dword [rbp - 0x10], eax
jne 0x140040c15
lea edx, [rsi + 4]
mov rcx, r14
call fcn.1400331dc
xor r14d, r14d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
and qword [rbx + 0x28], 0
jmp 0x14003d73b
mov rax, qword [r10 + 0x78]
xor r14d, r14d
movsxd rcx, dword [rdi + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], r14b
je 0x140040c47
mov rcx, rbx
call fcn.140039bf8
mov esi, eax
mov dword [rsp + 0x34], eax
jmp 0x140040c4f
mov esi, r14d
mov dword [rsp + 0x34], r14d
test esi, esi
jne 0x14003df10
cmp byte [rbx + 2], r14b
jne 0x140040cd3
mov qword [rbp], r14
lea r8, [rbp]
mov rdx, qword [rbx + 0x38]
mov rcx, r12
call fcn.14003ad44
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
cmp byte [rdi], 0x86
jne 0x140040cb8
movsxd rcx, dword [rdi + 0xc]
mov r10, qword [rbp + 0x280]
mov rax, qword [r10 + 0x78]
mov rdx, qword [rax + rcx*8]
mov byte [rdx + 2], r14b
mov rax, qword [rbp]
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 0x14003d665
mov rcx, qword [rbp + 0x280]
mov rdx, rdi
call fcn.14003d194
mov rcx, qword [rbp]
mov qword [rax], rcx
jmp 0x14003d8af
movsxd rax, dword [rdi + 8]
imul rcx, rax, 0x38
add rcx, r15
call fcn.140036304
jmp 0x14003d73b
movsxd rcx, dword [rdi + 4]
lea r9, [rbp - 0x68]
mov rax, qword [r10 + 0x78]
lea r8, [rbp + 0x88]
cmp r14b, 0x27
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x40]
mov qword [rbp + 0x88], rax
movzx eax, word [rdi + 0x10]
mov word [rbp + 0x98], ax
sbb al, al
mov byte [rbp + 0x9a], al
xor r14d, r14d
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
mov dword [rbp - 0x68], r14d
add rcx, r15
mov qword [rbp + 0x90], rcx
mov rcx, r12
call fcn.14003ae88
mov esi, eax
mov dword [rsp + 0x34], eax
mov eax, dword [rbp - 0x68]
test byte [rdi], r13b
je 0x140040d54
neg eax
jmp 0x140040d56
inc eax
mov dword [rbp - 0x68], eax
test esi, esi
jne 0x14003df10
test eax, eax
jg 0x140041b26
jmp 0x14003d492
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
mov rbx, rax
mov word [rax + 8], r13w
mov ecx, dword [r12 + 0xd8]
add ecx, r13d
cmp dword [r12 + 0xcc], ecx
jg 0x14004268b
movsxd r14, dword [rdi + 0xc]
lea r8, [rbp - 0x5c]
mov rcx, qword [r12 + 0x20]
xor eax, eax
mov edx, dword [rdi + 4]
mov r9, r14
shl r9, 5
mov dword [rbp - 0x5c], eax
mov rcx, qword [r9 + rcx + 8]
call fcn.140033c88
mov esi, eax
mov dword [rsp + 0x34], eax
mov eax, 4
mov word [rbx + 8], ax
movsxd rax, dword [rbp - 0x5c]
mov qword [rbx], rax
test esi, esi
jne 0x14003df10
mov r8d, dword [rbp - 0x5c]
test r8d, r8d
je 0x1400422dc
mov r9d, dword [rdi + 4]
mov edx, r14d
mov rcx, r12
call fcn.140055de0
lea edx, [r14 + r13]
mov byte [rbp + 0x290], dl
jmp 0x14003d73b
mov eax, dword [rdi + 0xc]
xor r14d, r14d
mov rcx, qword [r12 + 0x20]
neg eax
mov edx, dword [rdi + 4]
lea rax, [rsp + 0x50]
sbb r8, r8
mov dword [rsp + 0x50], r14d
and r8, rax
movsxd rax, dword [rdi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.140033a38
mov esi, eax
mov r10, qword [rbp + 0x280]
mov dword [rsp + 0x34], eax
cmp dword [rdi + 0xc], r14d
je 0x140040e69
movsxd rdx, dword [rsp + 0x50]
add dword [r10 + 0x3c], edx
cmp dword [rdi + 0xc], r14d
jle 0x140040e69
movsxd rax, dword [rdi + 0xc]
imul rcx, rax, 0x38
add qword [rcx + r15], rdx
test esi, esi
jne 0x14003df10
jmp 0x14003d466
movsxd rcx, dword [rdi + 4]
mov rax, qword [r10 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r13b
jne 0x140040e98
mov rdx, qword [rcx + 0x38]
mov rcx, r12
call fcn.140043f4c
jmp 0x14003d492
mov rcx, qword [rcx + 0x38]
call fcn.140033a98
xor r14d, r14d
jmp 0x14003fca4
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
movsxd rcx, dword [rdi + 4]
lea rdx, [rbp - 0x30]
mov r8d, dword [rdi + 0xc]
xor r14d, r14d
shl rcx, 5
mov rbx, rax
add rcx, qword [r12 + 0x20]
mov dword [rbp - 0x30], r14d
mov rcx, qword [rcx + 8]
call fcn.140033814
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14003df10
movsxd rax, dword [rbp - 0x30]
jmp 0x14003e5aa
add byte [r12 + 0x6a], r13b
xor r14d, r14d
mov rdx, qword [rdi + 0x10]
xor r9d, r9d
xor r8d, r8d
mov qword [rsp + 0x20], r14
mov rcx, r12
call fcn.140062ad4
dec byte [r12 + 0x6a]
jmp 0x14003fca4
mov rcx, qword [rdi + 0x10]
xor r14d, r14d
movsxd rbx, dword [rdi + 4]
test rcx, rcx
jne 0x140040f87
mov rcx, qword [r12 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1400599a0
and dword [r12 + 0x2c], 0xffffffef
mov r9d, r13d
mov r8, qword [rbp + 0x280]
mov edx, ebx
mov r12, qword [rsp + 0x40]
add r8, 0xa8
mov rcx, r12
call fcn.140066ec8
mov r10, qword [rbp + 0x280]
mov esi, eax
or dword [r12 + 0x2c], r13d
mov dword [rsp + 0x34], eax
and dword [r10 + 0xc8], 0xfffffffc
jmp 0x140041044
mov r8, qword [r12 + 0x20]
lea rax, [r10 + 0xa8]
mov qword [rbp + 0x48], rax
lea r9, str.sqlite_master
mov qword [rbp + 0x40], r12
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov dword [rbp + 0x50], ebx
mov rax, rbx
shl rax, 5
mov dword [rbp + 0x58], r14d
mov qword [rsp + 0x20], rcx
mov rcx, r12
mov r8, qword [rax + r8]
call fcn.14001c50c
mov rbx, rax
test rax, rax
je 0x1400426a7
lea r9, [rbp + 0x40]
mov byte [r12 + 0xb5], r13b
lea r8, [fcn.140066cf0]
mov dword [rbp + 0x54], r14d
mov rdx, rax
mov dword [rbp + 0x5c], r14d
mov rcx, r12
mov qword [rsp + 0x20], r14
call fcn.140062ad4
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x14004102a
mov esi, dword [rbp + 0x54]
mov dword [rsp + 0x34], esi
test esi, esi
jne 0x14004102a
cmp dword [rbp + 0x5c], r14d
jne 0x14004102a
mov ecx, 0x15f51
call fcn.140088bd0
mov esi, eax
mov dword [rsp + 0x34], eax
mov rdx, rbx
mov rcx, r12
call fcn.14001a800
mov r10, qword [rbp + 0x280]
mov byte [r12 + 0xb5], r14b
test esi, esi
jne 0x1400426ac
jmp 0x14003d665
mov edx, dword [rdi + 4]
mov rcx, r12
call fcn.140051d90
jmp 0x140040ea1
mov r8, qword [rdi + 0x10]
mov rcx, r12
mov edx, dword [rdi + 4]
call fcn.14005383c
jmp 0x14003d492
mov r8, qword [rdi + 0x10]
mov rcx, r12
mov edx, dword [rdi + 4]
call fcn.140053418
jmp 0x14003d492
mov r8, qword [rdi + 0x10]
mov rcx, r12
mov edx, dword [rdi + 4]
call fcn.140070d7c
jmp 0x14003d492
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, r15
shl rax, 5
add rbx, r15
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.1400348dc
mov rcx, rbx
mov r15, rax
call fcn.140036304
mov ecx, dword [rbp + 8]
test ecx, ecx
je 0x140041126
test r15, r15
je 0x14004299d
dec ecx
lea rax, [fcn.14001a7a8]
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.140036664
mov r11d, 2
test byte [rbx + 8], r11b
je 0x140042305
movzx edx, byte [rbp + 0x288]
mov rcx, rbx
call fcn.140035a24
jmp 0x14003d659
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 8]
imul r14, rax, 0x38
add rbx, r15
mov eax, 0x10
add r14, r15
test byte [rbx + 8], al
jne 0x14004117a
mov rcx, rbx
call fcn.14003646c
test eax, eax
jne 0x14004299d
mov rdx, qword [r14]
mov rcx, qword [rbx + 0x10]
call fcn.14002329c
jmp 0x14003d73b
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
mov eax, 0x10
add rbx, r15
test byte [rbx + 8], al
je 0x1400411cd
mov rcx, qword [rbx + 0x10]
lea rdx, [rbp + 0x60]
call fcn.14002350c
xor r14d, r14d
test eax, eax
je 0x1400411d0
movsxd rax, dword [rdi + 0xc]
mov rdx, qword [rbp + 0x60]
imul rcx, rax, 0x38
add rcx, r15
call fcn.1400363c4
jmp 0x140040a65
xor r14d, r14d
mov rcx, rbx
call fcn.140036304
mov r10, qword [rbp + 0x280]
jmp 0x140040a46
movsxd rax, dword [rdi + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rdi + 0xc]
imul r14, rax, 0x38
add rbx, r15
mov eax, 0x10
add r14, r15
mov r15d, dword [rdi + 0x10]
test byte [rbx + 8], al
jne 0x140041218
mov rcx, rbx
call fcn.14003646c
test eax, eax
jne 0x14004299d
test r15d, r15d
je 0x140041237
mov r8, qword [r14]
mov edx, r15d
mov rcx, qword [rbx + 0x10]
call fcn.14002357c
test eax, eax
jne 0x140041d91
test r15d, r15d
js 0x14003d659
mov rdx, qword [r14]
mov rcx, qword [rbx + 0x10]
call fcn.14002329c
jmp 0x14003d659
movsxd rax, dword [rdi + 0xc]
mov r13, qword [rdi + 0x10]
imul r14, rax, 0x38
xor eax, eax
add r14, r15
cmp word [rdi + 2], ax
je 0x14004128d
mov rax, qword [r10 + 0x100]
mov rcx, qword [r13 + 0x20]
test rax, rax
je 0x14004128d
cmp qword [rax + 0x38], rcx
je 0x140041284
mov rax, qword [rax + 8]
test rax, rax
jne 0x140041275
test rax, rax
jne 0x140042438
mov eax, dword [r10 + 0x110]
cmp eax, dword [r12 + 0xa4]
jge 0x1400426d4
mov ecx, 0x10
test byte [r14 + 8], cl
jne 0x1400413d4
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 0x1400412dd
add eax, edx
sar eax, 3
lea r12d, [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
movsxd rdx, r12d
call fcn.14001aa04
mov rbx, rax
test rax, rax
je 0x14004299d
mov rcx, r14
call fcn.140035f3c
mov r10, qword [rbp + 0x280]
mov eax, 0x410
sub rdi, qword [rsp + 0x38]
mov r9d, 2
mov word [r14 + 8], ax
lea rax, [0x1400383f8]
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 0x1400413cb
lea edx, [r9 + 0x7e]
mov word [rax + 8], dx
mov qword [rax + 0x28], r12
add rax, 0x38
cmp rax, rcx
jne 0x1400413ba
mov eax, dword [r10 + 0x110]
jmp 0x1400413d8
mov rbx, qword [r14 + 0x10]
inc eax
lea r15, [rbx + 0x70]
mov dword [r10 + 0x110], eax
xor r14d, r14d
mov rax, qword [r10 + 0x100]
mov qword [rbx + 8], rax
mov rax, qword [r12 + 0x38]
mov qword [rbx + 0x40], rax
lea r8d, [r14 + 7]
mov eax, dword [r10 + 0x3c]
mov dword [rbx + 0x68], eax
mov rax, qword [r10]
mov qword [rsp + 0x48], r15
mov ecx, dword [rax + 0x74]
mov dword [rbx + 0x6c], ecx
mov rax, qword [r10 + 0x120]
mov qword [rbx + 0x48], rax
mov qword [r10 + 0x120], r14
mov dword [r10 + 0x3c], r14d
mov qword [r10 + 0x100], rbx
mov qword [r10 + 0x68], r15
movsxd rcx, dword [rbx + 0x60]
mov dword [r10 + 0x28], ecx
movzx eax, word [rbx + 0x64]
mov dword [r10 + 0x2c], eax
imul rdx, rcx, 0x38
add rdx, r15
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.1400cb080
mov rbx, qword [r13]
mov r10, qword [rbp + 0x280]
mov qword [rsp + 0x38], rbx
lea rdi, [rbx - 0x18]
mov qword [r10 + 0x88], rbx
mov eax, dword [r13 + 8]
lea r13d, [r14 + 1]
mov dword [r10 + 0x90], eax
jmp 0x140040a71
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
mov r12, qword [rbp + 0x280]
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.140036530
jmp 0x14003f205
mov eax, dword [r12 + 0x30]
bt rax, 0x13
jae 0x140041510
movsxd rax, dword [rdi + 8]
add qword [r12 + 0x290], rax
jmp case.0x14003d2b6.86
xor eax, eax
lea rcx, [0x140000000]
cmp dword [rdi + 4], eax
movsxd rax, dword [rdi + 8]
je 0x14004152f
add qword [r12 + 0x288], rax
jmp case.default.0x14003d2b6
add qword [r10 + 0x50], rax
jmp case.default.0x14003d2b6
xor r14d, r14d
cmp dword [rdi + 4], r14d
je 0x14004155c
cmp qword [r12 + 0x288], r14
jne case.0x14003d2b6.86
cmp qword [r12 + 0x290], r14
jmp 0x14003e69c
cmp qword [r10 + 0x50], r14
jmp 0x140041549
mov rcx, qword [r10 + 0x100]
test rcx, rcx
je 0x14004158e
mov rax, qword [rcx + 8]
jmp 0x14004157b
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x140041574
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, qword [rcx + 0x20]
jmp 0x140041599
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, r15
mov rcx, r14
call fcn.1400360d0
movsxd rax, dword [rdi + 8]
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
call fcn.1400360d0
mov rax, qword [rbx]
mov r11d, 2
mov r8d, dword [rsp + 0x30]
cmp qword [r14], rax
jge 0x14003e3b4
mov qword [r14], rax
jmp 0x14003e3b4
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r15]
test rdx, rdx
jle case.0x14003d2b6.86
movsxd rax, dword [rdi + 0xc]
sub rdx, rax
mov qword [rcx + r15], rdx
jmp 0x14003de5d
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, r15
add r14, r15
call fcn.14003d194
mov rcx, qword [rbx]
mov r15, rax
mov qword [rbp + 0x20], rcx
test rcx, rcx
jle 0x14004164e
mov rdx, qword [r14]
lea rcx, [rbp + 0x20]
xor r14d, r14d
test rdx, rdx
cmovle rdx, r14
call fcn.14001e140
test eax, eax
jne 0x14004164e
mov rax, qword [rbp + 0x20]
mov qword [r15], rax
jmp 0x14003d659
or qword [r15], 0xffffffffffffffff
jmp 0x14003d659
movsxd rax, dword [rdi + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r15]
test rax, rax
je case.0x14003d2b6.86
jle 0x14003de5d
dec rax
mov qword [rcx + r15], rax
jmp 0x14003de5d
movsxd rax, dword [rdi + 4]
movabs rdx, 0x8000000000000000
imul rcx, rax, 0x38
mov rax, qword [rcx + r15]
cmp rax, rdx
jle 0x1400416a0
dec rax
mov qword [rcx + r15], rax
test rax, rax
jmp 0x14003e69c
movzx r14d, word [rdi + 2]
mov rcx, r12
mov r15d, r14d
lea rdx, [r14*8 + 0x68]
call fcn.14001aa88
mov rbx, rax
xor eax, eax
test rbx, rbx
je 0x14004299d
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.1400362f4
mov rcx, qword [rdi + 0x10]
movabs rax, 0x2aaaaaaaaaaaaaab
mov r12, qword [rbp + 0x280]
mov r15, qword [rsp + 0x48]
mov qword [rbx + 8], rcx
mov rcx, rdi
sub rcx, qword [rsp + 0x38]
imul rcx
mov qword [rbx + 0x18], r12
sar rdx, 2
mov rax, rdx
mov byte [rbx + 0x29], r14b
shr rax, 0x3f
add rdx, rax
xor eax, eax
mov dword [rbx + 0x20], edx
mov byte [rbx + 0x28], al
mov dword [rbx + 0x24], eax
mov word [rdi], 0xf09b
mov qword [rdi + 0x10], rbx
jmp 0x140041744
mov r12, qword [rbp + 0x280]
movsxd rax, dword [rdi + 0xc]
xor r14d, r14d
mov rbx, qword [rdi + 0x10]
imul rdx, rax, 0x38
add rdx, r15
cmp qword [rbx + 0x10], rdx
je 0x1400417a1
movzx eax, byte [rbx + 0x29]
mov r8d, eax
mov qword [rbx + 0x10], rdx
sub r8, 1
lea r10d, [rax - 1]
js 0x1400417a1
lea r9, [r8 + 6]
lea r9, [rbx + r9*8]
lea r12d, [r14 + 8]
mov eax, dword [rdi + 8]
add eax, r10d
sub r10d, r13d
cdqe
imul rcx, rax, 0x38
add rcx, r15
mov qword [r9], rcx
sub r9, r12
sub r8, r13
jns 0x14004177d
mov r12, qword [rbp + 0x280]
add dword [rdx + 0xc], r13d
lea r8, [rbx + 0x30]
mov rcx, rbx
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
cmp dword [rdi + 4], r14d
je 0x1400417bf
call qword [rax + 0x30]
jmp 0x1400417c2
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x1400422fe
jle 0x1400417f0
mov rcx, qword [rbx]
call fcn.14003b420
mov r8, rax
lea rdx, [0x140155fd0]
mov rcx, r12
call fcn.140037074
mov esi, dword [rbx + 0x24]
mov dword [rsp + 0x34], esi
cmp byte [rbx + 0x28], r14b
je 0x140041813
cmp dword [rdi - 0x14], r14d
je 0x14004180f
movsxd rax, dword [rdi - 0x14]
mov rdx, r13
imul rcx, rax, 0x38
add rcx, r15
call fcn.1400363c4
mov byte [rbx + 0x28], r14b
mov rcx, qword [rbx]
call fcn.140035f3c
mov rax, qword [rbx]
mov word [rax + 8], r13w
mov dword [rbx + 0x24], r14d
test esi, esi
jne 0x14003df17
jmp 0x14003d8af
movsxd rax, dword [rdi + 4]
xor r14d, r14d
imul rbx, rax, 0x38
add rbx, r15
mov rcx, rbx
cmp dword [rdi + 0xc], r14d
je 0x140041872
movsxd rax, dword [rdi + 0xc]
mov r8, qword [rdi + 0x10]
imul rdx, rax, 0x38
add rdx, r15
call fcn.140035e1c
mov esi, eax
mov dword [rsp + 0x34], eax
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, r15
jmp 0x140041881
mov rdx, qword [rdi + 0x10]
call fcn.140035d74
mov esi, eax
mov dword [rsp + 0x34], eax
test esi, esi
jne 0x1400426ed
lea eax, [rsi + 2]
test byte [rbx + 8], al
je 0x1400418a0
movzx edx, byte [rbp + 0x288]
mov rcx, rbx
call fcn.140035a24
mov rcx, rbx
call fcn.1400364cc
test eax, eax
je 0x14003d73b
mov r12, qword [rbp + 0x280]
lea rdx, str.string_or_blob_too_big
mov rcx, r12
call fcn.140037074
mov esi, 0x12
jmp 0x14003df17
mov r8d, dword [rdi + 8]
lea rax, [rbp - 0x18]
mov edx, dword [rdi + 4]
lea r9, [rbp - 0x1c]
or dword [rbp - 0x18], 0xffffffff
xor r14d, r14d
or dword [rbp - 0x1c], 0xffffffff
mov rcx, r12
mov dword [rbp - 0x20], r14d
mov qword [rsp + 0x20], rax
call fcn.140087b68
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
je 0x14004191d
lea eax, [r14 + 5]
cmp esi, eax
jne 0x14003df10
mov esi, r14d
mov dword [rsp + 0x34], r14d
mov dword [rbp - 0x20], r13d
movsxd rax, dword [rdi + 0xc]
imul rbx, rax, 0x38
add rbx, r15
movsxd rdx, dword [rbp + r14*4 - 0x20]
mov rcx, rbx
call fcn.1400363c4
add r14, r13
add rbx, 0x38
cmp r14, 3
jl 0x140041928
jmp 0x14003d73b
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
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.140033e88
mov rcx, rax
mov r15, rax
call fcn.140027b30
cmp ebx, 0xffffffff
mov rcx, r15
mov r14d, eax
cmove ebx, eax
call fcn.140027b38
test eax, eax
mov rcx, r15
cmove ebx, r14d
call fcn.1400277f4
mov edx, 5
cmp ebx, edx
jne 0x1400419c5
mov rcx, rax
call fcn.14001d040
test eax, eax
je 0x1400419bd
mov rcx, r15
call fcn.140027c30
test eax, eax
jne 0x1400419c0
mov ebx, r14d
mov edx, 5
cmp ebx, r14d
je 0x140041a53
cmp r14d, edx
je 0x1400419d7
cmp ebx, edx
jne 0x140041a53
mov rax, qword [rsp + 0x40]
xor ecx, ecx
cmp byte [rax + 0x5f], cl
je 0x140042713
cmp dword [rax + 0xcc], 1
jg 0x140042713
cmp r14d, edx
jne 0x140041a1c
mov rdx, rax
mov rcx, r15
call fcn.140027d58
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
jne 0x140041a57
mov edx, ebx
mov rcx, r15
call fcn.140027a1c
xor eax, eax
jmp 0x140041a37
mov eax, 4
cmp r14d, eax
jne 0x140041a31
lea edx, [rax - 2]
mov rcx, r15
call fcn.140027a1c
xor eax, eax
test esi, esi
jne 0x140041a57
mov edx, eax
mov rcx, r12
mov eax, 5
cmp ebx, eax
sete dl
inc edx
call fcn.140034e30
mov esi, eax
mov dword [rsp + 0x34], eax
test esi, esi
je 0x140041a5a
mov ebx, r14d
mov edx, ebx
mov rcx, r15
call fcn.140027a1c
mov ecx, 0xa02
mov word [r13 + 8], cx
mov ecx, eax
call fcn.140063890
mov rcx, rax
mov qword [r13 + 0x10], rax
call fcn.14001d040
mov r11d, 2
mov dword [r13 + 0xc], eax
mov byte [r13 + 0xa], 1
test byte [r13 + 8], r11b
je 0x140041aab
movzx edx, byte [rbp + 0x288]
mov rcx, r13
call fcn.140035a24
mov r11d, 2
test esi, esi
jne 0x14003df10
lea r13d, [rsi + 1]
jmp 0x14004040a
xor r14d, r14d
cmp dword [rdi + 8], r14d
je 0x140041ad2
movsxd rax, dword [rdi + 8]
imul r9, rax, 0x38
add r9, r15
jmp 0x140041ad5
mov r9, r14
mov r8d, dword [rdi + 4]
lea rcx, [r10 + 0xa8]
mov rdx, r12
call fcn.1400739b8
jmp 0x14003fca4
movsxd rcx, dword [rdi + 4]
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14002dc84
xor r14d, r14d
mov dword [rsp + 0x34], eax
mov esi, eax
test eax, eax
je 0x1400422dc
cmp eax, 0x65
jne 0x14003df10
mov esi, r14d
mov dword [rsp + 0x34], r14d
mov r10, qword [rbp + 0x280]
jmp 0x14003de5d
xor eax, eax
cmp dword [rdi + 4], eax
jne 0x140041b49
mov edx, dword [rdi + 8]
mov rcx, r12
call fcn.14003af64
jmp 0x14003d492
mov eax, dword [rdi + 8]
add eax, r13d
xor eax, dword [r10 + 0xc8]
and eax, 3
xor dword [r10 + 0xc8], eax
jmp case.0x14003d2b6.86
mov rbx, qword [rdi + 0x10]
mov rcx, r12
mov rdx, rbx
call fcn.140075100
mov r12, qword [rbp + 0x280]
xor r14d, r14d
mov dword [rsp + 0x34], eax
mov esi, eax
test rbx, rbx
je 0x140041827
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.14003b070
jmp 0x140041827
xor edx, edx
lea rcx, [rbp + 0x188]
lea r8d, [rdx + 0x38]
call fcn.1400cb080
movsxd rax, dword [rdi + 8]
lea rcx, [rbp + 0x188]
imul rdx, rax, 0x38
mov qword [rbp + 0x1b0], r12
add rdx, r15
call fcn.140036590
lea rcx, [rbp + 0x188]
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.14003b420
mov r12, qword [rbp + 0x280]
xor r14d, r14d
test rax, rax
je 0x140041c0d
mov edx, dword [rdi + 4]
lea r9, [r12 + 0xa8]
mov rcx, qword [rsp + 0x40]
mov r8, rax
call fcn.140074b9c
mov esi, eax
mov dword [rsp + 0x34], eax
lea rcx, [rbp + 0x188]
call fcn.140035f3c
test esi, esi
jne 0x14003df17
jmp 0x14003f205
add dword [r12 + 0xd8], r13d
mov rcx, r12
mov r8, qword [rdi + 0x10]
mov edx, dword [rdi + 4]
call fcn.140074ec0
dec dword [r12 + 0xd8]
jmp 0x140040ea1
mov rax, qword [rdi + 0x10]
xor esi, esi
mov qword [rsp + 0x78], rsi
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14004273e
mov r14, qword [rbx]
test r14, r14
je 0x14004273e
lea rdx, [rsp + 0x78]
mov rcx, rbx
call qword [r14 + 0x30]
mov r12, qword [rbp + 0x280]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.14003b070
test esi, esi
jne 0x14003df17
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.14003cde4
mov rcx, qword [rsp + 0x78]
test rax, rax
je 0x140042735
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r13d
jmp 0x14003d8af
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, r15
mov r13, qword [rax + rcx*8]
xor eax, eax
lea r11, [rdx + 0x38]
mov qword [rbp + 0x298], 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 0x140041d3d
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 0x140041d1d
mov r13, qword [rbp + 0x298]
mov r8, qword [rdi + 0x10]
mov rcx, rbx
mov qword [rsp + 0x20], r14
call qword [r15 + 0x40]
mov rdx, r12
mov r12, qword [rbp + 0x280]
mov rcx, r12
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.14003b070
xor r14d, r14d
test esi, esi
jne 0x14003df17
mov rcx, rbx
call qword [r15 + 0x50]
mov byte [r13 + 2], r14b
test eax, eax
lea r13d, [rsi + 1]
mov rbx, qword [rsp + 0x38]
je 0x14004010a
jmp 0x140041b26
mov rbx, qword [rsp + 0x38]
jmp 0x140041b26
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, r15
cmp byte [r14 + 2], al
je 0x140041dc2
mov rcx, rbx
jmp 0x140040cde
mov rax, qword [r14 + 0x38]
lea rcx, [rbp + 0x1c0]
xor edx, edx
mov r15, qword [rax]
lea r8d, [rdx + 0x38]
mov rsi, qword [r15]
call fcn.1400cb080
mov qword [rbp + 0x1c0], rbx
test byte [rdi + 2], r13b
je 0x140041dfe
mov rcx, rbx
call fcn.140036304
xor eax, eax
mov dword [rbx], eax
mov eax, 0x4001
jmp 0x140041e0e
movzx eax, word [rbx + 8]
mov ecx, 0x3e40
and ax, cx
or ax, r13w
mov word [rbx + 8], ax
lea rdx, [rbp + 0x1c0]
mov r8d, dword [rdi + 8]
mov rcx, qword [r14 + 0x38]
call qword [rsi + reloc.WLDAP32.dll_Ordinal_88]
mov r12, qword [rbp + 0x280]
mov rdx, r15
mov rcx, r12
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.14003b070
xor r14d, r14d
cmp dword [rbp + 0x1e4], r14d
jle 0x140041e6c
mov rcx, rbx
call fcn.14003b420
mov r8, rax
lea rdx, [0x140155fd0]
mov rcx, r12
call fcn.140037074
mov esi, dword [rbp + 0x1e4]
mov dword [rsp + 0x34], esi
mov eax, 2
test byte [rbx + 8], al
je 0x140041e85
movzx edx, byte [rbp + 0x288]
mov rcx, rbx
call fcn.140035a24
mov rcx, rbx
call fcn.1400364cc
test eax, eax
jne 0x1400418b7
test esi, esi
jne 0x14003df17
jmp 0x14003dc41
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.0x14003d2b6.86
mov rcx, qword [r14 + 0x38]
mov rbx, qword [rcx]
mov r15, qword [rbx]
call qword [r15 + SQLSetEnvAttr]
mov r12, qword [rbp + 0x280]
mov rdx, rbx
mov rcx, r12
mov dword [rsp + 0x34], eax
mov esi, eax
call fcn.14003b070
test esi, esi
jne 0x14003df17
mov rcx, qword [r14 + 0x38]
call qword [r15 + 0x50]
mov r12, qword [rsp + 0x40]
xor r14d, r14d
mov r15, qword [rsp + 0x48]
test eax, eax
jne 0x140040a65
jmp 0x1400411d8
xor r14d, r14d
mov eax, dword [rdi + 8]
sub eax, r13d
cdqe
lea rcx, [rax + rax*2]
lea rdi, [rbx + rcx*8]
jmp 0x140040a71
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
add rbx, qword [rsp + 0x48]
test byte [rbx + 8], r11b
je 0x140041f5e
mov edx, r13d
mov rcx, rbx
call fcn.140035a24
mov esi, eax
jmp 0x140041f60
xor esi, esi
test esi, esi
jne 0x14003df10
mov rax, qword [r15]
mov rcx, r15
mov rdx, qword [rbx + 0x10]
call qword [rax + Ordinal_157]
mov dword [rsp + 0x34], eax
mov esi, eax
test r14d, r14d
jne 0x140041f8a
btr qword [r12 + 0x30], 0x1a
mov rcx, qword [rbp + 0x280]
mov rdx, r15
call fcn.14003b070
mov r10, qword [rbp + 0x280]
xor r14d, r14d
and dword [r10 + 0xc8], 0xfffffffc
test esi, esi
jne 0x14003df10
jmp 0x14003dc48
xor r14d, r14d
cmp byte [r12 + 0x61], r14b
jne 0x14004299d
mov rax, qword [rdi + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x14004273e
mov r10, qword [rbx]
test r10, r10
je 0x14004273e
cmp qword [r10 + 0x68], r14
je 0x14004242c
movsxd rax, dword [rdi + 0xc]
xor r11d, r11d
mov r14b, byte [r12 + 0x66]
mov r12, qword [rbp + 0x280]
movsxd rdx, dword [rdi + 8]
imul rcx, rax, 0x38
mov r8, qword [r12 + 0x70]
mov eax, r11d
add rcx, r15
test edx, edx
jle 0x140042027
mov qword [r8 + rax*8], rcx
add rcx, 0x38
add rax, r13
cmp rax, rdx
jl 0x140042017
mov al, byte [rdi + 2]
lea r9, [rbp + 0x68]
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.14003b070
xor r14d, r14d
mov r12, r15
test esi, esi
jne 0x14004206b
cmp dword [rdi + 4], r14d
je 0x14004206b
mov rax, qword [rbp + 0x68]
mov qword [r15 + 0x38], rax
cmp sil, 0x13
jne 0x1400420b8
mov rax, qword [rdi + 0x10]
cmp byte [rax + 0x1c], r14b
je 0x1400420b8
mov r10, qword [rbp + 0x280]
mov eax, 4
lea r11d, [rax - 2]
cmp word [rdi + 2], ax
jne 0x14004209e
mov esi, r14d
mov dword [rsp + 0x34], r14d
jmp 0x14003f594
movzx eax, byte [rdi + 2]
mov ecx, 5
cmp word [rdi + 2], cx
cmove eax, r11d
mov byte [r10 + 0xc2], al
jmp 0x1400420c9
mov r10, qword [rbp + 0x280]
mov r11d, 2
add dword [r10 + 0x3c], r13d
test esi, esi
jne 0x14003df10
jmp 0x14003f594
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
movsxd rdx, dword [rdi + 4]
mov rbx, rax
mov rcx, qword [r12 + 0x20]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
call fcn.14002c688
mov ecx, eax
mov qword [rbx], rcx
jmp 0x14003d73b
mov rdx, rdi
mov rcx, r10
call fcn.14003d194
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 0x14004213d
mov rcx, rbx
call fcn.14002c688
cmp eax, dword [rdi + 0xc]
cmovb eax, dword [rdi + 0xc]
mov edx, eax
mov rcx, rbx
call fcn.14002cd8c
movsxd rcx, eax
mov qword [r14], rcx
jmp 0x14003d73b
movzx ebx, word [rdi + 2]
mov rcx, r12
lea rdx, [rbx*8 + 0x30]
call fcn.14001aa88
mov r12, qword [rbp + 0x280]
xor r10d, r10d
mov r8, rax
test rax, rax
je 0x140040766
mov qword [rax], r10
mov rcx, qword [rdi + 0x10]
mov qword [rax + 8], rcx
mov rcx, rdi
sub rcx, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
mov qword [r8 + 0x18], r12
sar rdx, 2
mov dword [r8 + 0x24], r10d
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov byte [r8 + 0x29], bl
mov dword [r8 + 0x20], edx
lea eax, [r10 + 2]
add byte [rdi], al
mov byte [rdi + 1], 0xf0
mov qword [rdi + 0x10], r8
jmp 0x1400421d1
mov r12, qword [rbp + 0x280]
movsxd rax, dword [rdi + 0xc]
mov rbx, qword [rdi + 0x10]
imul r14, rax, 0x38
add r14, r15
cmp qword [rbx], r14
je 0x14004222a
movzx eax, byte [rbx + 0x29]
mov edx, eax
mov qword [rbx], r14
sub rdx, 1
lea r9d, [rax - 1]
js 0x14004222a
lea r8, [rdx + 6]
mov r12d, 8
lea r8, [rbx + r8*8]
mov eax, dword [rdi + 8]
add eax, r9d
sub r9d, r13d
cdqe
imul rcx, rax, 0x38
add rcx, r15
mov qword [r8], rcx
sub r8, r12
sub rdx, r13
jns 0x140042206
mov r12, qword [rbp + 0x280]
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 0x14004229c
jle 0x140042275
mov rcx, r14
call fcn.14003b420
mov r8, rax
lea rdx, [0x140155fd0]
mov rcx, r12
call fcn.140037074
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.1400399b4
xor eax, eax
mov dword [rbx + 0x24], eax
test esi, esi
jne 0x14003df17
test byte [r14 + 8], 0x12
je 0x1400422fe
mov eax, 2
test byte [r14 + 8], al
je 0x1400422bd
movzx edx, byte [rbp + 0x288]
mov rcx, r14
call fcn.140035a24
mov rcx, r14
call fcn.1400364cc
test eax, eax
jne 0x1400418b7
jmp 0x14003d8af
mov r12, qword [rsp + 0x40]
mov r15, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x30]
mov r11d, 2
jmp 0x14003e3b4
mov r12, qword [rsp + 0x40]
mov r13d, 1
mov r15, qword [rsp + 0x48]
jmp 0x1400422e1
mov r12, qword [rsp + 0x40]
jmp 0x1400422dc
mov r15, qword [rsp + 0x48]
mov r8d, dword [rsp + 0x30]
jmp 0x14003e3b4
xor r14d, r14d
test byte [r12 + 0x68], r13b
je 0x1400423b6
lea eax, [r14 + 0x10]
test byte [r10 + 0xc8], al
jne 0x1400423b6
mov r9, qword [rdi + 0x10]
test r9, r9
jne 0x140042348
mov r9, qword [r10 + 0xf0]
test r9, r9
je 0x1400423af
cmp dword [r12 + 0xd4], r13d
jle 0x140042411
mov r8, r9
lea rdx, str.____s
mov rcx, r12
call fcn.14001c50c
mov r12, qword [rsp + 0x40]
mov r9, rax
mov r8, qword [rbp + 0x280]
mov ecx, r13d
mov rbx, rax
mov rdx, qword [r12 + 0xf0]
call qword [r12 + 0xe8]
mov rdx, rbx
mov rcx, r12
call fcn.14001a840
mov rbx, qword [rsp + 0x38]
mov r10, qword [rbp + 0x280]
mov r11d, 2
mov r8d, dword [rsp + 0x30]
mov r9b, byte [rbp + 0x288]
mov eax, dword [rdi + 4]
cmp eax, dword [0x1401aad00]
jl 0x140042400
cmp byte [rdi], 0xa8
je case.0x14003d2b6.86
mov edx, r13d
cmp dword [r10 + 0x90], r13d
jle 0x1400423fd
mov eax, reloc.ODBC32.dll_SQLAllocHandle
mov rcx, qword [r10 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x1400423ed
mov dword [rax + rcx + 4], r14d
add edx, r13d
add rax, 0x18
cmp edx, dword [r10 + 0x90]
jl 0x1400423db
mov eax, r14d
inc eax
mov dword [rdi + 4], eax
add dword [r10 + 0xec], r13d
jmp 0x14003de5d
mov rdx, qword [r12 + 0xf0]
mov r8, r10
mov ecx, r13d
call qword [r12 + 0xe8]
jmp 0x14004239d
mov r10, qword [rbp + 0x280]
jmp 0x14003d8d0
mov r13d, 1
jmp 0x14003d472
mov r11d, 2
mov r15, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x38]
mov r8d, dword [rsp + 0x30]
lea rcx, [0x140000000]
mov edx, dword [rbp - 0x58]
add rdi, 0x18
jmp 0x14003d289
mov dword [r10 + 0x38], edx
mov al, byte [rdi + 8]
mov byte [r10 + 0xc2], al
mov dword [r10 + 0x34], ebx
test edx, edx
je 0x140042527
mov rcx, r10
cmp word [rdi + 2], r14w
je 0x1400424e2
movzx r8d, word [rdi + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0x13a210]
call fcn.140037074
mov r9, qword [rdi + 0x10]
mov r12, qword [rbp + 0x280]
test r9, r9
je 0x1400424f9
mov r8, qword [r12 + 0xa8]
lea rdx, str._z:__s
mov rcx, qword [rsp + 0x40]
call fcn.14001c50c
mov qword [r12 + 0xa8], rax
jmp 0x1400424f9
mov r8, qword [rdi + 0x10]
lea rdx, [0x140155fd0]
call fcn.140037074
mov r12, qword [rbp + 0x280]
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.14001c70c
mov r10, qword [rbp + 0x280]
mov rcx, r10
call fcn.14003953c
mov r12, qword [rbp + 0x280]
mov esi, eax
mov eax, 5
cmp esi, eax
jne 0x14004254b
mov dword [r12 + 0x38], eax
jmp 0x140042938
mov eax, dword [r12 + 0x38]
neg eax
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
jmp 0x140042938
mov esi, SQLAllocHandle
jmp 0x14003df10
mov r9d, 0x152d5
lea rax, [0x14015b134]
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.14001c70c
mov esi, ebx
jmp 0x14003df10
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r10
call fcn.140037074
mov esi, 5
jmp 0x14003df10
mov r12, qword [rbp + 0x280]
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r12
call fcn.140037074
mov esi, 5
jmp 0x14003df17
sub rdi, qword [rsp + 0x38]
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 + 0x280]
mov esi, ecx
mov dword [r12 + 0x38], ecx
jmp 0x140042938
mov r10, qword [rbp + 0x280]
mov r8, r15
lea rdx, str.no_such_savepoint:__s
mov rcx, r10
call fcn.140037074
mov esi, 1
jmp 0x14003df10
mov esi, 8
jmp 0x14003df10
mov r12, qword [rbp + 0x280]
mov eax, 5
cmp sil, al
jne 0x14003df17
sub rdi, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rdi
mov dword [r12 + 0x38], esi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x34], edx
jmp 0x140042938
mov esi, 0x204
jmp 0x14003df10
mov r12, qword [rbp + 0x280]
mov esi, 6
lea eax, [rsi - 4]
mov byte [r12 + 0xc2], al
jmp 0x14003df17
mov esi, 7
mov rcx, r12
call fcn.14005360c
mov r12, qword [rbp + 0x280]
mov ebx, 7
mov r14b, byte [rbp + 0x290]
cmp esi, ebx
je 0x140040772
jmp 0x14003df23
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r10
mov esi, 1
call fcn.140037074
jmp 0x14003df10
mov rcx, rbx
call fcn.14003b420
mov r8, rax
lea rdx, [0x140155fd0]
mov r12, qword [rbp + 0x280]
mov rcx, r12
call fcn.140037074
jmp 0x14003df17
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 0x1400426ff
call qword [r14 + 0x38]
jmp 0x140040766
mov esi, 6
jmp 0x14003df10
xor edx, edx
mov rcx, r10
call fcn.1400394ec
xor r14d, r14d
mov esi, eax
test eax, eax
jne 0x14003df10
mov r8, qword [rbp + 0x280]
mov rax, qword [r8]
cmp dword [rax + 0x280], r14d
je 0x14004278a
cmp dword [r8 + 0x40], r14d
je 0x14004278a
mov edx, r13d
mov rcx, r8
call fcn.1400393dc
mov r8, qword [rbp + 0x280]
mov eax, dword [r8 + 0x30]
add eax, 2
or eax, r13d
mov dword [r8 + 0x30], eax
movsxd rax, dword [rdi + 4]
imul r14, rax, 0x38
add r14, r15
xor r15d, r15d
mov qword [r8 + 0xa0], r14
mov esi, r15d
cmp dword [rdi + 8], r15d
jle 0x140042811
lea rbx, [r14 + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x1400427db
movsxd rax, esi
imul rcx, rax, 0x38
add rcx, r14
call fcn.140035bf0
test eax, eax
jne 0x14004299d
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
mov ecx, 2
cmp ax, cx
jne 0x1400427f9
lea rcx, [rbx - 8]
call fcn.140035b90
add esi, r13d
add rbx, 0x38
cmp esi, dword [rdi + 8]
jl 0x1400427ba
mov r8, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x38]
cmp byte [r12 + 0x61], r15b
jne 0x14004299d
mov eax, 4
test byte [r12 + 0x68], al
je 0x14004283d
mov rdx, qword [r12 + 0xf0]
xor r9d, r9d
mov ecx, eax
call qword [r12 + 0xe8]
mov r12, qword [rbp + 0x280]
sub rdi, rbx
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 0x140042938
movzx eax, byte [r12 + 0x5f]
mov ebx, dword [rdi + 4]
mov ecx, dword [rdi + 8]
cmp ebx, eax
je 0x14004296c
xor r15d, r15d
test ecx, ecx
je 0x1400428a1
mov edx, 0x204
mov rcx, r12
call fcn.14008701c
mov r14b, r13b
jmp 0x1400428cf
test ebx, ebx
je 0x1400428bb
cmp dword [r12 + 0xd0], r15d
jle 0x1400428bb
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x1400425a3
mov edx, r13d
mov rcx, r10
mov r14d, ebx
call fcn.1400394ec
mov esi, eax
test eax, eax
jne 0x140042931
mov byte [r12 + 0x5f], r14b
mov rsi, qword [rbp + 0x280]
mov rcx, rsi
call fcn.14003953c
mov ecx, 5
cmp eax, ecx
jne 0x14004291c
sub rdi, qword [rsp + 0x38]
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 0x1400425fd
mov rcx, r12
call fcn.140086bf4
mov eax, dword [rsi + 0x38]
neg eax
sbb esi, esi
and esi, 0xffffff9c
add esi, 0x65
mov r12, qword [rbp + 0x280]
mov eax, dword [rbp - 0x58]
lea r11, [rsp + 0x338]
add dword [r12 + 0xe4], eax
mov eax, esi
movaps xmm6, xmmword [r11 - 0x18]
movaps xmm7, xmmword [r11 - 0x28]
movaps xmm8, xmmword [r11 - 0x38]
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.140037074
mov esi, r13d
jmp 0x14003df10
mov r12, qword [rbp + 0x280]
jmp 0x140040766
mov r12, qword [rbp + 0x280]
mov ebx, eax
jmp 0x140040772