Function at 0x1400378dc
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x2f8
mov r13, qword [rcx]
mov r12, qword [rcx + 0x88]
mov r14, qword [rcx + 0x68]
mov dl, byte [r13 + 0x5e]
xor r10d, r10d
mov r11, rcx
lea eax, [r10 + 7]
mov qword [rsp + 0x38], r12
mov rsi, r12
mov byte [rsp + 0x348], dl
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov qword [rsp + 0x40], r13
mov byte [rsp + 0x350], r10b
mov r9d, r10d
mov dword [rsp + 0x358], r10d
mov r8d, r10d
mov dword [rsp + 0x88], r10d
mov qword [rsp + 0x48], r14
lea r15d, [r10 + 1]
cmp dword [rcx + 0x38], eax
je 0x14003938f
mov qword [rcx + 0x48], r10
mov qword [rcx + 0xa0], r10
mov eax, dword [r13 + 0x160]
mov dword [r13 + 0x228], r10d
cmp eax, r10d
jne 0x14003c045
movsxd rax, dword [rcx + 0x34]
lea ebx, [r10 + 4]
lea rcx, [rax + rax*2]
lea rsi, [r12 + rcx*8]
lea rcx, [0x140000000]
movzx ebp, byte [rsi]
add r8d, r15d
mov qword [rsp + 0x80], rsi
mov dword [rsp + 0x88], r8d
cmp ebp, 0xa8
ja case.default.0x1400379c8
mov ecx, dword [rcx + rbp*4 + 0x3d9d4]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
movsxd r8, dword [rsi + 4]
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r12
imul r8, r8, 0x38
imul rcx
mov word [r8 + r14 + 8], bx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
movsxd rax, edx
mov qword [r8 + r14], rax
jmp 0x14003d48e
movsxd rdx, dword [rsi + 4]
imul rdx, rdx, 0x38
add rdx, r14
mov rax, qword [rdx]
lea rcx, [rax + rax*2]
mov eax, 0x80
mov word [rdx + 8], ax
lea rsi, [r12 + rcx*8]
mov dl, byte [rsp + 0x348]
jmp case.0x1400379c8.86
mov eax, dword [rsi + 0xc]
movsxd rcx, dword [rsi + 4]
sub eax, r15d
cdqe
imul rcx, rcx, 0x38
mov qword [rcx + r14], rax
mov word [rcx + r14 + 8], bx
cmp dword [rsi + 8], r10d
jne 0x14003d48e
jmp case.0x1400379c8.86
movsxd rdx, dword [rsi + 4]
imul rdx, rdx, 0x38
add rdx, r14
mov rax, qword [rdx]
lea rcx, [rax + rax*2]
mov eax, dword [r12 + rcx*8 + 8]
sub eax, r15d
cdqe
jmp 0x140037a13
movsxd r8, dword [rsi + 4]
sub rsi, r12
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
imul r8, r8, 0x38
movsxd rcx, dword [r8 + r14]
add rdx, rax
mov word [r8 + r14 + 8], bx
movsxd rax, edx
lea rcx, [rcx + rcx*2]
mov qword [r8 + r14], rax
jmp 0x140037a20
movsxd rax, dword [rsi + 0xc]
imul rax, rax, 0x38
test byte [rax + r14 + 8], r15b
je case.0x1400379c8.86
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r12
imul rcx
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
cmp dword [rsi + 4], r10d
jne 0x14003d4c3
mov rcx, qword [r11 + 0x100]
cmp rcx, r10
je 0x14003d4c3
mov rax, qword [rcx + 8]
dec dword [r11 + 0x110]
mov qword [r11 + 0x100], rax
mov eax, dword [r11 + 0x3c]
add dword [r13 + 0x78], eax
mov dword [r13 + 0x74], eax
call fcn.1400336ec
mov r11, qword [rsp + 0x340]
mov ebx, 4
cmp dword [rsi + 8], ebx
jne 0x140037b51
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r11 + 0x88]
mov eax, dword [rax + rcx*8 + 8]
sub eax, r15d
mov r12, qword [r11 + 0x88]
mov r14, qword [r11 + 0x68]
cdqe
lea rcx, [rax + rax*2]
mov qword [rsp + 0x38], r12
mov qword [rsp + 0x48], r14
lea rsi, [r12 + rcx*8]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
xor r10d, r10d
jmp case.0x1400379c8.86
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
mov r11, rax
movsxd rax, dword [rsi + 4]
mov qword [r11], rax
mov r11, qword [rsp + 0x340]
jmp 0x140037b70
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
mov r11, rax
mov rax, qword [rsi + 0x10]
mov rcx, qword [rax]
mov qword [r11], rcx
jmp 0x140037b9c
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
mov r11, rax
mov eax, 8
mov word [r11 + 8], ax
jmp 0x140037bb4
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
mov rdx, qword [rsi + 0x10]
mov rcx, rdx
mov rbx, rax
call fcn.140018d64
mov bpl, byte [rsp + 0x348]
mov dword [rsi + 4], eax
cmp bpl, r15b
je 0x140037c93
xor eax, eax
mov r9b, r15b
or r8d, 0xffffffff
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140031514
xor r15d, r15d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r15d
jne 0x14003ced5
lea eax, [r15 + 2]
movzx ecx, bpl
test byte [rbx + 8], al
je 0x140037c51
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x140037c51
mov dl, cl
mov rcx, rbx
call fcn.140018788
jmp 0x140037c54
mov eax, r15d
cmp eax, r15d
jne 0x14003938f
mov eax, 0x800
mov dword [rbx + 0x20], r15d
or word [rbx + 8], ax
cmp byte [rsi + 1], 0xf9
jne 0x140037c81
mov rdx, qword [rsi + 0x10]
cmp rdx, r15
je 0x140037c81
mov rcx, r13
call fcn.140016698
mov byte [rsi + 1], 0xf9
mov rax, qword [rbx + 0x10]
mov qword [rsi + 0x10], rax
mov eax, dword [rbx + 0xc]
mov dword [rsi + 4], eax
mov eax, dword [r13 + 0x7c]
mov r11, qword [rsp + 0x340]
cmp dword [rsi + 4], eax
jg 0x14003cedd
mov byte [rsi], Ordinal_73
mov ebx, 4
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
mov dl, byte [rsp + 0x348]
mov r11, rax
mov eax, 0xa02
mov word [r11 + 8], ax
mov rax, qword [rsi + 0x10]
mov qword [r11 + 0x10], rax
mov eax, dword [rsi + 4]
mov byte [r11 + 0xa], dl
mov dword [r11 + 0xc], eax
mov r11, qword [rsp + 0x340]
jmp 0x140037b77
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
mov ebp, dword [rsi + 0xc]
sub ebp, dword [rsi + 8]
mov rbx, rax
mov eax, dword [rsi + 4]
neg eax
mov eax, 0x100
sbb r12w, r12w
and r12w, ax
add r12w, r15w
xor r10d, r10d
jmp 0x140037d30
add rbx, 0x38
mov rcx, rbx
call fcn.140031218
xor r10d, r10d
sub ebp, r15d
cmp ebp, r10d
mov dword [rbx + 0xc], r10d
mov word [rbx + 8], r12w
jg 0x140037d1e
mov r11, qword [rsp + 0x340]
mov r12, qword [rsp + 0x38]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
mov ebx, 4
lea rcx, [0x140000000]
mov r8d, dword [rsp + 0x88]
add rsi, 0x18
mov r15d, 1
jmp 0x140037995
movsxd rax, dword [rsi + 4]
mov ecx, 0xff41
imul rax, rax, 0x38
add rax, r14
and word [rax + 8], cx
or word [rax + 8], r15w
jmp case.0x1400379c8.86
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
mov r8d, dword [rsi + 4]
mov rdx, qword [rsi + 0x10]
mov rbx, rax
xor eax, eax
xor r9d, r9d
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140031514
mov dl, byte [rsp + 0x348]
mov byte [rbx + 0xa], dl
mov r11, qword [rsp + 0x340]
mov r9d, dword [rsp + 0x358]
xor r10d, r10d
jmp 0x140037d5a
mov eax, dword [rsi + 4]
sub eax, r15d
movsxd rbp, eax
imul rbp, rbp, 0x38
add rbp, qword [r11 + 0x80]
test byte [rbp + 8], 0x12
je 0x140037e1c
mov ecx, dword [rbp + 0xc]
mov eax, 0x4000
test word [rbp + 8], ax
je 0x140037e0d
add ecx, dword [rbp]
mov rax, qword [rbp + 0x28]
mov edx, r10d
cmp ecx, dword [rax + 0x7c]
setg dl
jmp 0x140037e1f
mov edx, r10d
cmp edx, r10d
jne 0x14003cedd
movsxd rbx, dword [rsi + 8]
mov eax, 0x2400
imul rbx, rbx, 0x38
add rbx, r14
test word [rbx + 8], ax
je 0x140037e59
mov rcx, rbx
call fcn.140031218
mov r11, qword [rsp + 0x340]
mov r9d, dword [rsp + 0x358]
xor r10d, r10d
mov rax, qword [rbp]
mov ecx, 0xebff
mov qword [rbx], rax
mov rax, qword [rbp + 8]
mov qword [rbx + 8], rax
mov rax, qword [rbp + 0x10]
mov qword [rbx + 0x10], rax
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
mov dl, byte [rsp + 0x348]
jmp 0x140037d5a
movsxd rbp, dword [rsi + 4]
movsxd rbx, dword [rsi + 8]
mov r12d, dword [rsi + 0xc]
imul rbp, rbp, 0x38
imul rbx, rbx, 0x38
add rbp, r14
add rbx, r14
mov rdx, rbp
mov rcx, rbx
call fcn.1400314c0
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140037eda
mov rcx, rbx
call fcn.140030ba8
xor r10d, r10d
cmp eax, r10d
jne 0x14003938f
jmp 0x140037edd
xor r10d, r10d
add rbp, 0x38
add rbx, 0x38
sub r12d, r15d
jne 0x140037eae
jmp 0x140037d3e
movsxd rbp, dword [rsi + 4]
movsxd rbx, dword [rsi + 8]
mov r12d, dword [rsi + 0xc]
imul rbp, rbp, 0x38
imul rbx, rbx, 0x38
add rbp, r14
add rbx, r14
mov r8d, 0x1000
mov rdx, rbp
mov rcx, rbx
call fcn.1400313ec
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140037f3b
mov rcx, rbx
call fcn.140030ba8
xor r10d, r10d
cmp eax, r10d
jne 0x14003938f
jmp 0x140037f3e
xor r10d, r10d
mov eax, r12d
sub r12d, r15d
cmp eax, r10d
je 0x140037d3e
add rbx, 0x38
add rbp, 0x38
jmp 0x140037f09
movsxd rdx, dword [rsi + 4]
movsxd rcx, dword [rsi + 8]
mov r8d, 0x1000
imul rdx, rdx, 0x38
imul rcx, rcx, 0x38
add rdx, r14
add rcx, r14
call fcn.1400313ec
jmp 0x140037b9c
movsxd rax, dword [rsi + 4]
movsxd rcx, dword [rsi + 8]
imul rax, rax, 0x38
imul rcx, rcx, 0x38
add rcx, r14
mov rdx, qword [rax + r14]
mov eax, 0x2400
test word [rcx + 8], ax
je 0x140037fa9
call fcn.140031294
jmp 0x140037b9c
mov qword [rcx], rdx
mov word [rcx + 8], bx
jmp 0x140037a24
movsxd r13, dword [rsi + 4]
movsxd rbx, dword [rsi + 8]
movsxd rbp, dword [rsi + 0xc]
imul r13, r13, 0x38
imul rbx, rbx, 0x38
imul rbp, rbp, 0x38
add rbx, r14
add r13, r14
add rbp, r14
movzx r14d, word [r13 + 8]
mov al, byte [rbx + 8]
or al, r14b
test r15b, al
je 0x140038004
mov rcx, rbp
call fcn.140031218
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x40]
mov dl, byte [rsp + 0x348]
jmp 0x140037dca
test r14b, 0x12
jne 0x14003803d
xor r8d, r8d
mov rcx, r13
call fcn.140030c60
xor r15d, r15d
cmp eax, r15d
jne 0x14003938a
mov r14w, word [r13 + 8]
mov dl, byte [rsp + 0x348]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x4000
jmp 0x140038055
mov eax, 0x4000
test ax, r14w
je 0x140038052
mov rcx, r13
call fcn.140030c04
jmp 0x140038015
xor r15d, r15d
movzx r12d, word [rbx + 8]
test r12b, 0x12
jne 0x14003806d
xor r8d, r8d
mov rcx, rbx
call fcn.140030c60
jmp 0x14003807b
test ax, r12w
je 0x140038092
mov rcx, rbx
call fcn.140030c04
cmp eax, r15d
jne 0x14003938a
mov r12w, word [rbx + 8]
mov eax, 0xfffd
and r12w, ax
mov eax, dword [r13 + 0xc]
mov r8, qword [rsp + 0x40]
add eax, dword [rbx + 0xc]
movsxd r15, eax
movsxd rax, dword [r8 + 0x7c]
cmp r15, rax
jg 0x14003ced5
xor eax, eax
cmp rbp, rbx
lea edx, [r15 + 3]
mov r8d, eax
sete r8b
mov rcx, rbp
call fcn.140030a2c
xor r11d, r11d
cmp eax, r11d
jne 0x14003938a
mov eax, 0x3e40
and word [rbp + 8], ax
lea eax, [r11 + 2]
or word [rbp + 8], ax
cmp rbp, rbx
je 0x1400380fe
movsxd r8, dword [rbx + 0xc]
mov rdx, qword [rbx + 0x10]
mov rcx, qword [rbp + 0x10]
call sub.msvcrt.dll_memcpy
mov word [rbx + 8], r12w
movsxd rcx, dword [rbx + 0xc]
movsxd r8, dword [r13 + 0xc]
mov rdx, qword [r13 + 0x10]
add rcx, qword [rbp + 0x10]
call sub.msvcrt.dll_memcpy
mov dl, byte [rsp + 0x348]
mov word [r13 + 8], r14w
mov rax, qword [rbp + 0x10]
xor r10d, r10d
mov byte [r15 + rax], r10b
mov rax, qword [rbp + 0x10]
mov byte [rax + r15 + 1], r10b
mov rax, qword [rbp + 0x10]
mov byte [rax + r15 + 2], r10b
mov eax, 0x200
mov dword [rbp + 0xc], r15d
or word [rbp + 8], ax
mov byte [rbp + 0xa], dl
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r11, qword [rsp + 0x340]
mov r12, qword [rsp + 0x38]
jmp 0x140037d52
movsxd r13, dword [rsi + 4]
imul r13, r13, 0x38
add r13, r14
mov bx, word [r13 + 8]
and bx, 0x2c
jne 0x140038198
test byte [r13 + 8], 0x12
je 0x140038195
mov rcx, r13
call fcn.1400377fc
xor r10d, r10d
mov bx, ax
jmp 0x140038198
mov ebx, r10d
movsxd rbp, dword [rsi + 8]
imul rbp, rbp, 0x38
add rbp, r14
mov ax, word [rbp + 8]
and ax, 0x2c
jne 0x1400381c0
test byte [rbp + 8], 0x12
je 0x1400381bd
mov rcx, rbp
call fcn.1400377fc
jmp 0x1400381c0
mov eax, r10d
movsxd r12, dword [rsi + 0xc]
movzx ecx, word [rbp + 8]
and al, bl
or cx, word [r13 + 8]
mov ebx, 4
imul r12, r12, 0x38
add r12, r14
test bl, al
je 0x140038379
movzx ecx, byte [rsi]
mov r9, qword [rbp]
mov r8, qword [r13]
sub ecx, 0x67
mov qword [rsp + 0x80], r9
je 0x14003831e
sub ecx, r15d
je 0x1400382ff
xor r10d, r10d
sub ecx, r15d
je 0x140038268
cmp ecx, r15d
je 0x140038236
cmp r8, r10
je 0x140038432
cmp r8, 0xffffffffffffffff
mov rax, r9
cmove r8, r15
cqo
idiv r8
mov r9, rdx
jmp 0x14003833e
cmp r8, r10
je 0x140038432
cmp r8, 0xffffffffffffffff
jne 0x140038258
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x140038382
mov rax, r9
cqo
idiv r8
mov r9, rax
jmp 0x14003833e
cmp r8, r10
jle 0x140038299
movabs rax, 0x7fffffffffffffff
cqo
idiv r8
cmp r9, rax
jg 0x140038382
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jmp 0x1400382b2
jge 0x1400382f9
cmp r9, r10
jle 0x1400382ba
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jl 0x140038382
jmp 0x1400382f9
jge 0x1400382f9
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x140038382
cmp r9, rax
je 0x140038382
movabs rax, 0x8000000000000001
cqo
idiv r8
mov rcx, rax
mov rax, r9
neg rax
cmp rax, rcx
jg 0x140038382
imul r9, r8
jmp 0x14003833e
movabs rax, 0x8000000000000000
cmp r8, rax
jne 0x14003831b
xor r10d, r10d
cmp r9, r10
jge 0x140038382
sub r9, rax
jmp 0x14003833e
neg r8
lea rcx, [rsp + 0x80]
mov rdx, r8
call fcn.140019cec
xor r10d, r10d
cmp eax, r10d
jne 0x140038382
mov r9, qword [rsp + 0x80]
mov eax, 0x3e40
mov qword [r12], r9
and word [r12 + 8], ax
or word [r12 + 8], bx
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov r11, qword [rsp + 0x340]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
jmp case.0x1400379c8.86
test r15b, cl
jne 0x140038432
mov rcx, r13
call fcn.140030f88
mov rcx, rbp
movapd xmm2, xmm0
call fcn.140030f88
movzx edx, byte [rsi]
sub edx, 0x67
je 0x140038400
sub edx, r15d
je 0x1400383fa
sub edx, r15d
je 0x1400383f4
sub edx, r15d
je 0x1400383e4
mov rcx, r13
call fcn.140030f24
mov rcx, rbp
mov rbx, rax
call fcn.140030f24
xor r10d, r10d
cmp rbx, r10
je 0x140038432
cmp rbx, 0xffffffffffffffff
cqo
pxor xmm0, xmm0
cmove rbx, r15
idiv rbx
lea ebx, [r10 + 4]
cvtsi2sd xmm0, rdx
jmp 0x140038407
ucomisd xmm2, qword [0x14012b980]
je 0x140038432
divsd xmm0, xmm2
jmp 0x140038404
mulsd xmm0, xmm2
jmp 0x140038404
subsd xmm0, xmm2
jmp 0x140038404
addsd xmm0, xmm2
xor r10d, r10d
call fcn.140018d2c
cmp eax, r10d
jne 0x140038432
mov eax, 0x3e40
movsd qword [r12], xmm0
and word [r12 + 8], ax
mov eax, 8
or word [r12 + 8], ax
jmp 0x140038353
mov rcx, r12
call fcn.140031218
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
jmp 0x140037ff8
cmp dword [rsi + 4], r10d
je case.0x1400379c8.86
movsxd rax, dword [rsi + 4]
mov ecx, 0x2400
imul rax, rax, 0x38
add rax, r14
test word [rax + 8], cx
je 0x140038473
xor edx, edx
mov rcx, rax
jmp 0x140037f9f
mov qword [rax], r10
mov word [rax + 8], bx
jmp case.0x1400379c8.86
movsxd rcx, dword [rsi + 8]
movsxd rbp, dword [rsi + 4]
movsxd r12, dword [rsi + 0xc]
imul rcx, rcx, 0x38
imul rbp, rbp, 0x38
imul r12, r12, 0x38
add rcx, r14
add rbp, r14
add r12, r14
mov al, byte [rcx + 8]
or al, byte [rbp + 8]
test r15b, al
je 0x1400384c5
mov rcx, r12
call fcn.140031218
mov r11, qword [rsp + 0x340]
mov r12, qword [rsp + 0x38]
jmp 0x140037b70
call fcn.140030f24
mov rcx, rbp
mov rbx, rax
call fcn.140030f24
mov dl, byte [rsi]
mov r11, rax
cmp dl, 0x63
jne 0x1400384e4
and rbx, rax
jmp 0x1400384ec
cmp dl, 0x64
jne 0x1400384f1
or rbx, rax
xor r10d, r10d
jmp 0x140038566
xor r10d, r10d
cmp rax, r10
je 0x140038566
jge 0x140038519
mov rcx, r11
mov eax, reloc.WLDAP32.dll_Ordinal_203
sub al, dl
neg rcx
mov dl, al
mov rax, r11
lea r11d, [r10 + 0x40]
cmp rax, 0xffffffffffffffc0
cmovg r11, rcx
cmp r11, 0x40
jl 0x140038536
cmp rbx, r10
jge 0x14003852e
cmp dl, 0x65
je 0x14003852e
or eax, 0xffffffff
jmp 0x140038531
mov eax, r10d
movsxd rbx, eax
jmp 0x140038566
mov rcx, r11
cmp dl, 0x65
jne 0x140038546
shl rbx, cl
mov r8, rbx
jmp 0x140038563
mov r8, rbx
shr r8, cl
cmp rbx, r10
jge 0x140038563
or rdx, 0xffffffffffffffff
mov ecx, 0x40
sub cl, r11b
shl rdx, cl
or r8, rdx
mov rbx, r8
mov qword [r12], rbx
mov eax, 0x3e40
mov ebx, 4
and word [r12 + 8], ax
or word [r12 + 8], bx
jmp 0x140038358
movsxd rbx, dword [rsi + 4]
imul rbx, rbx, 0x38
add rbx, r14
mov rcx, rbx
call fcn.140030f24
mov r11, rax
mov qword [rbx], rax
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 4
or word [rbx + 8], ax
movsxd rax, dword [rsi + 8]
add rax, r11
mov qword [rbx], rax
jmp 0x140037ff8
movsxd rbx, dword [rsi + 4]
mov ebp, 4
imul rbx, rbx, 0x38
add rbx, r14
movzx eax, word [rbx + 8]
test bpl, al
jne 0x14003874b
lea ecx, [rbp + 4]
test cl, al
jne 0x14003860a
lea ecx, [rbp - 2]
test cl, al
je 0x140038619
mov edx, r15d
mov rcx, rbx
call fcn.1400376c0
mov r11, qword [rsp + 0x340]
mov r9d, dword [rsp + 0x358]
xor r10d, r10d
jmp 0x140038612
mov rcx, rbx
call fcn.140031000
mov dl, byte [rsp + 0x348]
mov ax, word [rbx + 8]
test bpl, al
jne 0x14003874b
cmp dword [rsi + 8], r10d
jne 0x14003d48e
mov edi, SQLAllocHandle
mov r12, qword [rsp + 0x340]
mov ebx, 1
mov r14d, 7
mov rbp, qword [rsp + 0x40]
mov r13d, 0xc0a
cmp byte [rbp + 0x61], r10b
cmovne edi, r14d
cmp qword [r12 + 0xa8], r10
jne 0x140038690
cmp edi, r13d
je 0x140038690
mov ecx, edi
call fcn.140083050
mov rcx, qword [rsp + 0x340]
lea rdx, [0x1400f1278]
mov r8, rax
call fcn.140031ef4
mov r12, qword [rsp + 0x340]
mov edx, edi
mov rcx, rbp
mov dword [r12 + 0x38], edi
call fcn.140018dc4
mov rcx, qword [rsp + 0x340]
sub rsi, qword [rsp + 0x38]
mov r9, qword [rcx + 0xf0]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
mov rax, qword [rcx + 0xa8]
mov ecx, edi
sar rdx, 2
mov qword [rsp + 0x20], rax
mov r8, rdx
shr r8, 0x3f
add r8, rdx
lea rdx, str.statement_aborts_at__d:___s___s
call fcn.1400184ec
mov rcx, qword [rsp + 0x340]
call fcn.140033fc8
cmp edi, r13d
jne 0x140038702
mov rcx, rbp
call fcn.140016bec
mov al, byte [rsp + 0x350]
xor ecx, ecx
mov edi, ebx
cmp al, cl
jbe 0x14003871e
movzx edx, al
mov rcx, rbp
sub edx, ebx
call fcn.14004dfc0
mov r12, qword [rsp + 0x340]
mov eax, dword [rsp + 0x88]
add dword [r12 + 0xe4], eax
mov eax, edi
add rsp, 0x2f8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret
mov ecx, 0x3e40
and ax, cx
or ax, bp
mov word [rbx + 8], ax
mov rbx, rbp
jmp case.0x1400379c8.86
movsxd rbx, dword [rsi + 4]
imul rbx, rbx, 0x38
add rbx, r14
test byte [rbx + 8], 0x24
je 0x140037d5a
mov rcx, rbx
call fcn.140030f88
mov eax, 0x3e40
and word [rbx + 8], ax
mov eax, 8
or word [rbx + 8], ax
movsd qword [rbx], xmm0
jmp 0x140037ff8
movsxd rbx, dword [rsi + 4]
mov eax, 0x4000
imul rbx, rbx, 0x38
add rbx, r14
test word [rbx + 8], ax
je 0x1400387c7
mov rcx, rbx
call fcn.140030c04
mov dl, byte [rsp + 0x348]
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x1400387cf
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov r8b, dl
mov dl, byte [rsi + 8]
mov rcx, rbx
call fcn.140031130
xor r10d, r10d
cmp edi, r10d
jne 0x140038635
mov r11, qword [rsp + 0x340]
jmp 0x140037d4b
movsxd rbp, dword [rsi + 0xc]
movsxd r12, dword [rsi + 4]
imul rbp, rbp, 0x38
imul r12, r12, 0x38
add rbp, r14
add r12, r14
movzx ebx, word [rbp + 8]
movzx r13d, word [r12 + 8]
movzx ecx, bx
or cx, r13w
test r15b, cl
je 0x1400388ad
mov eax, 0x80
test byte [rsi + 2], al
je 0x140038860
mov al, bl
and al, r13b
test r15b, al
je 0x14003884c
mov eax, 0x100
test ax, bx
jne 0x14003884c
mov ecx, r10d
jmp 0x140038a58
mov al, bl
and al, r15b
neg al
sbb ecx, ecx
and ecx, 0xfffffffe
add ecx, r15d
jmp 0x140038a35
mov r12, qword [rsp + 0x38]
mov eax, Ordinal_36
test byte [rsi + 2], al
je 0x14003889d
movsxd rax, dword [rsi + 8]
mov ecx, 0x3e40
mov r9d, r15d
mov dword [rsp + 0x358], r15d
imul rax, rax, 0x38
add rax, r14
and word [rax + 8], cx
or word [rax + 8], r15w
mov r13, qword [rsp + 0x40]
jmp 0x140037d5a
mov eax, 0x10
test byte [rsi + 2], al
jne 0x14003d48e
jmp 0x140038893
mov al, byte [rsi + 2]
and al, 0x47
cmp al, 0x43
jl 0x1400389b5
mov edx, 2
test dl, cl
je 0x1400388f1
mov al, r13b
and al, 0x2e
cmp al, dl
jne 0x1400388df
xor edx, edx
mov rcx, r12
call fcn.1400376c0
mov bx, word [rbp + 8]
mov edx, 2
mov al, bl
and al, 0x2e
cmp al, dl
jne 0x1400388f1
xor edx, edx
mov rcx, rbp
call fcn.1400376c0
mov al, byte [r12 + 8]
and al, byte [rbp + 8]
test al, 4
je 0x140038a21
mov rax, qword [r12]
cmp qword [rbp], rax
jle 0x1400389a0
mov ecx, r15d
xor r10d, r10d
movzx eax, byte [rsi]
lea rdx, [0x140000000]
movzx r8d, byte [rax + rdx + 0xd50d4]
mov word [r12 + 8], r13w
mov eax, Ordinal_36
mov word [rbp + 8], bx
test byte [rsi + 2], al
je 0x140038a70
movsxd rdx, dword [rsi + 8]
mov eax, 8
mov r9d, ecx
mov dword [rsp + 0x358], ecx
imul rdx, rdx, 0x38
add rdx, r14
test byte [rsi + 2], al
je 0x140038971
cmp byte [rsi], 0x35
mov eax, r10d
sete al
cmp eax, r8d
je 0x140038b54
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov eax, 0x3e40
mov ebx, 4
and word [rdx + 8], ax
or word [rdx + 8], bx
movsxd rax, r8d
mov qword [rdx], rax
jmp 0x140037a24
jge 0x1400389ad
or ecx, 0xffffffff
xor r10d, r10d
jmp 0x140038a3a
xor r10d, r10d
jmp 0x140038844
cmp al, 0x42
jne 0x140038a21
mov eax, 2
test al, r13b
jne 0x1400389f7
test r13b, 0x2c
je 0x1400389f7
mov r8b, r15b
mov rcx, r12
call fcn.140030c60
mov dl, byte [rsp + 0x348]
movzx r11d, r13w
xor r11w, word [r12 + 8]
mov eax, 0x3e40
and r11w, ax
mov eax, 2
xor r13w, r11w
test al, bl
jne 0x140038a21
test bl, 0x2c
je 0x140038a21
mov r8b, r15b
mov rcx, rbp
call fcn.140030c60
movzx r11d, bx
mov eax, 0x3e40
xor r11w, word [rbp + 8]
and r11w, ax
xor bx, r11w
mov r8, qword [rsi + 0x10]
mov rdx, r12
mov rcx, rbp
call fcn.140034c74
xor r10d, r10d
mov ecx, eax
cmp ecx, r10d
jge 0x140038a52
movzx eax, byte [rsi]
lea rdx, [0x140000000]
movzx r8d, byte [rax + rdx + 0xd50c4]
jmp 0x140038928
jne 0x140038915
movzx eax, byte [rsi]
lea rdx, [0x140000000]
movzx r8d, byte [rax + rdx + 0xd50cc]
jmp 0x140038928
mov r12, qword [rsp + 0x38]
cmp r8d, r10d
jne 0x14003d48e
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
jmp 0x140037d4b
cmp r9d, r10d
jmp 0x140037a4e
test byte [rsi + 2], r15b
jne 0x140038aa3
mov rbp, r10
jmp 0x140038aaa
mov rbp, qword [rsi - 8]
add rbp, rbx
cmp dword [rsi + 0xc], r10d
mov ecx, dword [rsi + 4]
mov edx, dword [rsi + 8]
mov r15, qword [rsi + 0x10]
mov dword [rsp + 0x58], ecx
mov dword [rsp + 0x6c], edx
mov r13d, r10d
mov rbx, r10
jle 0x14003d4a3
movsxd rax, dword [rsi + 0xc]
lea r14, [r15 + 0x20]
mov qword [rsp + 0x70], rax
cmp rbp, r10
je 0x140038ae5
mov r12d, dword [rbp + rbx*4]
jmp 0x140038ae8
mov r12d, r13d
mov rax, qword [r15 + 0x18]
mov r8, qword [rsp + 0x48]
movzx eax, byte [rbx + rax]
and eax, 1
mov dword [rsp + 0x68], eax
lea eax, [r12 + rdx]
movsxd rdx, eax
lea eax, [r12 + rcx]
movsxd rcx, eax
imul rdx, rdx, 0x38
add rdx, r8
imul rcx, rcx, 0x38
add rcx, r8
mov r8, qword [r14]
call fcn.140034c74
xor r10d, r10d
mov r9d, eax
mov dword [rsp + 0x358], eax
cmp eax, r10d
jne 0x140038b6b
mov ecx, dword [rsp + 0x58]
mov edx, dword [rsp + 0x6c]
lea eax, [r10 + 1]
add rbx, rax
add r13d, eax
add r14, 8
cmp rbx, qword [rsp + 0x70]
jl 0x140038ad9
mov r14, qword [rsp + 0x48]
mov r13, qword [rsp + 0x40]
mov r11, qword [rsp + 0x340]
mov r12, qword [rsp + 0x38]
jmp 0x140037e88
mov rax, qword [r15 + 0x18]
mov r14, qword [rsp + 0x48]
mov ecx, 2
test byte [rbx + rax], cl
je 0x140038bb8
movsxd rax, dword [rsp + 0x58]
movsxd rcx, r12d
mov r15d, 1
add rax, rcx
imul rax, rax, 0x38
test byte [rax + r14 + 8], r15b
jne 0x140038bad
movsxd rax, dword [rsp + 0x6c]
add rax, rcx
imul rax, rax, 0x38
test byte [rax + r14 + 8], r15b
je 0x140038bb8
neg r9d
mov dword [rsp + 0x358], r9d
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov dl, byte [rsp + 0x348]
cmp dword [rsp + 0x68], r10d
je 0x140037d5a
neg r9d
mov dword [rsp + 0x358], r9d
jmp 0x140037d5a
cmp r9d, r10d
jge 0x140038c06
mov eax, dword [rsi + 4]
sub eax, r15d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r12 + rcx*8]
jmp case.0x1400379c8.86
jne 0x140038c0d
mov eax, dword [rsi + 8]
jmp 0x140038bf4
mov eax, dword [rsi + 0xc]
jmp 0x140038bf4
movsxd rcx, dword [rsi + 4]
mov ebp, 2
mov edx, ebp
imul rcx, rcx, 0x38
add rcx, r14
call fcn.140030fc0
movsxd rcx, dword [rsi + 8]
mov edx, ebp
movsxd rbx, eax
imul rcx, rcx, 0x38
add rcx, r14
call fcn.140030fc0
cmp byte [rsi], 0x2c
movsxd r11, eax
lea rax, [0x140000000]
jne 0x140038c5e
lea rdx, [rbx + rbx*2]
add rdx, r11
movzx eax, byte [rdx + rax + 0xd5110]
jmp 0x140038c6d
lea rcx, [rbx + rbx*2]
add rcx, r11
movzx eax, byte [rcx + rax + 0xd5120]
movsxd rcx, dword [rsi + 0xc]
mov r11, qword [rsp + 0x340]
mov dl, byte [rsp + 0x348]
imul rcx, rcx, 0x38
mov r9d, dword [rsp + 0x358]
add rcx, r14
mov ebx, 4
cmp eax, ebp
jne 0x140038cab
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], r15w
jmp 0x140037b7f
cdqe
mov qword [rcx], rax
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], bx
jmp 0x140037b7f
movsxd rcx, dword [rsi + 4]
mov edx, dword [rsi + 0xc]
imul rcx, rcx, 0x38
add rcx, r14
call fcn.140030fc0
mov edx, 0x2400
movsxd rcx, eax
movsxd rax, dword [rsi + 0x10]
xor rcx, rax
movsxd rax, dword [rsi + 8]
imul rax, rax, 0x38
add rax, r14
test word [rax + 8], dx
je 0x140038cfd
mov rdx, rcx
jmp 0x14003846b
mov qword [rax], rcx
mov word [rax + 8], bx
jmp 0x140037b9c
movsxd rcx, dword [rsi + 4]
movsxd rbx, dword [rsi + 8]
imul rcx, rcx, 0x38
imul rbx, rbx, 0x38
add rcx, r14
add rbx, r14
test byte [rcx + 8], r15b
jne 0x140038d7e
xor edx, edx
call fcn.140030fc0
xor r10d, r10d
cmp eax, r10d
mov eax, 0x2400
mov rcx, r10
sete cl
test word [rbx + 8], ax
je 0x140038d53
mov rdx, rcx
mov rcx, rbx
call fcn.140031294
jmp 0x140037ff8
mov r11, qword [rsp + 0x340]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
mov eax, 4
mov qword [rbx], rcx
mov word [rbx + 8], ax
mov rbx, rax
jmp case.0x1400379c8.86
mov rcx, rbx
call fcn.140031218
jmp 0x140037ff8
movsxd rbx, dword [rsi + 8]
movsxd rbp, dword [rsi + 4]
imul rbx, rbx, 0x38
imul rbp, rbp, 0x38
add rbx, r14
add rbp, r14
mov rcx, rbx
call fcn.140031218
test byte [rbp + 8], r15b
jne 0x14003d367
mov eax, 4
mov rcx, rbp
mov word [rbx + 8], ax
call fcn.140030f24
not rax
jmp 0x1400385b7
mov r10, qword [r11 + 0x100]
xor eax, eax
cmp r10, rax
je 0x140038e43
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r11 + 0x88]
imul rcx
mov r8, rdx
sar r8, 2
mov rax, r8
shr rax, 0x3f
add r8, rax
mov rax, qword [r10 + 0x30]
mov r9d, r8d
and r8d, 7
shr r9, 3
mov ecx, r8d
mov dl, byte [r9 + rax]
mov eax, r15d
shl eax, cl
test al, dl
jne 0x14003d48e
mov rdx, qword [r10 + 0x30]
mov eax, r15d
shl al, cl
or byte [r9 + rdx], al
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
jmp 0x140038e56
mov rcx, qword [r11 + 0x88]
mov eax, dword [rsi + 4]
cmp dword [rcx + 4], eax
je 0x14003d48e
mov rax, qword [r11 + 0x88]
mov ecx, dword [rax + 4]
mov dword [rsi + 4], ecx
jmp 0x140037b7f
movsxd rcx, dword [rsi + 4]
mov edx, dword [rsi + 0xc]
imul rcx, rcx, 0x38
add rcx, r14
call fcn.140030fc0
xor r10d, r10d
cmp eax, r10d
jne 0x14003d48e
jmp 0x14003835d
cmp dword [rsi + 0xc], r10d
movsxd rcx, dword [rsi + 4]
mov edx, r10d
sete dl
imul rcx, rcx, 0x38
add rcx, r14
call fcn.140030fc0
xor r10d, r10d
cmp eax, r10d
je 0x14003d48e
jmp 0x14003835d
movsxd rax, dword [rsi + 4]
imul rax, rax, 0x38
test byte [rax + r14 + 8], r15b
jmp 0x140037a4e
movsxd rax, dword [rsi + 4]
imul rax, rax, 0x38
test byte [rax + r14 + 8], r15b
je 0x14003d48e
jmp case.0x1400379c8.86
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], r10b
je case.0x1400379c8.86
movsxd rcx, dword [rsi + 0xc]
imul rcx, rcx, 0x38
add rcx, r14
call fcn.140031218
jmp 0x14003d48e
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
movsxd r13, dword [rsi + 8]
mov rbx, qword [rax + rcx*8]
mov dword [rsp + 0x50], r13d
cmp byte [rbx + 3], r10b
je 0x140038f6c
mov rcx, qword [rbx + 0x20]
cmp rcx, r10
je 0x140038f51
mov edx, dword [rcx + r13*4 + 4]
cmp edx, r10d
jle 0x140038f51
mov rbx, qword [rbx + 0x30]
lea r13d, [rdx - 1]
mov edi, r10d
mov dword [rsp + 0x50], r13d
mov dword [rsp + 0x30], r10d
jmp 0x140038f90
mov rcx, rbx
call fcn.140034608
mov r11, qword [rsp + 0x340]
mov edi, eax
mov dword [rsp + 0x30], eax
xor r10d, r10d
jmp 0x140038f87
mov rax, qword [rbx + 0x38]
cmp byte [rax], r10b
je 0x140038f7f
mov rcx, rbx
call fcn.140034654
jmp 0x140038f59
mov edi, r10d
mov dword [rsp + 0x30], r10d
cmp edi, r10d
jne 0x140038635
movsxd r14, dword [rsi + 0xc]
mov rdx, qword [rsp + 0x48]
mov eax, dword [r11 + 0x30]
imul r14, r14, 0x38
mov r12, qword [rbx + 0x60]
add r14, rdx
mov qword [rsp + 0xb8], r14
mov qword [rsp + 0x60], r12
cmp dword [rbx + 0x28], eax
je 0x1400390ba
cmp byte [rbx + 2], r10b
je 0x140038ffc
mov eax, 3
cmp byte [rbx], al
jne 0x140038fea
movsxd rcx, dword [rbx + 0x2c]
imul rcx, rcx, 0x38
mov eax, dword [rcx + rdx + 0xc]
mov dword [rbx + 0x74], eax
mov dword [rbx + 0x70], eax
mov rax, qword [rcx + rdx + 0x10]
mov qword [rbx + 0x68], rax
jmp 0x140039054
mov rcx, r14
call fcn.140031218
mov r14, qword [rsp + 0x48]
jmp 0x14003843a
mov rbp, qword [rbx + 0x38]
mov rcx, rbp
call fcn.1400293c0
mov eax, dword [rbp + 0x40]
xor r10d, r10d
mov dword [rbx + 0x70], eax
mov rax, qword [rbp + 0x88]
movzx ecx, word [rbp + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rbp + 0x38]
cmp ecx, edx
jle 0x14003902f
mov ecx, edx
cmp edx, r10d
cmovl ecx, r10d
mov r8, qword [rsp + 0x40]
mov r11, qword [rsp + 0x340]
mov dword [rbx + 0x74], ecx
mov rax, qword [rbp + 0x38]
mov qword [rbx + 0x68], rax
mov eax, dword [r8 + 0x7c]
cmp dword [rbx + 0x70], eax
ja 0x14003cedd
mov eax, dword [r11 + 0x30]
mov rcx, qword [rbx + 0x68]
mov dword [rbx + 0x28], eax
mov eax, 0x80
cmp byte [rcx], al
jae 0x140039074
movzx eax, byte [rcx]
mov dword [r12], eax
mov eax, r15d
jmp 0x140039082
mov rdx, r12
call fcn.140019b18
xor r10d, r10d
movzx eax, al
movzx eax, al
mov word [rbx + 0x52], r10w
mov dword [rbx + 0x48], eax
mov eax, dword [r12]
cmp dword [rbx + 0x74], eax
jae 0x140039184
mov qword [rbx + 0x68], r10
mov dword [rbx + 0x74], r10d
mov eax, dword [r12]
cmp eax, 0x18003
ja 0x140039258
cmp eax, dword [rbx + 0x70]
ja 0x140039258
movzx eax, word [rbx + 0x52]
cmp eax, r13d
jg 0x14003930a
mov eax, dword [r12]
cmp dword [rbx + 0x48], eax
jae 0x140039305
mov rax, qword [rbx + 0x68]
mov qword [rsp + 0x78], rax
cmp rax, r10
jne 0x14003912b
xor edx, edx
lea rcx, [rsp + 0x1a8]
lea r8d, [rdx + 0x38]
call sub.msvcrt.dll_memset
mov r8d, dword [r12]
mov rcx, qword [rbx + 0x38]
lea r9, [rsp + 0x1a8]
xor edx, edx
call fcn.140031868
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038635
mov rax, qword [rsp + 0x1b8]
mov qword [rsp + 0x78], rax
movzx ecx, word [rbx + 0x52]
mov r8, qword [rsp + 0x60]
mov r14d, 1
mov r15d, dword [r12 + rcx*4]
mov r12d, dword [rbx + 0x48]
mov edx, dword [r8]
add r12, rax
add rdx, rax
mov dword [rsp + 0x58], ecx
mov r13, rcx
lea rdi, [0x140000000]
lea esi, [r14 + 0x7f]
mov qword [rsp + 0x70], rdx
movzx ebp, byte [r12]
mov dword [rsp + 0x9c], ebp
mov dword [rbx + r13*4 + 0x78], ebp
cmp ebp, esi
jae 0x14003918a
movzx eax, byte [rbp + rdi + 0xd4fe0]
add r12, r14
jmp 0x1400391ce
mov rax, qword [rbx + 0x68]
jmp 0x140039126
lea rdx, [rsp + 0x9c]
mov rcx, r12
call fcn.140019b18
mov ebp, dword [rsp + 0x9c]
movzx r11d, al
mov dword [rbx + r13*4 + 0x78], ebp
add r12, r11
cmp ebp, esi
jb 0x1400391b8
lea eax, [rbp - 0xc]
shr eax, 1
jmp 0x1400391c0
movzx eax, byte [rbp + rdi + 0xd4fe0]
mov ecx, dword [rsp + 0x58]
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x60]
add ecx, r14d
add r15, rax
cmp ecx, dword [rsp + 0x50]
movsxd r13, ecx
mov dword [rsp + 0x58], ecx
mov dword [r8 + r13*4], r15d
jg 0x1400391ee
cmp r12, rdx
jb 0x140039162
mov rsi, qword [rsp + 0x80]
mov edi, dword [rsp + 0x30]
mov r14, qword [rsp + 0xb8]
cmp r12, rdx
jb 0x140039211
ja 0x140039219
mov eax, dword [rbx + 0x70]
cmp r15, rax
jne 0x140039219
mov eax, dword [rbx + 0x70]
cmp r15, rax
jbe 0x14003928f
xor r10d, r10d
cmp dword [r8], r10d
jne 0x140039229
mov ecx, r10d
mov r12, rdx
jmp 0x140039292
cmp qword [rbx + 0x68], r10
jne 0x140039258
mov eax, 0x2400
test word [rsp + 0x1b0], ax
jne 0x140039248
cmp dword [rsp + 0x1c8], r10d
je 0x140039258
lea rcx, [rsp + 0x1a8]
call fcn.140030e80
xor r10d, r10d
mov r12, qword [rsp + 0x38]
mov eax, dword [r12 + 0xc]
cmp eax, r10d
jle 0x14003d5c1
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
dec eax
movsxd rcx, eax
lea rax, [rcx + rcx*2]
lea rsi, [r12 + rax*8]
jmp 0x140037d4b
xor r10d, r10d
sub r12d, dword [rsp + 0x78]
mov word [rbx + 0x52], cx
mov dword [rbx + 0x48], r12d
cmp qword [rbx + 0x68], r10
jne 0x1400392cb
mov eax, 0x2400
test word [rsp + 0x1b0], ax
jne 0x1400392be
cmp dword [rsp + 0x1c8], r10d
je 0x1400392cb
lea rcx, [rsp + 0x1a8]
call fcn.140030e80
mov r12, qword [rsp + 0x60]
mov r13d, dword [rsp + 0x50]
mov r15d, 1
movzx eax, word [rbx + 0x52]
cmp eax, r13d
jg 0x140039311
cmp byte [rsi + 1], 0xf5
mov rcx, r14
jne 0x140038fed
mov rdx, qword [rsi + 0x10]
mov r8d, 0x800
call fcn.1400313ec
jmp 0x140038ff2
mov ebp, r10d
jmp 0x1400392db
movsxd rax, r13d
mov ebp, dword [rbx + rax*4 + 0x78]
mov eax, 0x2400
test word [r14 + 8], ax
je 0x140039325
mov rcx, r14
call fcn.140031218
movsxd rcx, r13d
mov eax, dword [r12 + rcx*4 + 4]
cmp dword [rbx + 0x74], eax
jb 0x14003942c
mov r12d, dword [r12 + rcx*4]
add r12, qword [rbx + 0x68]
cmp ebp, 0xc
jae 0x140039355
mov rcx, r12
mov edx, ebp
mov r8, r14
call fcn.1400346a4
jmp 0x140038ff2
mov al, byte [rsp + 0x348]
lea ebx, [rbp - 0xc]
shr ebx, 1
mov byte [r14 + 0xa], al
lea edx, [rbx + 2]
mov dword [r14 + 0xc], ebx
cmp dword [r14 + 0x20], edx
jge 0x1400393b9
xor r8d, r8d
mov rcx, r14
mov word [r14 + 8], r15w
call fcn.140030a2c
xor r11d, r11d
cmp eax, r11d
je 0x1400393c1
mov r13, qword [rsp + 0x40]
mov r14d, 7
mov rcx, r13
call fcn.140016bec
mov rcx, qword [rsp + 0x340]
lea rdx, str.out_of_memory
call fcn.140031ef4
mov edi, r14d
jmp 0x14003d71f
mov rax, qword [r14 + 0x18]
mov qword [r14 + 0x10], rax
mov rcx, qword [r14 + 0x10]
mov r8, rbx
mov rdx, r12
call sub.msvcrt.dll_memcpy
mov r11, qword [r14 + 0x10]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
xor r10d, r10d
lea rcx, [0x140000000]
mov byte [rbx + r11], r10b
mov rax, qword [r14 + 0x10]
mov r11, qword [rsp + 0x340]
mov byte [rax + rbx + 1], r10b
mov eax, ebp
lea ebx, [r10 + 4]
and rax, r15
movzx eax, word [rcx + rax*2 + 0xd3a4c]
mov word [r14 + 8], ax
mov r14, qword [rsp + 0x48]
jmp case.default.0x1400379c8
mov al, byte [rsp + 0x348]
mov byte [r14 + 0xa], al
test byte [rsi + 2], 0xc0
je 0x140039453
cmp ebp, 0xc
jb 0x140039447
test r15b, bpl
je 0x14003947e
mov eax, 0x80
test byte [rsi + 2], al
jne 0x14003947e
jmp 0x140039458
mov eax, 0x80
cmp ebp, eax
jb 0x140039465
lea r8d, [rbp - 0xc]
shr r8d, 1
jmp 0x140039477
lea rdx, [0x140000000]
mov eax, ebp
movzx r8d, byte [rax + rdx + 0xd4fe0]
xor eax, eax
cmp r8d, eax
jne 0x14003948a
lea rcx, [0x14013ae80]
jmp 0x140039346
mov edx, dword [r12 + rcx*4]
mov rcx, qword [rbx + 0x38]
mov r9, r14
call fcn.140031868
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038635
mov rcx, qword [r14 + 0x10]
mov r8, r14
mov edx, ebp
call fcn.1400346a4
mov r8d, 0xefff
and word [r14 + 8], r8w
jmp 0x140038ff2
movsxd rbx, dword [rsi + 4]
mov rbp, qword [rsi + 0x10]
imul rbx, rbx, 0x38
add rbx, r14
mov r8b, dl
mov dl, byte [rbp]
mov rcx, rbx
call fcn.140037758
cmp byte [rbp], 0x45
jne 0x140039543
movzx eax, word [rbx + 8]
mov ecx, 4
test cl, al
je 0x140039543
movabs rcx, 0x7fffffffffff
cmp qword [rbx], rcx
jg 0x140039526
movabs rcx, 0xffff800000000000
cmp qword [rbx], rcx
jl 0x140039526
mov ecx, 0xfffb
and ax, cx
or ax, 0x20
jmp 0x14003953f
pxor xmm0, xmm0
mov ecx, 0xfffb
cvtsi2sd xmm0, qword [rbx]
and ax, cx
or ax, 8
movsd qword [rbx], xmm0
mov word [rbx + 8], ax
mov dl, byte [rsp + 0x348]
add rbp, r15
xor r10d, r10d
cmp byte [rbp], r10b
je 0x14003d35a
add rbx, 0x38
jmp 0x1400394d9
mov eax, dword [rsi + 8]
mov rcx, qword [rsp + 0x48]
movsxd r11, dword [rsi + 4]
imul r11, r11, 0x38
mov r12, qword [rsp + 0x340]
mov rbp, qword [rsi + 0x10]
add r11, rcx
movzx r12d, byte [r12 + 0xc3]
mov r14, r10
mov r15d, r10d
mov qword [rsp + 0x78], r10
mov r10d, 1
xor r8d, r8d
sub eax, r10d
mov qword [rsp + 0x60], r11
mov dword [rsp + 0x68], r12d
movsxd r13, eax
movsxd rax, dword [rsi + 0xc]
imul r13, r13, 0x38
imul rax, rax, 0x38
add r13, r11
mov qword [rsp + 0xb0], r13
add rax, rcx
mov qword [rsp + 0x90], rax
cmp rbp, r8
je 0x140039647
lea rbx, [r11 + 8]
xor r13d, r13d
lea esi, [r10 + 0x1f]
mov edi, 0xfffb
lea r12d, [r10 + 3]
mov r8b, dl
mov dl, byte [rbp]
lea rcx, [rbx - 8]
call fcn.140037758
cmp byte [rbp], 0x45
jne 0x140039610
movzx eax, word [rbx]
test r12b, al
je 0x140039610
and ax, di
or ax, si
mov word [rbx], ax
mov dl, byte [rsp + 0x348]
mov r10d, 1
add rbx, 0x38
add rbp, r10
cmp byte [rbp], r13b
jne 0x1400395ea
mov rsi, qword [rsp + 0x80]
mov r12d, dword [rsp + 0x68]
mov r11, qword [rsp + 0x60]
mov r13, qword [rsp + 0xb0]
xor r8d, r8d
movsxd r9, r12d
lea rbx, [r13 + 0x24]
mov qword [rsp + 0x70], r9
mov cx, word [rbx - 0x1c]
test r10b, cl
je 0x140039674
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
add r15d, r10d
jmp 0x140039760
test cl, 0x24
je 0x14003974e
mov r8, qword [rbx - 0x24]
xor r12d, r12d
cmp r8, r12
mov rdx, r8
jge 0x14003968f
not rdx
add r15d, r10d
cmp rdx, 0x7f
ja 0x1400396c0
mov rax, r8
and rax, r10
cmp rax, r8
jne 0x1400396b5
mov eax, 4
cmp r9, rax
jl 0x1400396b5
lea eax, [rdx + 8]
jmp 0x14003973c
add r14, r10
mov dword [rbx], r10d
jmp 0x1400397e4
cmp rdx, 0x7fff
ja 0x1400396d0
mov eax, 2
jmp 0x1400396ee
cmp rdx, 0x7fffff
ja 0x1400396e0
mov eax, 3
jmp 0x1400396ee
cmp rdx, 0x7fffffff
ja 0x1400396f3
mov eax, 4
add r14, rax
jmp 0x14003973c
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x14003970d
add r14, 6
mov eax, 5
jmp 0x14003973c
mov edx, 8
add r14, rdx
lea eax, [rdx + 0x18]
test al, cl
je 0x140039743
mov eax, 0xffdf
pxor xmm0, xmm0
and cx, ax
cvtsi2sd xmm0, r8
lea eax, [rdx - 1]
or cx, dx
mov word [rbx - 0x1c], cx
movsd qword [rbx - 0x24], xmm0
mov dword [rbx], eax
jmp 0x1400397e4
mov dword [rbx], 6
jmp 0x1400397e4
mov edx, 8
test dl, cl
je 0x140039767
add r15d, r10d
lea eax, [rdx - 1]
add r14, rdx
mov dword [rbx], eax
xor r12d, r12d
jmp 0x1400397e4
mov r12d, dword [rbx - 0x18]
mov eax, ecx
shr eax, 1
and eax, r10d
lea r13d, [rax + r12*2 + 0xc]
mov eax, 0x4000
test ax, cx
je 0x1400397b8
movsxd rax, dword [rbx - 0x24]
lea r13d, [r13 + rax*2]
cmp r14, r8
je 0x1400397b3
lea rcx, [rbx - 0x24]
call fcn.140030c04
xor r11d, r11d
cmp eax, r11d
jne 0x14003938a
add r12d, dword [rbx - 0x24]
mov r9, qword [rsp + 0x70]
lea r10d, [r11 + 1]
jmp 0x1400397b8
add qword [rsp + 0x78], rax
mov eax, r12d
mov ecx, r10d
add r14, rax
mov eax, r13d
shr rax, 7
xor r12d, r12d
jmp 0x1400397d4
add ecx, r10d
shr rax, 7
cmp rax, r12
jne 0x1400397cd
mov r11, qword [rsp + 0x60]
add r15d, ecx
mov dword [rbx], r13d
lea rax, [rbx - 0x24]
cmp rax, r11
je 0x1400397f9
sub rbx, 0x38
xor r8d, r8d
jmp 0x140039653
cmp r15d, 0x7e
jle 0x14003982e
mov edx, r10d
movsxd rax, r15d
jmp 0x14003980a
add edx, r10d
shr rax, 7
cmp rax, r12
jne 0x140039807
add r15d, edx
mov ecx, r10d
movsxd rax, r15d
jmp 0x140039821
add ecx, r10d
shr rax, 7
cmp rax, r12
jne 0x14003981e
cmp edx, ecx
jge 0x140039831
add r15d, r10d
mov r9, qword [rsp + 0x90]
mov r13, qword [rsp + 0x78]
movsxd rbx, r15d
movsxd rax, dword [r9 + 0x20]
lea rbp, [r14 + rbx]
lea rcx, [r13 + rbp]
cmp rcx, rax
jg 0x14003985d
mov rax, qword [r9 + 0x18]
mov qword [r9 + 0x10], rax
jmp 0x1400398b1
mov r8, qword [rsp + 0x40]
movsxd rax, dword [r8 + 0x7c]
cmp rcx, rax
jg 0x14003ced5
cmp dword [r9 + 0x20], ebp
jge 0x140039897
xor r8d, r8d
mov edx, ebp
mov rcx, r9
call fcn.140030a2c
mov r9, qword [rsp + 0x90]
mov r11, qword [rsp + 0x60]
mov r10d, 1
jmp 0x1400398a8
mov rax, qword [r9 + 0x18]
and word [r9 + 8], 0x2d
mov qword [r9 + 0x10], rax
mov eax, r12d
cmp eax, r12d
jne 0x14003938a
mov eax, 0x10
mov dword [r9 + 0xc], ebp
mov word [r9 + 8], ax
cmp r13, r12
je 0x1400398d1
mov eax, 0x4010
mov dword [r9], r13d
mov word [r9 + 8], ax
mov rbp, qword [r9 + 0x10]
mov ecx, 0x80
lea r12, [rbx + rbp]
cmp r15d, ecx
jae 0x1400398e9
mov byte [rbp], r15b
jmp 0x1400398f5
cmp rbx, 0x7f
ja 0x1400398fa
and bl, 0x7f
mov byte [rbp], bl
mov eax, r10d
jmp 0x14003990a
mov rdx, rbx
mov rcx, rbp
call fcn.140019954
mov ecx, 0x80
mov r13, qword [rsp + 0xb0]
movzx eax, al
mov esi, 7
add rbp, rax
lea rdi, [0x140000000]
mov r10d, dword [r11 + 0x24]
cmp r10d, ecx
jae 0x140039933
mov byte [rbp], r10b
jmp 0x140039942
mov rdx, r10
cmp r10, 0x7f
ja 0x140039949
and dl, 0x7f
mov byte [rbp], dl
mov eax, 1
jmp 0x140039951
mov rcx, rbp
call fcn.140019954
movzx eax, al
add rbp, rax
lea eax, [r10 - 1]
cmp eax, 6
ja 0x140039988
movzx ecx, byte [r10 + rdi + 0xd4fe0]
mov rdx, qword [r11]
xor r10d, r10d
lea r8, [r12 + rcx]
mov ebx, ecx
dec r8
dec ecx
mov byte [r8], dl
shr rdx, 8
cmp ecx, r10d
jne 0x140039975
jmp 0x1400399b9
cmp r10d, 0xc
jb 0x1400399b3
mov ebx, dword [r11 + 0xc]
xor r10d, r10d
cmp ebx, r10d
jbe 0x1400399b9
mov rdx, qword [r11 + 0x10]
mov r8, rbx
mov rcx, r12
call sub.msvcrt.dll_memcpy
mov r11, qword [rsp + 0x60]
xor r10d, r10d
jmp 0x1400399b9
xor r10d, r10d
mov ebx, r10d
add r11, 0x38
mov eax, ebx
mov ecx, 0x80
add r12, rax
mov qword [rsp + 0x60], r11
cmp r11, r13
jbe 0x140039924
mov rsi, qword [rsp + 0x80]
mov edi, dword [rsp + 0x30]
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
jmp 0x140037d46
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
lea rdx, [rsp + 0xb8]
mov rcx, qword [rax + rcx*8]
mov qword [rsp + 0xb8], r10
mov rcx, qword [rcx + 0x38]
call fcn.14002ed74
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038635
mov rcx, qword [rsp + 0x340]
mov rdx, rsi
call fcn.1400378a8
mov rcx, qword [rsp + 0xb8]
mov qword [rax], rcx
jmp 0x1400384b3
mov r15d, dword [rsi + 4]
mov rbp, qword [rsi + 0x10]
cmp r15d, r10d
jne 0x140039b1d
cmp dword [r13 + 0xd0], r10d
jg 0x14003d5dd
mov rcx, rbp
call fcn.140018d64
mov r8d, dword [r13 + 0x280]
xor edx, edx
add r8d, dword [r13 + 0x27c]
mov rcx, r13
movsxd r12, eax
call fcn.14007050c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038635
lea rdx, [r12 + 0x21]
mov rcx, r13
call fcn.140016908
xor r10d, r10d
mov rbx, rax
cmp rax, r10
je 0x140039d9e
lea edx, [r12 + 1]
lea rcx, [rax + 0x20]
movsxd r8, edx
mov rdx, rbp
mov qword [rax], rcx
call sub.msvcrt.dll_memcpy
xor r10d, r10d
cmp byte [r13 + 0x5f], r10b
je 0x140039ae9
mov byte [r13 + 0x5f], r10b
mov byte [r13 + 0x67], 1
jmp 0x140039af0
inc dword [r13 + 0x27c]
mov rax, qword [r13 + 0x270]
mov qword [rbx + 0x18], rax
mov rax, qword [r13 + 0x288]
mov qword [r13 + 0x270], rbx
mov qword [rbx + 8], rax
mov rax, qword [r13 + 0x290]
mov qword [rbx + 0x10], rax
jmp 0x140039d9e
mov r12, qword [rsp + 0x40]
mov r13d, r10d
mov ebx, 1
mov r14, qword [r12 + 0x270]
cmp r14, r10
je 0x14003d655
mov rcx, qword [r14]
mov rdx, rbp
call fcn.140018fa0
xor r10d, r10d
cmp eax, r10d
je 0x140039b5a
mov r14, qword [r14 + 0x18]
add r13d, ebx
cmp r14, r10
jne 0x140039b3b
cmp r14, r10
je 0x14003d655
cmp dword [r12 + 0xd0], r10d
jle 0x140039b76
cmp r15d, ebx
je 0x14003d5f3
cmp qword [r14 + 0x18], r10
jne 0x140039bda
cmp byte [r12 + 0x67], r10b
je 0x140039bda
mov rbp, rbx
mov dword [rsp + 0x50], ebx
cmp r15d, ebp
jne 0x140039be2
mov edx, ebp
mov rcx, r11
call fcn.140033f78
mov edi, eax
xor eax, eax
cmp edi, eax
jne 0x14003871e
mov rdi, qword [rsp + 0x340]
mov byte [r12 + 0x5f], bpl
mov rcx, rdi
call fcn.140033fc8
mov ecx, 5
cmp eax, ecx
je 0x14003d617
xor eax, eax
mov byte [r12 + 0x67], al
mov edi, dword [rdi + 0x38]
mov dword [rsp + 0x30], edi
jmp 0x140039d0c
mov dword [rsp + 0x50], r10d
mov rbp, rbx
mov eax, dword [r12 + 0x27c]
sub eax, r13d
mov r13d, eax
mov eax, 2
sub r13d, ebp
cmp r15d, eax
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0x68], r13d
jne 0x140039c64
mov r12d, dword [r12 + 0x2c]
and r12d, ebp
cmp dword [rax + 0x28], r10d
mov ebp, r10d
jle 0x140039c67
cmp r12d, r10d
mov r13d, r10d
mov rbx, r10
sete r13b
mov rcx, qword [rax + 0x20]
mov r8d, r13d
mov edx, 0x204
mov rcx, qword [rcx + rbx + 8]
call fcn.140029000
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038635
mov rax, qword [rsp + 0x40]
inc ebp
add rbx, 0x20
cmp ebp, dword [rax + 0x28]
jl 0x140039c25
mov r13d, dword [rsp + 0x68]
jmp 0x140039c67
mov r12d, r10d
cmp dword [rax + 0x28], r10d
mov ebp, r10d
jle 0x140039ca9
mov rbx, r10
mov rcx, qword [rax + 0x20]
mov r8d, r13d
mov edx, r15d
mov rcx, qword [rcx + rbx + 8]
call fcn.1400291ac
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038635
mov rax, qword [rsp + 0x40]
inc ebp
add rbx, 0x20
cmp ebp, dword [rax + 0x28]
jl 0x140039c73
cmp r12d, r10d
mov r12, qword [rsp + 0x40]
mov ebp, 1
je 0x140039ce2
mov rax, qword [r12 + 8]
cmp rax, r10
je 0x140039cd5
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], ebp
mov rax, qword [rax + 0x10]
jmp 0x140039cbd
mov rcx, r12
call fcn.14004e03c
or dword [r12 + 0x2c], ebp
mov ebx, dword [rsp + 0x50]
jmp 0x140039d0c
mov rdx, qword [r12 + 0x270]
mov rcx, r12
mov rax, qword [rdx + 0x18]
mov qword [r12 + 0x270], rax
call fcn.140016698
dec dword [r12 + 0x27c]
cmp qword [r12 + 0x270], r14
jne 0x140039ce8
cmp r15d, ebp
jne 0x140039d44
mov rax, qword [r14 + 0x18]
mov rdx, r14
mov rcx, r12
mov qword [r12 + 0x270], rax
call fcn.140016698
xor r10d, r10d
cmp ebx, r10d
jne 0x140039d94
dec dword [r12 + 0x27c]
jmp 0x140039d6d
mov rax, qword [r14 + 8]
xor r10d, r10d
mov qword [r12 + 0x288], rax
mov rax, qword [r14 + 0x10]
mov qword [r12 + 0x290], rax
cmp ebx, r10d
je 0x140039d6d
lea eax, [r10 + 2]
cmp r15d, eax
jne 0x140039d94
mov r8d, r13d
mov r13, qword [rsp + 0x40]
mov edx, r15d
mov rcx, r13
call fcn.14007050c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038635
jmp 0x140039d99
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
cmp edi, r10d
jne 0x140038635
jmp 0x140037d3e
mov edx, dword [rsi + 8]
mov ebx, r10d
mov dword [rsp + 0x6c], ebx
cmp edx, r10d
je 0x140039dca
mov eax, dword [r13 + 0x30]
bt rax, 0x14
jb 0x14003d66b
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rbp, qword [rcx + rax + 8]
cmp rbp, r10
je 0x140039ed9
lea r8, [rsp + 0x6c]
mov rcx, rbp
call fcn.14002821c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003d675
mov r11, qword [rsp + 0x340]
cmp dword [rsi + 8], r10d
je 0x140039ed5
mov eax, 0x80
test byte [r11 + 0xc8], al
je 0x140039ed5
cmp byte [r13 + 0x5f], r10b
je 0x140039e3a
cmp dword [r13 + 0xcc], r15d
jle 0x140039ed5
cmp dword [r11 + 0x40], r10d
jne 0x140039e59
add dword [r13 + 0x280], r15d
mov ecx, dword [r13 + 0x280]
add ecx, dword [r13 + 0x27c]
mov dword [r11 + 0x40], ecx
mov r8d, dword [r11 + 0x40]
xor edx, edx
mov rcx, r13
sub r8d, r15d
call fcn.14007050c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140039eb7
mov rax, qword [rbp + 8]
mov r12, qword [rsp + 0x340]
mov rcx, qword [rax]
mov edx, dword [r12 + 0x40]
cmp edx, dword [rcx + 0x80]
jle 0x140039eaa
cmp byte [rcx + 0xa], r10b
je 0x140039eaa
call fcn.140022ab8
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x140039eb2
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov r12, qword [rsp + 0x38]
mov rax, qword [r13 + 0x288]
mov r11, qword [rsp + 0x340]
mov qword [r11 + 0x58], rax
mov rax, qword [r13 + 0x290]
mov qword [r11 + 0x60], rax
mov ebx, dword [rsp + 0x6c]
cmp word [rsi + 2], r10w
je 0x140039f77
cmp ebx, dword [rsi + 0xc]
jne 0x140039f02
mov rax, qword [r13 + 0x20]
movsxd rcx, dword [rsi + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rsi + 0x10]
cmp dword [rcx + 4], eax
je 0x140039f77
mov rdx, qword [r11 + 0xa8]
cmp rdx, r10
je 0x140039f16
mov rcx, r13
call fcn.140016698
lea rdx, str.database_schema_has_changed
mov rcx, r13
call fcn.140016a9c
mov r11, qword [rsp + 0x340]
mov qword [r11 + 0xa8], rax
movsxd rdx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
cmp dword [rcx], ebx
je 0x140039f5c
mov rcx, r13
call fcn.14004dfc0
mov r11, qword [rsp + 0x340]
and dword [r11 + 0xc8], 0xfffffffd
or dword [r11 + 0xc8], r15d
mov edi, 0x11
mov dword [rsp + 0x30], edi
xor r10d, r10d
cmp edi, r10d
jne 0x140038635
jmp 0x140037d4b
movsxd rax, dword [rsi + 4]
mov rcx, qword [r13 + 0x20]
mov edx, dword [rsi + 0xc]
shl rax, 5
lea r8, [rsp + 0xd0]
mov rcx, qword [rax + rcx + 8]
call fcn.14002eca8
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
movsxd rcx, dword [rsp + 0xd0]
mov qword [rax], rcx
jmp 0x140037b9c
movsxd rbx, dword [rsi + 4]
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 8]
shl rbx, 5
add rbx, qword [r13 + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14002ecf8
mov edi, eax
mov dword [rsp + 0x30], eax
cmp dword [rsi + 8], r15d
jne 0x140039ff8
mov rcx, qword [rbx + 0x18]
mov eax, dword [rsi + 0xc]
mov dword [rcx], eax
or dword [r13 + 0x2c], r15d
jmp 0x14003a00c
mov eax, 2
cmp dword [rsi + 8], eax
jne 0x14003a00c
mov rcx, qword [rbx + 0x18]
mov al, byte [rsi + 0xc]
mov byte [rcx + 0x70], al
xor r10d, r10d
cmp dword [rsi + 4], r15d
jne 0x14003a047
mov rax, qword [r13 + 8]
jmp 0x14003a02d
and dword [rax + 0xc8], 0xfffffffd
or dword [rax + 0xc8], r15d
mov rax, qword [rax + 0x10]
cmp rax, r10
jne 0x14003a01b
mov r11, qword [rsp + 0x340]
and dword [r11 + 0xc8], 0xfffffffc
jmp 0x140039f77
mov r11, qword [rsp + 0x340]
jmp 0x140039f77
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
cmp rbx, r10
je 0x14003a071
mov eax, dword [rsi + 8]
cmp dword [rbx + 0x4c], eax
je 0x14003a1db
mov ebx, 4
mov eax, dword [r11 + 0xc8]
and al, 3
cmp al, r15b
je 0x14003d6b8
movsxd r15, dword [rsi + 0xc]
mov r8, qword [rsp + 0x40]
movsxd r13, dword [rsi + 8]
mov rax, r15
mov r12d, r10d
mov r14, r10
shl rax, 5
add rax, qword [r8 + 0x20]
mov rcx, qword [rax + 8]
mov qword [rsp + 0x70], rcx
cmp bpl, 0x62
jne 0x14003a0db
movzx edi, word [rsi + 2]
mov rax, qword [rax + 0x18]
mov ecx, 8
and edi, ecx
mov cl, byte [rax + 0x70]
or edi, ebx
cmp cl, byte [r11 + 0xc3]
jae 0x14003a0de
mov byte [r11 + 0xc3], cl
jmp 0x14003a0de
mov edi, r10d
mov eax, 0x10
test byte [rsi + 2], al
je 0x14003a121
mov rbx, r13
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x48]
mov rcx, rbx
call fcn.140030f24
mov r11, qword [rsp + 0x340]
mov ebp, 4
mov qword [rbx], rax
mov r13d, dword [rbx]
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], bp
xor r10d, r10d
jmp 0x14003a126
mov ebp, 4
mov al, byte [rsi + 1]
cmp al, 0xf7
jne 0x14003a138
mov r14, qword [rsi + 0x10]
movzx r12d, word [r14 + 8]
jmp 0x14003a140
cmp al, 0xfd
jne 0x14003a140
mov r12d, dword [rsi + 0x10]
mov edx, dword [rsi + 4]
mov r9d, r15d
mov r8d, r12d
mov rcx, r11
mov byte [rsp + 0x20], r10b
call fcn.140037590
mov rbx, rax
xor eax, eax
cmp rbx, rax
je 0x14003938a
or dword [rbx + 8], ebp
lea ecx, [rax + 1]
mov rax, qword [rbx + 0x38]
cmp r13d, ecx
mov byte [rbx + 2], cl
mov dword [rbx + 0x4c], r13d
jge 0x14003a186
mov ecx, 0x108ea
call fcn.140084b2c
jmp 0x14003a19e
mov rcx, qword [rsp + 0x70]
mov r9, r14
mov r8d, edi
mov edx, r13d
mov qword [rsp + 0x20], rax
call fcn.140029260
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r12, qword [rsp + 0x38]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
mov qword [rbx + 0x40], r14
cmp byte [rsi + 1], 0xf7
mov r14, qword [rsp + 0x48]
mov dword [rsp + 0x30], eax
mov edi, eax
setne al
xor r10d, r10d
mov byte [rbx + 4], al
mov cl, byte [rsi + 2]
mov rax, qword [rbx + 0x38]
and cl, 3
mov byte [rax + 3], cl
cmp edi, r10d
jne 0x140038635
jmp 0x140037d5a
movsxd rcx, dword [rsi + 8]
mov rax, qword [r11 + 0x78]
mov edx, dword [rsi + 4]
mov rbx, qword [rax + rcx*8]
or r9d, 0xffffffff
mov rcx, r11
movsx r8d, word [rbx + 0x50]
mov byte [rsp + 0x20], r10b
call fcn.140037590
xor r10d, r10d
mov r11, rax
cmp rax, r10
je 0x14003938f
or dword [rax + 8], r15d
mov rdi, qword [r11 + 0x38]
mov byte [rax + 2], r15b
mov r13, qword [rbx + 0x40]
mov qword [rax + 0x40], r13
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]
mov ebp, ecx
xor eax, dword [r11 + 8]
and eax, 4
xor eax, dword [r11 + 8]
cmp ecx, r15d
mov dword [r11 + 8], eax
mov r12, qword [rbx + 0x10]
jge 0x14003a27f
mov ecx, 0x108ea
call fcn.140084b2c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a32a
mov rbx, qword [r12 + 8]
cmp qword [rbx + 0x60], r10
jne 0x14003a2bd
mov ecx, dword [rbx + 0x30]
call fcn.14001de44
xor r10d, r10d
mov qword [rbx + 0x60], rax
cmp rax, r10
je 0x14003a2aa
xor ecx, ecx
mov qword [rax], rcx
lea eax, [rcx + 4]
add qword [rbx + 0x60], rax
cmp qword [rbx + 0x60], r10
jne 0x14003a2bd
mov eax, 7
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a32a
cmp ebp, r15d
jne 0x14003a2cb
mov eax, dword [rbx + 0x3c]
neg eax
sbb ecx, ecx
and ebp, ecx
mov dword [rdi + 0x50], ebp
mov byte [rdi + 0x54], 0xff
mov qword [rdi + 0x80], r13
mov qword [rdi + 8], r12
mov qword [rdi + 0x20], rbx
mov byte [rdi + 1], r15b
mov byte [rdi + 2], r10b
mov rax, qword [rbx + 0x10]
cmp rax, r10
je 0x14003a313
mov r14d, Ordinal_36
cmp dword [rax + 0x50], ebp
jne 0x14003a305
or byte [rax + 1], r14b
or byte [rdi + 1], r14b
mov rax, qword [rax + 0x28]
cmp rax, r10
jne 0x14003a2f8
mov r14, qword [rsp + 0x48]
mov rax, qword [rbx + 0x10]
mov dword [rsp + 0x30], r10d
mov qword [rdi + 0x28], rax
mov qword [rbx + 0x10], rdi
mov byte [rdi], r15b
mov edi, r10d
mov r13, qword [rsp + 0x40]
jmp 0x140037d3e
movsxd rdx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rdx*8]
cmp rbx, r10
je 0x14003a373
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x18], r10
mov dword [rbx + 0x28], r10d
cmp rcx, r10
je 0x14003a601
mov edx, dword [rbx + 0x4c]
xor r8d, r8d
call fcn.14002ea2c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a5f1
mov r8d, dword [rsi + 8]
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], r10b
call fcn.140037590
mov rbx, rax
xor eax, eax
cmp rbx, rax
je 0x14003938f
or dword [rbx + 8], r15d
movzx ecx, word [rsi + 2]
mov dword [rsp + 0x28], 0x41e
or ecx, 5
lea r9, [rbx + 0x10]
mov r8, r13
mov dword [rsp + 0x20], ecx
mov rcx, qword [r13]
xor edx, edx
call fcn.14002777c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003a5d1
mov rcx, qword [rbx + 0x10]
xor r8d, r8d
mov edx, r15d
call fcn.14002821c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003a5d1
mov r14, qword [rsi + 0x10]
mov qword [rbx + 0x40], r14
cmp r14, r10
je 0x14003a515
movzx r8d, word [rsi + 2]
mov rcx, qword [rbx + 0x10]
lea rdx, [rbx + 0x4c]
or r8d, 2
call fcn.14002e564
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003a507
mov r13d, dword [rbx + 0x4c]
mov rbp, qword [rbx + 0x38]
mov r12, qword [rbx + 0x10]
cmp r13d, r15d
jge 0x14003a454
mov ecx, 0x108ea
call fcn.140084b2c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a507
mov rdi, qword [r12 + 8]
mov qword [rsp + 0x70], rdi
cmp qword [rdi + 0x60], r10
jne 0x14003a497
mov ecx, dword [rdi + 0x30]
call fcn.14001de44
xor r10d, r10d
mov qword [rdi + 0x60], rax
cmp rax, r10
je 0x14003a484
xor ecx, ecx
mov qword [rax], rcx
lea eax, [rcx + 4]
add qword [rdi + 0x60], rax
cmp qword [rdi + 0x60], r10
jne 0x14003a497
mov eax, 7
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a507
cmp r13d, r15d
jne 0x14003a4a6
mov eax, dword [rdi + 0x3c]
neg eax
sbb ecx, ecx
and r13d, ecx
mov dword [rbp + 0x50], r13d
mov byte [rbp + 0x54], 0xff
mov qword [rbp + 0x80], r14
mov qword [rbp + 8], r12
mov qword [rbp + 0x20], rdi
mov byte [rbp + 1], r15b
mov byte [rbp + 2], r10b
mov rax, qword [rdi + 0x10]
cmp rax, r10
je 0x14003a4ef
mov edi, Ordinal_36
cmp dword [rax + 0x50], r13d
jne 0x14003a4e1
or byte [rax + 1], dil
or byte [rbp + 1], dil
mov rax, qword [rax + 0x28]
cmp rax, r10
jne 0x14003a4d3
mov rdi, qword [rsp + 0x70]
mov rax, qword [rdi + 0x10]
mov dword [rsp + 0x30], r10d
mov qword [rbp + 0x28], rax
mov qword [rdi + 0x10], rbp
mov byte [rbp], r15b
mov edi, r10d
mov r13, qword [rsp + 0x40]
mov byte [rbx + 4], r10b
jmp 0x14003a5cc
mov r12, qword [rbx + 0x10]
mov rdi, qword [rbx + 0x38]
mov dword [rbx + 0x4c], r15d
mov rbp, qword [r12 + 8]
cmp qword [rbp + 0x60], r10
jne 0x14003a55f
mov ecx, dword [rbp + 0x30]
call fcn.14001de44
xor r10d, r10d
mov qword [rbp + 0x60], rax
cmp rax, r10
je 0x14003a54c
xor ecx, ecx
mov qword [rax], rcx
lea eax, [rcx + 4]
add qword [rbp + 0x60], rax
cmp qword [rbp + 0x60], r10
jne 0x14003a55f
mov eax, 7
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003a5c8
mov eax, dword [rbp + 0x3c]
mov byte [rdi + 0x54], 0xff
mov qword [rdi + 0x80], r10
neg eax
mov qword [rdi + 8], r12
mov qword [rdi + 0x20], rbp
sbb ecx, ecx
mov byte [rdi + 1], r15b
mov byte [rdi + 2], r10b
and ecx, r15d
mov dword [rdi + 0x50], ecx
mov rax, qword [rbp + 0x10]
cmp rax, r10
je 0x14003a5b1
mov r13d, Ordinal_36
cmp dword [rax + 0x50], ecx
jne 0x14003a5a3
or byte [rax + 1], r13b
or byte [rdi + 1], r13b
mov rax, qword [rax + 0x28]
cmp rax, r10
jne 0x14003a596
mov r13, qword [rsp + 0x40]
mov rax, qword [rbp + 0x10]
mov dword [rsp + 0x30], r10d
mov qword [rdi + 0x28], rax
mov qword [rbp + 0x10], rdi
mov byte [rdi], r15b
mov edi, r10d
mov byte [rbx + 4], r15b
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x38]
mov eax, r10d
mov ecx, 8
cmp word [rsi + 2], cx
setne al
shl eax, 2
xor eax, dword [rbx + 8]
and eax, 4
xor dword [rbx + 8], eax
mov r9d, dword [rsp + 0x358]
mov r11, qword [rsp + 0x340]
cmp edi, r10d
jne 0x140038635
mov byte [rbx + 2], r15b
jmp 0x140037e88
mov r8d, dword [rsi + 8]
mov edx, dword [rsi + 4]
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], r15b
call fcn.140037590
xor r11d, r11d
cmp rax, r11
je 0x14003938f
mov rcx, qword [rsi + 0x10]
mov r8, rax
mov qword [rax + 0x40], rcx
mov edx, dword [rsi + 0xc]
mov rcx, r13
call fcn.14003ec9c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038635
jmp 0x14003835d
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
cmp rcx, r10
je 0x14003d48e
jmp 0x140037a24
mov r8d, dword [rsi + 0xc]
mov edx, dword [rsi + 4]
mov eax, 3
or r9d, 0xffffffff
mov rcx, r11
mov byte [rsp + 0x20], al
call fcn.140037590
xor r10d, r10d
cmp rax, r10
je 0x14003938f
mov byte [rax + 2], r15b
mov ecx, dword [rsi + 8]
mov byte [rax + 4], r15b
mov dword [rax + 0x2c], ecx
lea rcx, [0x14013b264]
mov qword [rax + 0x38], rcx
jmp 0x14003835d
movsxd rax, dword [rsi + 4]
mov rdx, qword [r11 + 0x78]
mov rcx, r11
mov rdx, qword [rdx + rax*8]
call fcn.1400335f0
mov r12, qword [rsp + 0x340]
movsxd r11, dword [rsi + 4]
mov rax, qword [r12 + 0x78]
xor r10d, r10d
mov qword [rax + r11*8], r10
jmp 0x140038358
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov r15d, r10d
mov r12, qword [rax + rcx*8]
mov ecx, 2
mov byte [r12 + 2], r10b
mov byte [r12 + 3], r10b
mov dword [r12 + 0x28], r10d
cmp byte [r12 + 4], r10b
je 0x14003a824
movsxd rbx, dword [rsi + 0xc]
imul rbx, rbx, 0x38
add rbx, r14
movzx r13d, word [rbx + 8]
mov al, r13b
and al, 0x2e
cmp al, cl
jne 0x14003a752
xor edx, edx
mov rcx, rbx
call fcn.1400376c0
mov rcx, rbx
call fcn.140030f24
movzx edx, word [rbx + 8]
mov word [rbx + 8], r13w
mov r14, rax
test dl, 0x24
jne 0x14003a7e6
mov eax, 8
test al, dl
jne 0x14003a7b6
lea ebx, [rax - 7]
test bl, dl
jne 0x14003cdb7
cmp ebp, 0x18
jge 0x14003cdb7
mov rcx, qword [r12 + 0x38]
lea rdx, [rsp + 0x54]
call fcn.140029c38
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
je 0x14003a97e
mov r12, qword [rsp + 0x340]
jmp 0x140038642
movsd xmm1, qword [rbx]
pxor xmm0, xmm0
mov ebx, 1
cvtsi2sd xmm0, r14
comisd xmm1, xmm0
jae 0x14003a7d7
test bl, bpl
je 0x14003a7eb
sub ebp, ebx
jmp 0x14003a7eb
comisd xmm1, xmm0
jbe 0x14003a7eb
test bl, bpl
jne 0x14003a7eb
add ebp, ebx
jmp 0x14003a7eb
mov ebx, 1
mov rcx, qword [r12 + 0x38]
lea rax, [rsp + 0x54]
xor r9d, r9d
mov r8, r14
xor edx, edx
mov qword [rsp + 0x20], rax
call fcn.140029c94
xor r10d, r10d
mov qword [r12 + 0x58], r14
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003a7a9
mov r14, qword [rsp + 0x48]
jmp 0x14003a8c4
mov rax, qword [r12 + 0x38]
mov ebx, 1
lea rdx, [rsp + 0xf0]
test byte [rax + 3], cl
mov rax, qword [r12 + 0x40]
mov byte [rsp + 0x106], r10b
mov qword [rsp + 0xf0], rax
movzx eax, word [rsi + 0x10]
cmovne r15d, ebx
mov word [rsp + 0x100], ax
mov eax, ebp
and al, bl
neg al
movsxd rax, dword [rsi + 0xc]
sbb cl, cl
xor r9d, r9d
xor r8d, r8d
and cl, 0xfe
add cl, bl
imul rax, rax, 0x38
add rax, r14
mov byte [rsp + 0x102], cl
mov qword [rsp + 0xf8], rax
mov rcx, qword [r12 + 0x38]
lea rax, [rsp + 0x54]
mov qword [rsp + 0x20], rax
call fcn.140029c94
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003a7a9
cmp r15d, r10d
je 0x14003a8c4
cmp byte [rsp + 0x106], r10b
je 0x14003a97e
cmp ebp, 0x18
mov eax, dword [rsp + 0x54]
jl 0x14003a92a
cmp eax, r10d
jl 0x14003a8e3
jne 0x14003a8d9
cmp ebp, 0x19
je 0x14003a8e3
mov dword [rsp + 0x54], r10d
jmp 0x14003a989
mov rcx, qword [r12 + 0x38]
xor edx, edx
mov dword [rsp + 0x54], r10d
call fcn.14002a274
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
je 0x14003a989
cmp eax, 0x65
jne 0x14003a7a9
lea r15d, [rax - 0x64]
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x54], r15d
mov r12, qword [rsp + 0x38]
jmp 0x14003d48e
cmp eax, r10d
jg 0x14003a94a
jne 0x14003a936
cmp ebp, 0x16
je 0x14003a94a
mov rax, qword [r12 + 0x38]
mov ecx, r10d
cmp byte [rax], r10b
setne cl
mov dword [rsp + 0x54], ecx
jmp 0x14003a97e
mov rcx, qword [r12 + 0x38]
xor edx, edx
mov dword [rsp + 0x54], r10d
call fcn.14002a3d0
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
je 0x14003a989
cmp eax, 0x65
jne 0x14003a7a9
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0x54], ebx
cmp dword [rsp + 0x54], r10d
jne 0x14003cdc4
mov r11, qword [rsp + 0x340]
mov r13, qword [rsp + 0x40]
mov r14, qword [rsp + 0x48]
mov r12, qword [rsp + 0x38]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
cmp r15d, r10d
je 0x140037d5a
add rsi, 0x18
jmp 0x140037d5a
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rdx, qword [rax + rcx*8]
mov eax, dword [rsi + 8]
shl eax, 3
xor eax, dword [rdx + 8]
and eax, 8
xor dword [rdx + 8], eax
jmp 0x140037a24
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rcx, qword [rax + rcx*8]
mov eax, 8
test byte [rcx + 8], al
jne case.0x1400379c8.86
movsxd rbx, dword [rsi + 0xc]
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
imul rbx, rbx, 0x38
mov rbp, qword [rax + rcx*8]
add rbx, r14
cmp dword [rsi + 0x10], r10d
jle 0x14003aa45
mov rax, qword [rbp + 0x40]
lea rdi, [rsp + 0x160]
mov r12, r10
mov qword [rsp + 0x160], rax
movzx eax, word [rsi + 0x10]
mov qword [rsp + 0x168], rbx
mov word [rsp + 0x170], ax
jmp 0x14003aa99
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003aa5d
mov rcx, rbx
call fcn.140030c04
xor r10d, r10d
jmp 0x14003aa60
mov eax, r10d
cmp eax, r10d
jne 0x14003938f
mov rcx, qword [rbp + 0x40]
call fcn.1400348d0
mov r12, rax
mov rdi, rax
xor eax, eax
cmp r12, rax
je 0x14003938f
mov r8, qword [rbx + 0x10]
mov edx, dword [rbx + 0xc]
mov rcx, qword [rbp + 0x40]
mov r9, r12
call fcn.140034928
xor r10d, r10d
mov byte [rdi + 0x12], r10b
cmp byte [rsi], 0x1b
mov ebx, r10d
jne 0x14003aad0
mov edx, r10d
cmp r10w, word [rdi + 0x10]
jae 0x14003aad0
mov rcx, qword [rdi + 8]
add rcx, 8
test byte [rcx], r15b
jne 0x14003aacd
movzx eax, word [rdi + 0x10]
add edx, r15d
add rcx, 0x38
cmp edx, eax
jl 0x14003aab7
jmp 0x14003aad0
mov ebx, r15d
mov rcx, qword [rbp + 0x38]
lea rax, [rsp + 0xd4]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov qword [rsp + 0x20], rax
call fcn.140029c94
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp r12, r10
je 0x14003ab0b
mov rdx, r12
mov rcx, r13
call fcn.140016698
xor r10d, r10d
cmp edi, r10d
jne 0x140038635
mov eax, dword [rsp + 0xd4]
mov ecx, r10d
mov byte [rbp + 3], r10b
cmp eax, r10d
mov dword [rbp + 0x2c], eax
mov eax, r15d
sete cl
mov dword [rbp + 0x28], r10d
sub al, cl
mov byte [rbp + 2], al
cmp byte [rsi], 0x1d
jne 0x14003ab4f
cmp ecx, r10d
mov r12, qword [rsp + 0x38]
jne 0x14003d48e
jmp 0x1400387e9
cmp ebx, r10d
jne 0x14003a920
mov r12, qword [rsp + 0x38]
cmp ecx, r10d
je 0x14003d48e
jmp 0x1400387e9
movsxd rdx, dword [rsi + 0xc]
imul rdx, rdx, 0x38
add rdx, r14
test byte [rdx + 8], 0x24
jne case.0x1400379c8.31
lea rcx, [rsp + 0x218]
mov r8d, 0x38
call sub.msvcrt.dll_memcpy
movzx r11d, word [rsp + 0x220]
test bl, r11b
jne 0x14003abe2
mov eax, 8
test al, r11b
jne 0x14003abc3
mov eax, 2
test al, r11b
je 0x14003abd9
lea rcx, [rsp + 0x218]
mov edx, r15d
call fcn.1400376c0
jmp 0x14003abd0
lea rcx, [rsp + 0x218]
call fcn.140031000
mov r11w, word [rsp + 0x220]
test bl, r11b
je 0x14003d48e
mov rbp, qword [rsp + 0x218]
mov r11, qword [rsp + 0x340]
xor r10d, r10d
jmp 0x14003ac03
movsxd rax, dword [rsi + 0xc]
imul rax, rax, 0x38
mov rbp, qword [rax + r14]
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
xor r9d, r9d
mov rbx, qword [rax + rcx*8]
lea rax, [rsp + 0xa8]
mov r8, rbp
mov rcx, qword [rbx + 0x38]
xor edx, edx
mov dword [rsp + 0xa8], r10d
mov qword [rsp + 0x20], rax
call fcn.140029c94
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xa8]
mov qword [rbx + 0x58], rbp
mov byte [rbx + 2], r10b
mov dword [rbx + 0x28], r10d
mov byte [rbx + 3], r10b
mov dword [rbx + 0x2c], eax
cmp eax, r10d
je 0x1400387e0
cmp dword [rsi + 8], r10d
jne 0x14003d48e
mov ecx, 0x159cf
call fcn.140084b2c
xor r10d, r10d
mov dword [rsp + 0x30], eax
mov edi, eax
jmp 0x1400387e0
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
movsxd rdx, dword [rsi + 4]
mov r11, qword [rsp + 0x340]
mov rcx, qword [r11 + 0x78]
mov rdx, qword [rcx + rdx*8]
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
add qword [rdx + 0x18], r15
jmp 0x140037b70
mov rbx, r10
mov rdx, rsi
mov rcx, r11
mov qword [rsp + 0x60], rbx
mov dword [rsp + 0x50], r10d
call fcn.1400378a8
movsxd rdx, dword [rsi + 4]
mov r13, rax
mov rax, qword [rsp + 0x340]
mov rcx, qword [rax + 0x78]
mov ebp, 2
mov r12, qword [rcx + rdx*8]
test byte [r12 + 8], bpl
jne 0x14003ad6f
mov rcx, qword [r12 + 0x38]
lea rdx, [rsp + 0x50]
call fcn.140029c38
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038635
cmp dword [rsp + 0x50], r10d
je 0x14003ad33
mov rax, qword [rsp + 0x340]
mov rbx, r15
mov qword [rsp + 0x60], rbx
jmp 0x14003ad72
mov rbx, qword [r12 + 0x38]
mov rcx, rbx
call fcn.1400293c0
mov rbx, qword [rbx + 0x30]
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
mov rax, qword [rsp + 0x340]
mov qword [rsp + 0x60], rbx
jl 0x14003ad67
or dword [r12 + 8], ebp
jmp 0x14003ad6f
add rbx, r15
mov qword [rsp + 0x60], rbx
xor r10d, r10d
movsxd rdx, dword [rsi + 0xc]
cmp edx, r10d
je 0x14003ae0e
mov rax, qword [rax + 0x100]
cmp rax, r10
je 0x14003adaa
mov rcx, qword [rax + 8]
jmp 0x14003ad98
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp rcx, r10
jne 0x14003ad91
mov rbp, rdx
imul rbp, rbp, 0x38
add rbp, qword [rax + 0x20]
jmp 0x14003adb4
mov rbp, rdx
imul rbp, rbp, 0x38
add rbp, r14
mov rcx, rbp
call fcn.140030f24
mov ecx, 0x3e40
and word [rbp + 8], cx
mov ecx, 4
mov qword [rbp], rax
or word [rbp + 8], cx
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14003d6c2
mov ecx, 2
test byte [r12 + 8], cl
jne 0x14003d6c2
inc rax
cmp rbx, rax
cmovl rbx, rax
xor r10d, r10d
mov qword [rbp], rbx
mov rbp, rcx
mov qword [rsp + 0x60], rbx
test byte [r12 + 8], bpl
je 0x14003ae87
mov ebp, r10d
lea rdx, [rsp + 0x60]
mov ecx, 8
call fcn.14001859c
mov rbx, qword [rsp + 0x60]
mov rcx, qword [r12 + 0x38]
movabs rax, 0x3fffffffffffffff
xor r9d, r9d
xor edx, edx
and rbx, rax
lea rax, [rsp + 0x50]
add rbx, r15
mov qword [rsp + 0x20], rax
mov r8, rbx
mov qword [rsp + 0x60], rbx
call fcn.140029c94
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038635
cmp dword [rsp + 0x50], r10d
jne 0x14003ae87
add ebp, r15d
cmp ebp, 0x64
jl 0x14003ae18
lea edi, [r10 + 0xd]
jmp 0x140038635
mov byte [r12 + 3], r10b
mov dword [r12 + 0x28], r10d
mov qword [r13], rbx
jmp 0x14003a32a
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rsi + 4]
movsxd rdx, dword [rsi + 8]
imul rdx, rdx, 0x38
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [rsi + 0xc]
add rdx, r14
imul rax, rax, 0x38
cmp byte [rsi + 1], 0xfa
mov r8, qword [rax + r14]
mov qword [rsp + 0x180], r8
jne 0x14003aeeb
cmp qword [r13 + 0x120], r10
je 0x14003aeeb
movsx rcx, byte [rbx + 1]
mov rax, qword [r13 + 0x20]
mov rbp, qword [rsi + 0x10]
shl rcx, 5
mov r12, qword [rcx + rax]
jmp 0x14003aef1
mov rbp, r10
mov r12, r10
test byte [rsi + 2], r15b
je 0x14003aefb
add dword [r11 + 0x3c], r15d
mov eax, Ordinal_36
test byte [rsi + 2], al
je 0x14003af09
mov qword [r13 + 0x38], r8
mov rax, qword [rdx + 0x10]
mov r8w, word [rsi + 2]
mov qword [rsp + 0x188], rax
mov eax, dword [rdx + 0xc]
mov dword [rsp + 0x19c], eax
mov eax, 0x10
test al, r8b
je 0x14003af34
mov r9d, dword [rbx + 0x2c]
jmp 0x14003af37
mov r9d, r10d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x14003af4d
mov eax, dword [rdx]
mov dword [rsp + 0x1a0], eax
jmp 0x14003af55
mov dword [rsp + 0x1a0], r10d
mov qword [rsp + 0x178], r10
mov rcx, qword [rbx + 0x38]
lea rdx, [rsp + 0x178]
and r8d, 0xa
call fcn.14002dcd0
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
cmp eax, r10d
jne 0x140038635
cmp rbp, r10
je 0x140037d3e
mov al, byte [rsi + 2]
mov r9, qword [rbp]
mov rcx, qword [r13 + 0x118]
lea ebx, [r10 + 4]
mov r8, r12
and al, bl
neg al
mov rax, qword [rsp + 0x180]
sbb edx, edx
mov qword [rsp + 0x20], rax
and edx, 5
add edx, 0x12
call qword [r13 + 0x120]
jmp 0x1400384b3
cmp byte [rsi + 1], 0xfa
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbp, qword [rax + rcx*8]
mov r14d, dword [rsi + 8]
jne 0x14003b02e
cmp qword [r13 + 0x120], r10
je 0x14003b02e
mov rax, qword [r13 + 0x20]
movsx rcx, byte [rbp + 1]
mov r12, qword [rsi + 0x10]
shl rcx, 5
mov r13, qword [rcx + rax]
mov eax, 2
test byte [rsi + 2], al
je 0x14003b034
cmp byte [rbp + 4], r10b
je 0x14003b034
mov rbx, qword [rbp + 0x38]
mov rcx, rbx
call fcn.1400293c0
mov r11, qword [rbx + 0x30]
mov ebx, 4
mov qword [rbp + 0x58], r11
jmp 0x14003b034
mov r13, r10
mov r12, r10
mov dl, byte [rsi + 2]
mov rcx, qword [rbp + 0x38]
call fcn.14002e160
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov dword [rbp + 0x28], r10d
mov dword [rbp + 0x2c], r10d
cmp eax, r10d
jne 0x140038635
mov r11, qword [rsp + 0x340]
test r15b, r14b
je 0x1400399e9
add dword [r11 + 0x3c], r15d
mov r8, qword [rsp + 0x40]
xor eax, eax
mov r10, qword [r8 + 0x120]
cmp r10, rax
je 0x14003d377
mov eax, Ordinal_36
test byte [r12 + 0x40], al
jne 0x14003d377
mov rax, qword [rbp + 0x58]
mov r9, qword [r12]
mov r8, r13
mov r13, qword [rsp + 0x40]
mov edx, 9
mov qword [rsp + 0x20], rax
mov rcx, qword [r13 + 0x118]
call r10
mov r14, qword [rsp + 0x48]
jmp 0x1400384b3
mov eax, dword [r11 + 0x3c]
add dword [r13 + 0x78], eax
mov dword [r13 + 0x74], eax
mov dword [r11 + 0x3c], r10d
jmp case.0x1400379c8.86
movsxd rdx, dword [rsi + 0xc]
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
imul rdx, rdx, 0x38
mov r8d, dword [rsi + 0x10]
mov rcx, qword [rax + rcx*8]
lea r9, [rsp + 0x98]
add rdx, r14
mov dword [rsp + 0x98], r10d
call fcn.1400400d8
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038635
cmp dword [rsp + 0x98], r10d
jmp 0x140038e81
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rsi + 4]
movsxd rbx, dword [rsi + 8]
imul rbx, rbx, 0x38
mov rcx, qword [rax + rcx*8]
add rbx, r14
mov rax, qword [rcx + 0x38]
cmp byte [rax + 0x58], r10b
je 0x14003b16a
mov rdx, qword [rax + 0x18]
mov rax, qword [rdx + 0x10]
movsxd rcx, dword [rax + 4]
lea rax, [rcx + rcx*4]
shl rax, 4
add rax, qword [rdx + 0x18]
mov edi, dword [rax + 0x14]
mov rbp, qword [rax + 0x28]
jmp 0x14003b174
mov rax, qword [rax + 0x38]
mov edi, dword [rax]
lea rbp, [rax + 0x10]
cmp dword [rbx + 0x20], edi
jge 0x14003b18b
xor r8d, r8d
mov edx, edi
mov rcx, rbx
call fcn.140030a2c
xor r10d, r10d
jmp 0x14003b19b
mov rax, qword [rbx + 0x18]
and word [rbx + 8], 0x2d
mov qword [rbx + 0x10], rax
mov eax, r10d
cmp eax, r10d
jne 0x14003d6cc
mov rcx, qword [rbx + 0x10]
mov eax, 0x3e40
movsxd r8, edi
and word [rbx + 8], ax
mov eax, 0x10
mov rdx, rbp
or word [rbx + 8], ax
mov dword [rbx + 0xc], edi
call sub.msvcrt.dll_memcpy
movsxd rcx, dword [rsi + 0xc]
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov rax, qword [r11 + 0x78]
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov rcx, qword [rax + rcx*8]
mov dword [rcx + 0x28], r10d
jmp 0x140037d4b
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
movsxd rdx, dword [rsi + 4]
mov r12, qword [rsp + 0x340]
mov rcx, qword [r12 + 0x78]
mov rbx, rax
mov rdx, qword [rcx + rdx*8]
mov rdi, qword [rdx + 0x38]
mov rcx, rdi
call fcn.1400293c0
mov r8d, dword [rdi + 0x40]
cmp r8d, dword [r13 + 0x7c]
ja 0x14003ced5
mov r9, rbx
xor edx, edx
mov rcx, rdi
call fcn.140031868
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003863d
cmp dword [rsi + 0xc], r10d
jne 0x140037d3e
mov eax, 0x1000
test word [rbx + 8], ax
je 0x140037d3e
mov rcx, rbx
call fcn.140030ba8
xor r10d, r10d
cmp eax, r10d
jne 0x14003938f
jmp 0x140037d3e
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
mov r11, qword [rsp + 0x340]
movsxd rdx, dword [rsi + 4]
mov rcx, qword [r11 + 0x78]
xor r10d, r10d
mov rbp, rax
mov rbx, qword [rcx + rdx*8]
cmp byte [rbx + 2], r10b
je 0x14003b2b3
mov word [rax + 8], r15w
jmp 0x140037d4b
cmp byte [rbx + 3], r10b
je 0x14003b2c2
mov rax, qword [rbx + 0x58]
jmp 0x14003b377
mov eax, 2
cmp byte [rbx], al
jne 0x14003b317
mov rcx, qword [rbx + 0x38]
lea rdx, [rsp + 0xe0]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + reloc.WLDAP32.dll_Ordinal_96]
mov r12, qword [rsp + 0x340]
mov rdx, rbx
mov rcx, r12
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.14003587c
xor r10d, r10d
cmp edi, r10d
jne 0x14003863d
mov rax, qword [rsp + 0xe0]
mov r11, r12
mov r12, qword [rsp + 0x38]
jmp 0x14003b37f
mov rax, qword [rbx + 0x38]
cmp byte [rax], r10b
je 0x14003b33b
mov rcx, rbx
call fcn.140034654
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003b343
mov edi, r10d
mov dword [rsp + 0x30], r10d
cmp edi, r10d
jne 0x140038635
cmp byte [rbx + 2], r10b
je 0x14003b35c
mov word [rbp + 8], r15w
jmp 0x140037d4b
mov rbx, qword [rbx + 0x38]
mov rcx, rbx
call fcn.1400293c0
mov rax, qword [rbx + 0x30]
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov qword [rsp + 0xe0], rax
mov qword [rbp], rax
jmp 0x140037d4b
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbx, qword [rax + rcx*8]
mov byte [rbx + 2], r15b
mov dword [rbx + 0x28], r10d
cmp byte [rbx], r10b
jne 0x140037d5a
mov rbx, qword [rbx + 0x38]
mov rcx, qword [rbx + 0x18]
call fcn.140016640
xor r10d, r10d
mov byte [rbx], r15b
mov qword [rbx + 0x18], r10
jmp 0x1400387e9
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov dword [rsp + 0xa4], r10d
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x38]
cmp bpl, 0x82
jne 0x14003b3ec
or dword [rbx + 0x2c], 0xffffffff
cmp byte [rcx], r10b
je 0x140037d5a
lea rdx, [rsp + 0xa4]
call fcn.140029c38
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0xa4]
mov byte [rbx + 3], r10b
mov dword [rbx + 0x28], r10d
mov byte [rbx + 2], al
cmp edi, r10d
jne 0x140038635
cmp dword [rsi + 8], r10d
jle 0x1400387e9
cmp eax, r10d
jmp 0x14003ab44
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x38]
mov rcx, rbx
call fcn.1400299b4
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003b473
mov rcx, rbx
mov ebp, r10d
mov dword [rsp + 0x8c], r10d
call fcn.140029b48
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003b498
mov eax, 0x10
cmp edi, eax
jne 0x14003b491
mov ebp, r15d
mov dword [rsp + 0x8c], r15d
mov edi, r10d
mov dword [rsp + 0x30], r10d
jmp 0x14003b498
mov ebp, dword [rsp + 0x8c]
cmp edi, r10d
jne 0x140038635
cmp ebp, r10d
jne 0x14003d48e
cmp byte [rbx], r10b
jne 0x1400387e9
mov rax, qword [rbx + 0x88]
cmp byte [rax + 8], r10b
je 0x1400387e9
movsx r9d, byte [rbx + 0x54]
movzx ecx, word [rax + 0x18]
mov r8b, r10b
cmp r9d, r10d
jle 0x14003b4f5
movzx eax, r8b
add r8b, r15b
mov rdx, qword [rbx + rax*8 + 0x90]
movzx eax, word [rdx + 0x18]
imul rcx, rax
movzx eax, r8b
cmp eax, r9d
jl 0x14003b4d5
cmp rcx, r10
jl 0x1400387e9
call fcn.140019da8
movsx ecx, ax
cmp ecx, dword [rsi + 0xc]
jge 0x1400387e9
mov dword [rsp + 0x8c], r15d
jmp 0x14003d48e
add dword [r11 + 0xdc], r15d
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov ebp, r15d
mov r12, qword [rax + rcx*8]
mov rbx, qword [r12 + 0x38]
cmp byte [r12], r15b
jne 0x14003b59b
mov edi, r10d
mov dword [rsp + 0x30], r10d
cmp byte [rbx + 0x58], r10b
jne 0x14003b56f
lea rdx, [rbx + 0x38]
cmp qword [rdx], r10
je 0x14003b5e2
lea rcx, [rbx + 0x60]
mov ebp, r10d
call fcn.14003f180
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003b5e2
mov rcx, rbx
call fcn.14003f678
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003b5e2
mov rcx, rbx
call fcn.14003ff64
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov ebp, r10d
jmp 0x14003b5e2
mov rcx, rbx
call fcn.1400299b4
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003b5c7
mov rcx, rbx
mov ebp, r10d
call fcn.140029b48
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003b5d8
mov eax, 0x10
cmp edi, eax
jne 0x14003b5d8
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov byte [r12 + 3], r10b
mov dword [r12 + 0x28], r10d
cmp edi, r10d
jne 0x140038635
mov byte [r12 + 2], bpl
cmp ebp, r10d
jmp 0x14003ab3f
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbp, qword [rax + rcx*8]
mov rdi, qword [rbp + 0x38]
cmp byte [rdi + 0x58], r10b
je 0x14003b645
mov rcx, qword [rdi + 0x18]
lea rdx, [rsp + 0xa0]
mov dword [rsp + 0xa0], r10d
call fcn.14003f4c0
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x14003b6a9
cmp dword [rsp + 0xa0], r10d
je 0x14003b6a9
lea edi, [r10 + 0x65]
jmp 0x14003b684
mov rdx, qword [rdi + 0x38]
mov rax, qword [rdx + 8]
mov qword [rdi + 0x38], rax
mov qword [rdx + 8], r10
cmp qword [rdi + 0x40], r10
jne 0x14003b676
mov rbx, qword [rdx + 8]
mov rcx, r13
call fcn.140016698
xor r10d, r10d
mov rdx, rbx
cmp rbx, r10
jne 0x14003b65b
lea ebx, [r10 + 4]
mov rax, qword [rdi + 0x38]
neg rax
sbb edi, edi
not edi
and edi, 0x65
mov dword [rsp + 0x30], edi
jmp 0x14003b6a9
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov edx, dword [rsi + 0xc]
mov rbp, qword [rax + rcx*8]
mov rcx, qword [rbp + 0x38]
call qword [rsi + 0x10]
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov dword [rbp + 0x28], r10d
cmp edi, r10d
jne 0x14003b6cf
mov r11, qword [rsp + 0x340]
mov byte [rbp + 2], r10b
movzx eax, word [rsi + 2]
add dword [r11 + rax*4 + 0xd4], r15d
jmp case.0x1400379c8.11
cmp edi, 0x65
jne 0x140038635
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov byte [rbp + 2], r15b
jmp 0x14003c02d
movsxd rbx, dword [rsi + 8]
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
imul rbx, rbx, 0x38
mov rbp, qword [rax + rcx*8]
add rbx, r14
test byte [rsi + 2], r15b
je 0x14003b70a
add dword [r11 + 0x3c], r15d
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14003b724
mov rcx, rbx
call fcn.140030c04
xor r10d, r10d
mov edi, eax
jmp 0x14003b727
mov edi, r10d
cmp edi, r10d
jne 0x140038635
cmp byte [rsi], 0x83
jne 0x14003b745
mov rdx, rbx
mov rcx, rbp
call fcn.14003f7e4
jmp 0x14003ac75
movsxd rax, dword [rbx + 0xc]
mov r8w, word [rsi + 2]
mov qword [rsp + 0x290], rax
mov rax, qword [rbx + 0x10]
mov qword [rsp + 0x288], rax
movsxd rax, dword [rsi + 0xc]
imul rax, rax, 0x38
add rax, r14
mov qword [rsp + 0x2a0], rax
movzx eax, word [rsi + 0x10]
mov word [rsp + 0x2a8], ax
mov eax, 0x10
test al, r8b
je 0x14003b791
mov r9d, dword [rbp + 0x2c]
jmp 0x14003b794
mov r9d, r10d
mov rcx, qword [rbp + 0x38]
lea rdx, [rsp + 0x288]
and r8d, 0xa
call fcn.14002dcd0
xor r10d, r10d
mov dword [rbp + 0x28], r10d
jmp 0x14003ac78
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
lea rdx, [rsp + 0x148]
mov rbx, qword [rax + rcx*8]
xor r9d, r9d
xor r8d, r8d
mov rax, qword [rbx + 0x40]
mov rbp, qword [rbx + 0x38]
mov byte [rsp + 0x15a], r10b
mov qword [rsp + 0x148], rax
movzx eax, word [rsi + 0xc]
mov rcx, rbp
mov word [rsp + 0x158], ax
movsxd rax, dword [rsi + 8]
imul rax, rax, 0x38
add rax, r14
mov qword [rsp + 0x150], rax
lea rax, [rsp + 0xe8]
mov qword [rsp + 0x20], rax
call fcn.140029c94
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038635
cmp dword [rsp + 0xe8], r10d
jne 0x14003b853
mov dl, 4
mov rcx, rbp
call fcn.14002e160
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038635
mov dword [rbx + 0x28], r10d
mov dword [rbx + 0x2c], r10d
jmp 0x1400387e9
mov rax, qword [r11 + 0x78]
movsxd rcx, dword [rsi + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x38]
cmp byte [rax], r10b
je 0x14003b888
mov rcx, rbx
call fcn.140034654
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
jmp 0x14003b890
mov edi, r10d
mov dword [rsp + 0x30], r10d
cmp edi, r10d
jne 0x140038635
cmp byte [rbx + 2], r10b
jne 0x14003b92f
mov rdx, qword [rbx + 0x38]
lea r8, [rsp + 0x90]
mov rcx, r13
mov qword [rsp + 0x90], r10
call fcn.140035640
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038635
cmp byte [rsi], 0x86
jne 0x14003b90f
movsxd rcx, dword [rsi + 0xc]
mov r11, qword [rsp + 0x340]
mov rax, qword [r11 + 0x78]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rsp + 0x90]
mov byte [rdx + 2], r10b
mov qword [rdx + 0x58], rax
mov byte [rdx + 3], r15b
mov rax, qword [rsi + 0x10]
mov qword [rdx + 0x30], rbx
mov qword [rdx + 0x20], rax
jmp 0x140037d4b
mov rcx, qword [rsp + 0x340]
mov rdx, rsi
call fcn.1400378a8
mov rcx, qword [rsp + 0x90]
mov qword [rax], rcx
jmp 0x14003843f
movsxd rcx, dword [rsi + 8]
imul rcx, rcx, 0x38
add rcx, r14
jmp 0x140038d81
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
cmp bpl, 0x27
mov rdx, qword [rax + rcx*8]
lea r9, [rsp + 0x58]
lea r8, [rsp + reloc.WLDAP32.dll_Ordinal_304]
mov rax, qword [rdx + 0x40]
mov rcx, r13
mov dword [rsp + 0x58], r10d
mov qword [rsp + reloc.WLDAP32.dll_Ordinal_304], rax
movzx eax, word [rsi + 0x10]
mov word [rsp + 0x140], ax
sbb al, al
mov byte [rsp + 0x142], al
movsxd rax, dword [rsi + 0xc]
imul rax, rax, 0x38
add rax, r14
mov qword [rsp + 0x138], rax
call fcn.140035790
mov edi, eax
mov dword [rsp + 0x30], eax
mov eax, dword [rsp + 0x58]
test byte [rsi], r15b
je 0x14003b9b0
neg eax
jmp 0x14003b9b3
add eax, r15d
xor r10d, r10d
cmp edi, r10d
jne 0x140038635
cmp eax, r10d
jg 0x14003d48e
jmp 0x14003835d
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
mov rbx, rax
mov word [rax + 8], r15w
mov ecx, dword [r13 + 0xd8]
add ecx, r15d
cmp dword [r13 + 0xcc], ecx
jg 0x14003d6e6
movsxd r12, dword [rsi + 0xc]
mov edx, dword [rsi + 4]
xor eax, eax
mov dword [rsp + 0xac], eax
mov rax, qword [r13 + 0x20]
mov rbp, r12
shl rbp, 5
lea r8, [rsp + 0xac]
mov rcx, qword [rax + rbp + 8]
call fcn.14002eab0
movsxd r8, dword [rsp + 0xac]
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov eax, 4
mov word [rbx + 8], ax
mov qword [rbx], r8
cmp edi, r10d
jne 0x140038635
cmp r8d, r10d
je 0x140037d3e
mov rdx, qword [r13 + 0x20]
mov r9d, dword [rsi + 4]
mov rax, qword [rdx + rbp + 0x18]
mov rcx, qword [rax + 0x10]
jmp 0x14003ba77
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x38], r8d
jne 0x14003ba74
mov dword [rax + 0x38], r9d
mov rcx, qword [rcx]
cmp rcx, r10
jne 0x14003ba66
mov rax, qword [rdx + rbp + 0x18]
mov rcx, qword [rax + 0x28]
jmp 0x14003ba98
mov rax, qword [rcx + 0x10]
cmp dword [rax + 0x58], r8d
jne 0x14003ba95
mov dword [rax + 0x58], r9d
mov rcx, qword [rcx]
cmp rcx, r10
jne 0x14003ba87
lea r8d, [r15 + r12]
mov byte [rsp + 0x350], r8b
jmp 0x140037d3e
mov eax, dword [rsi + 0xc]
mov rcx, qword [r13 + 0x20]
mov edx, dword [rsi + 4]
neg eax
lea rax, [rsp + 0xb0]
mov dword [rsp + 0xb0], r10d
sbb r8, r8
and r8, rax
movsxd rax, dword [rsi + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14002ea2c
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp dword [rsi + 0xc], r10d
je 0x14003bb17
movsxd rax, dword [rsp + 0xb0]
add dword [r11 + 0x3c], eax
cmp dword [rsi + 0xc], r10d
jle 0x14003bb17
movsxd rcx, dword [rsi + 0xc]
imul rcx, rcx, 0x38
add qword [rcx + r14], rax
cmp edi, r10d
jne 0x140038635
jmp 0x140038365
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], r15b
jne 0x14003bb47
mov rdx, qword [rcx + 0x38]
mov rcx, r13
call fcn.14003eea8
jmp 0x140037b9c
mov rcx, qword [rcx + 0x38]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.14002ea2c
jmp 0x14003a64d
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
movsxd rdx, dword [rsi + 4]
mov rcx, qword [r13 + 0x20]
mov r8d, dword [rsi + 0xc]
shl rdx, 5
mov rbx, rax
mov rcx, qword [rdx + rcx + 8]
xor eax, eax
lea rdx, [rsp + 0x68]
mov dword [rsp + 0x68], eax
call fcn.14002e564
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
jne 0x140038635
movsxd rax, dword [rsp + 0x68]
mov qword [rbx], rax
jmp 0x1400387e9
add byte [r13 + 0x6a], r15b
mov rdx, qword [rsi + 0x10]
xor r9d, r9d
xor r8d, r8d
mov rcx, r13
mov qword [rsp + 0x20], r10
call fcn.14005d874
dec byte [r13 + 0x6a]
jmp 0x14003a64d
mov rcx, qword [rsi + 0x10]
movsxd rbx, dword [rsi + 4]
cmp rcx, r10
jne 0x14003bc3f
mov rcx, qword [r13 + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1400544f4
mov r8, qword [rsp + 0x340]
and dword [r13 + 0x2c], 0xffffffef
add r8, 0xa8
mov r9d, r15d
mov edx, ebx
mov rcx, r13
call fcn.140061b94
or dword [r13 + 0x2c], r15d
mov r11, qword [rsp + 0x340]
and dword [r11 + 0xc8], 0xfffffffc
mov r12, qword [rsp + 0x38]
mov edi, eax
xor r10d, r10d
mov dword [rsp + 0x30], eax
jmp 0x14003bd20
mov r8, qword [r13 + 0x20]
lea rax, [r11 + 0xa8]
mov qword [rsp + 0x108], r13
mov qword [rsp + 0x110], rax
mov dword [rsp + 0x118], ebx
mov dword [rsp + 0x120], r10d
mov qword [rsp + 0x20], rcx
mov rax, rbx
lea r9, str.sqlite_master
shl rax, 5
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
mov rcx, r13
mov r8, qword [rax + r8]
call fcn.140018388
xor ebp, ebp
mov rbx, rax
cmp rax, rbp
je 0x14003d703
lea r9, [rsp + 0x108]
lea r8, [fcn.14006199c]
mov rdx, rax
mov rcx, r13
mov byte [r13 + 0xb5], r15b
mov dword [rsp + 0x11c], ebp
mov dword [rsp + 0x124], ebp
mov qword [rsp + 0x20], rbp
call fcn.14005d874
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, ebp
jne 0x14003bd03
mov edi, dword [rsp + 0x11c]
mov dword [rsp + 0x30], edi
cmp edi, ebp
jne 0x14003bd03
cmp dword [rsp + 0x124], ebp
jne 0x14003bd03
mov ecx, 0x15f51
call fcn.140084b2c
mov edi, eax
mov dword [rsp + 0x30], eax
mov rdx, rbx
mov rcx, r13
call fcn.140016698
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov byte [r13 + 0xb5], r10b
cmp edi, r10d
jne 0x14003d708
jmp 0x140037d4b
mov edx, dword [rsi + 4]
mov rcx, r13
call fcn.14004c9f8
jmp 0x14003a64d
movsxd rcx, dword [rsi + 4]
mov rdx, qword [rsi + 0x10]
xor r8d, r8d
shl rcx, 5
add rcx, qword [r13 + 0x20]
mov rcx, qword [rcx + 0x18]
add rcx, 8
call fcn.14001a19c
xor r10d, r10d
cmp rax, r10
je 0x14003bd83
cmp qword [r13 + 0x298], r10
jne 0x14003bd75
add dword [rax + 0x3c], 0xffffffff
jne 0x14003bd83
mov rdx, rax
mov rcx, r13
call fcn.14004e150
xor r10d, r10d
or dword [r13 + 0x2c], r15d
jmp 0x14003835d
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
mov rdx, qword [rsi + 0x10]
shl rcx, 5
xor r8d, r8d
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x20
call fcn.14001a19c
xor r10d, r10d
mov rdx, rax
cmp rax, r10
je 0x14003bd83
mov rax, qword [rax + 0x18]
mov rcx, qword [rax + 0x10]
cmp rcx, rdx
jne 0x14003bdcf
mov rcx, qword [rdx + 0x28]
mov qword [rax + 0x10], rcx
jmp 0x14003bdf8
cmp rcx, r10
je 0x14003bdf8
mov rax, qword [rcx + 0x28]
cmp rax, rdx
je 0x14003bde5
mov rcx, rax
cmp rax, r10
jne 0x14003bdd4
cmp rcx, r10
je 0x14003bdf8
cmp qword [rcx + 0x28], rdx
jne 0x14003bdf8
mov rax, qword [rdx + 0x28]
mov qword [rcx + 0x28], rax
mov rcx, r13
call fcn.14004de68
jmp 0x14003bd80
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
mov rdx, qword [rsi + 0x10]
shl rcx, 5
xor r8d, r8d
mov rcx, qword [rcx + rax + 0x18]
add rcx, 0x38
call fcn.14001a19c
xor r10d, r10d
mov rbx, rax
cmp rax, r10
je 0x1400387e9
mov rcx, qword [rax + 0x30]
cmp qword [rax + 0x28], rcx
jne 0x14003be73
mov rdx, qword [rax + 8]
add rcx, 8
xor r8d, r8d
call fcn.14001a100
mov rdx, qword [rax + 0x10]
xor eax, eax
cmp rdx, rax
je 0x14003be73
add rdx, 0x68
jmp 0x14003be64
lea rdx, [rax + 0x40]
mov rax, qword [rdx]
cmp rax, rbx
jne 0x14003be60
mov rcx, qword [rax + 0x40]
mov qword [rdx], rcx
mov rdx, rbx
mov rcx, r13
call fcn.14006bca0
or dword [r13 + 0x2c], r15d
jmp 0x140037ff8
movsxd rbp, dword [rsi + 0xc]
movzx eax, word [rsi + 2]
movsxd rbx, dword [rsi + 4]
imul rbp, rbp, 0x38
imul rbx, rbx, 0x38
mov rcx, qword [r13 + 0x20]
mov rdx, qword [rsi + 0x10]
mov r9d, dword [rbp + r14]
lea r8, [rsp + 0xd8]
shl rax, 5
add r9d, r15d
mov rcx, qword [rax + rcx + 8]
mov qword [rsp + 0x20], r8
mov r8d, dword [rsi + 8]
add rdx, 4
add rbx, r14
call fcn.14002f9dc
mov rcx, rbx
mov r12, rax
call fcn.140031218
mov ecx, dword [rsp + 0xd8]
xor r10d, r10d
cmp ecx, r10d
je 0x14003bf1f
cmp r12, r10
je 0x14003938f
dec ecx
lea rax, [fcn.140016640]
mov r9b, r15b
movsxd rdx, ecx
or r8d, 0xffffffff
mov rcx, rbx
sub qword [rbp + r14], rdx
mov rdx, r12
mov qword [rsp + 0x20], rax
call fcn.140031514
xor r10d, r10d
movzx edx, byte [rsp + 0x348]
mov eax, 2
mov ecx, edx
test byte [rbx + 8], al
je 0x140038156
movzx eax, byte [rbx + 0xa]
cmp eax, edx
je 0x140038156
mov dl, cl
mov rcx, rbx
call fcn.140018788
jmp 0x14003843f
movsxd rbx, dword [rsi + 4]
movsxd rbp, dword [rsi + 8]
mov eax, 0x10
imul rbx, rbx, 0x38
add rbx, r14
imul rbp, rbp, 0x38
test byte [rbx + 8], al
jne 0x14003bf83
mov rcx, rbx
call fcn.1400312c0
xor r11d, r11d
cmp eax, r11d
jne 0x14003938f
mov rdx, qword [rbp + r14]
mov rcx, qword [rbx + 0x10]
call fcn.14001e8a8
jmp 0x140037ff8
movsxd rbp, dword [rsi + 4]
mov eax, 0x10
imul rbp, rbp, 0x38
add rbp, r14
test byte [rbp + 8], al
je 0x14003c07e
mov rbx, qword [rbp + 0x10]
mov eax, 2
test byte [rbx + 0x32], al
jne 0x14003bfdc
test byte [rbx + 0x32], r15b
jne 0x14003bfd3
mov rcx, qword [rbx + 0x10]
call fcn.14001e944
xor r10d, r10d
mov qword [rbx + 0x10], rax
mov eax, 3
or word [rbx + 0x32], ax
mov rax, qword [rbx + 0x10]
cmp rax, r10
je 0x14003c07e
mov rbp, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
cmp rax, r10
jne 0x14003c004
mov rcx, rbx
call fcn.14001e7b8
xor r10d, r10d
movsxd rax, dword [rsi + 0xc]
mov ecx, 0x2400
imul rax, rax, 0x38
add rax, r14
test word [rax + 8], cx
je 0x14003c070
mov rdx, rbp
mov rcx, rax
call fcn.140031294
xor r10d, r10d
mov ebx, 4
mov r11, qword [rsp + 0x340]
mov eax, dword [r13 + 0x160]
cmp eax, r10d
je 0x140038365
mov al, byte [r13 + 0x61]
neg al
sbb edi, edi
and edi, 0xfffffffe
add edi, 9
mov ecx, edi
mov dword [r11 + 0x38], edi
call fcn.140083050
lea rdx, [0x1400f1278]
mov rcx, r11
mov r8, rax
jmp 0x14003d768
mov ebx, 4
mov qword [rax], rbp
mov word [rax + 8], bx
jmp 0x14003c02d
mov rcx, rbp
call fcn.140031218
xor r10d, r10d
jmp 0x14003cf57
movsxd rbx, dword [rsi + 4]
movsxd rbp, dword [rsi + 0xc]
mov r12d, dword [rsi + 0x10]
imul rbx, rbx, 0x38
imul rbp, rbp, 0x38
add rbx, r14
mov eax, 0x10
test byte [rbx + 8], al
jne 0x14003c0c3
mov rcx, rbx
call fcn.1400312c0
xor r10d, r10d
cmp eax, r10d
jne 0x14003938f
cmp r12d, r10d
je 0x14003c0ee
mov r8, qword [rbp + r14]
mov rcx, qword [rbx + 0x10]
mov edx, r12d
call fcn.14001eb10
xor r10d, r10d
cmp eax, r10d
jne 0x14003a920
cmp r12d, r10d
jl 0x140037d3e
mov rdx, qword [rbp + r14]
mov rcx, qword [rbx + 0x10]
call fcn.14001e8a8
jmp 0x14003843f
movsxd rbx, dword [rsi + 0xc]
mov r14, qword [rsi + 0x10]
imul rbx, rbx, 0x38
add rbx, qword [rsp + 0x48]
cmp word [rsi + 2], r10w
je 0x14003c141
mov rax, qword [r11 + 0x100]
mov rcx, qword [r14 + 0x20]
cmp rax, r10
je 0x14003c141
cmp qword [rax + 0x38], rcx
je 0x14003c138
mov rax, qword [rax + 8]
cmp rax, r10
jne 0x14003c129
cmp rax, r10
jne 0x14003d4ad
mov eax, dword [r13 + 0xa4]
cmp dword [r11 + 0x110], eax
jge 0x14003d734
mov eax, 0x10
test byte [rbx + 8], al
jne 0x14003c2a7
mov ecx, dword [r14 + 0x10]
mov eax, dword [r14 + 0xc]
lea ebp, [rcx + rax]
cmp ecx, r10d
jne 0x14003c176
add ebp, r15d
mov eax, dword [r14 + 8]
mov r8d, 7
lea ecx, [rbp + 2]
add eax, r8d
cdq
imul ecx, ecx, 7
add ecx, dword [r14 + 0x10]
and edx, r8d
add eax, edx
sar eax, 3
lea r13d, [rax + rcx*8]
mov rcx, qword [rsp + 0x40]
movsxd rdx, r13d
call fcn.140016898
xor r10d, r10d
mov r12, rax
cmp rax, r10
je 0x14003938a
mov eax, 0x2400
test word [rbx + 8], ax
jne 0x14003c1c7
cmp dword [rbx + 0x20], r10d
je 0x14003c1d2
mov rcx, rbx
call fcn.140030e80
xor r10d, r10d
mov r11, qword [rsp + 0x340]
sub rsi, qword [rsp + 0x38]
mov dword [rbx + 0xc], r13d
mov r13, qword [rsp + 0x40]
mov qword [rbx + 0x10], r12
mov eax, 0x410
mov word [rbx + 8], ax
lea rax, [0x140032e0c]
movsxd rcx, ebp
mov qword [rbx + 0x30], rax
mov qword [r12], r11
mov dword [r12 + 0x60], ebp
mov eax, dword [r14 + 0x10]
add rcx, 2
mov dword [r12 + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx, rcx, 0x38
add rcx, r12
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x54], edx
mov rax, qword [r11 + 0x68]
mov qword [r12 + 0x20], rax
mov eax, dword [r11 + 0x28]
mov dword [r12 + 0x5c], eax
mov rax, qword [r11 + 0x78]
mov qword [r12 + 0x28], rax
mov eax, dword [r11 + 0x2c]
mov dword [r12 + 0x50], eax
mov rax, qword [r11 + 0x88]
mov qword [r12 + 0x10], rax
mov eax, dword [r11 + 0x90]
mov dword [r12 + 0x58], eax
mov rax, qword [r14 + 0x20]
mov qword [r12 + 0x38], rax
lea rax, [r12 + 0x70]
cmp rax, rcx
je 0x14003c2ab
mov edx, 0x80
mov word [rax + 8], dx
mov qword [rax + 0x28], r13
add rax, 0x38
cmp rax, rcx
jne 0x14003c294
jmp 0x14003c2ab
mov r12, qword [rbx + 0x10]
add dword [r11 + 0x110], r15d
mov rax, qword [r11 + 0x100]
lea rdx, [r12 + 0x70]
mov qword [r12 + 8], rax
mov rax, qword [r13 + 0x38]
mov qword [rsp + 0x48], rdx
mov qword [r12 + 0x40], rax
mov eax, dword [r11 + 0x3c]
mov r8d, 7
mov dword [r12 + 0x68], eax
mov rax, qword [r11]
mov ecx, dword [rax + 0x74]
mov dword [r12 + 0x6c], ecx
mov rax, qword [r11 + 0x120]
mov qword [r12 + 0x48], rax
mov qword [r11 + 0x68], rdx
mov qword [r11 + 0x120], r10
mov dword [r11 + 0x3c], r10d
mov qword [r11 + 0x100], r12
movsxd rcx, dword [r12 + 0x60]
mov dword [r11 + 0x28], ecx
movzx eax, word [r12 + 0x64]
mov dword [r11 + 0x2c], eax
imul rcx, rcx, 0x38
add rcx, rdx
mov qword [r11 + 0x78], rcx
movsxd rax, dword [r14 + 0x10]
lea rcx, [rcx + rax*8]
mov qword [r12 + 0x30], rcx
mov eax, dword [r14 + 8]
add eax, r8d
cdq
and edx, r8d
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call sub.msvcrt.dll_memset
mov r12, qword [r14]
mov r11, qword [rsp + 0x340]
mov qword [r11 + 0x88], r12
mov eax, dword [r14 + 8]
mov r14, qword [rsp + 0x48]
mov dword [r11 + 0x90], eax
mov qword [rsp + 0x38], r12
lea rsi, [r12 - 0x18]
xor r10d, r10d
mov ebx, 4
jmp 0x14003c035
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
mov r12, qword [rsp + 0x340]
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]
mov rcx, rax
add r8d, dword [rsi + 4]
movsxd rdx, r8d
mov r8d, 0x1000
imul rdx, rdx, 0x38
add rdx, qword [r9 + 0x20]
call fcn.1400313ec
jmp 0x1400384b3
mov eax, dword [r13 + 0x30]
bt rax, 0x13
movsxd rax, dword [rsi + 8]
jae 0x14003c3f4
add qword [r13 + 0x290], rax
jmp case.0x1400379c8.86
lea rcx, [0x140000000]
cmp dword [rsi + 4], r10d
je 0x14003c40d
add qword [r13 + 0x288], rax
jmp case.default.0x1400379c8
add qword [r11 + 0x50], rax
jmp case.default.0x1400379c8
cmp dword [rsi + 4], r10d
je 0x14003c435
cmp qword [r13 + 0x288], r10
jne case.0x1400379c8.86
cmp qword [r13 + 0x290], r10
jmp 0x140038ed6
cmp qword [r11 + 0x50], r10
jmp 0x14003c423
mov rax, qword [r11 + 0x100]
cmp rax, r10
je 0x14003c467
mov rcx, qword [rax + 8]
jmp 0x14003c454
mov rax, rcx
mov rcx, qword [rcx + 8]
cmp rcx, r10
jne 0x14003c44d
movsxd rbp, dword [rsi + 4]
imul rbp, rbp, 0x38
add rbp, qword [rax + 0x20]
jmp 0x14003c472
movsxd rbp, dword [rsi + 4]
imul rbp, rbp, 0x38
add rbp, r14
mov rcx, rbp
call fcn.140030f24
mov r15d, 0x3e40
and word [rbp + 8], r15w
or word [rbp + 8], bx
mov qword [rbp], rax
movsxd rbx, dword [rsi + 8]
imul rbx, rbx, 0x38
add rbx, r14
mov rcx, rbx
call fcn.140030f24
and word [rbx + 8], r15w
mov r11, qword [rsp + 0x340]
mov dl, byte [rsp + 0x348]
mov r9d, dword [rsp + 0x358]
mov ecx, 4
or word [rbx + 8], cx
mov qword [rbx], rax
xor r10d, r10d
cmp qword [rbp], rax
jge 0x140037d5a
mov qword [rbp], rax
mov rbx, rcx
jmp case.0x1400379c8.86
movsxd rcx, dword [rsi + 4]
imul rcx, rcx, 0x38
mov rdx, qword [rcx + r14]
cmp rdx, r10
jle 0x140037a24
movsxd rax, dword [rsi + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x14003d48e
movsxd rbx, dword [rsi + 4]
movsxd rbp, dword [rsi + 0xc]
mov rdx, rsi
mov rcx, r11
imul rbx, rbx, 0x38
imul rbp, rbp, 0x38
call fcn.1400378a8
mov rcx, qword [rbx + r14]
xor r10d, r10d
mov r11, rax
cmp rcx, r10
mov qword [rsp + 0x70], rcx
jle 0x14003c55f
cmp qword [rbp + r14], r10
mov rdx, r10
lea rcx, [rsp + 0x70]
cmovg rdx, qword [rbp + r14]
call fcn.140019cec
cmp eax, r10d
jne 0x14003c55f
mov rax, qword [rsp + 0x70]
mov qword [r11], rax
jmp 0x1400387e9
or qword [r11], 0xffffffffffffffff
jmp 0x1400387e9
movsxd rcx, dword [rsi + 4]
imul rcx, rcx, 0x38
mov rax, qword [rcx + r14]
cmp rax, r10
je case.0x1400379c8.86
jle 0x14003d48e
dec rax
mov qword [rcx + r14], rax
jmp 0x14003d48e
movsxd rcx, dword [rsi + 4]
movabs r8, 0x8000000000000000
imul rcx, rcx, 0x38
mov rax, qword [rcx + r14]
cmp rax, r8
jle 0x14003c5b1
dec rax
mov qword [rcx + r14], rax
cmp qword [rcx + r14], r10
jmp 0x140038ed6
movzx ebx, word [rsi + 2]
mov rcx, r13
lea rdx, [rbx*8 + 0x68]
call fcn.140016908
xor r10d, r10d
mov r11, rax
cmp rax, r10
je 0x14003938f
mov qword [rax + 0x10], r10
lea rcx, [rax + rbx*8 + 0x30]
mov qword [rax], rcx
mov word [rcx + 8], r15w
mov qword [rcx + 0x28], r13
mov dword [rcx + 0x20], r10d
mov rcx, qword [rsi + 0x10]
mov byte [r11 + 0x28], r10b
mov qword [rax + 8], rcx
mov dword [r11 + 0x24], r10d
mov byte [r11 + 0x29], bl
mov rcx, rsi
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r12
mov r12, qword [rsp + 0x340]
mov qword [r11 + 0x18], r12
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r11 + 0x20], edx
mov byte [rsi + 1], 0xf0
mov qword [rsi + 0x10], r11
mov byte [rsi], Ordinal_157
jmp 0x14003c650
mov r12, qword [rsp + 0x340]
movsxd rdx, dword [rsi + 0xc]
mov rbx, qword [rsi + 0x10]
imul rdx, rdx, 0x38
add rdx, r14
cmp qword [rbx + 0x10], rdx
je 0x14003c6a9
movzx r8d, byte [rbx + 0x29]
mov qword [rbx + 0x10], rdx
sub r8d, r15d
movsxd r9, r8d
js 0x14003c6a9
xor r11d, r11d
lea r10, [rbx + r9*8 + 0x30]
lea r13d, [r11 + 8]
mov eax, dword [rsi + 8]
sub r9, r15
add eax, r8d
sub r8d, r15d
cdqe
imul rax, rax, 0x38
add rax, r14
mov qword [r10], rax
sub r10, r13
cmp r9, r11
jge 0x14003c682
mov r13, qword [rsp + 0x40]
jmp 0x14003c6ac
xor r11d, r11d
add dword [rdx + 0xc], r15d
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
lea r8, [rbx + 0x30]
mov rcx, rbx
cmp dword [rsi + 4], r11d
je 0x14003c6ca
call qword [rax + 0x30]
jmp 0x14003c6cd
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
xor r10d, r10d
cmp eax, r10d
je 0x140037d3e
jle 0x14003c705
mov rcx, qword [rbx]
mov dl, r15b
call fcn.140031978
lea rdx, [0x1400f1278]
mov rcx, r12
mov r8, rax
call fcn.140031ef4
mov edi, dword [rbx + 0x24]
xor r10d, r10d
mov dword [rsp + 0x30], edi
cmp byte [rbx + 0x28], r10b
je 0x14003c747
cmp dword [rsi - 0x14], r10d
je 0x14003c743
movsxd rax, dword [rsi - 0x14]
mov ecx, 0x2400
imul rax, rax, 0x38
add rax, r14
test word [rax + 8], cx
je 0x14003c737
mov rdx, r15
mov rcx, rax
call fcn.140031294
xor r10d, r10d
jmp 0x14003c743
mov ecx, 4
mov qword [rax], r15
mov word [rax + 8], cx
mov byte [rbx + 0x28], r10b
mov rcx, qword [rbx]
mov eax, 0x2400
test word [rcx + 8], ax
jne 0x14003c75b
cmp dword [rcx + 0x20], r10d
je 0x14003c763
call fcn.140030e80
xor r10d, r10d
mov rax, qword [rbx]
mov word [rax + 8], r15w
mov dword [rbx + 0x24], r10d
cmp edi, r10d
jne 0x14003863d
jmp 0x140037d3e
movsxd rbp, dword [rsi + 4]
imul rbp, rbp, 0x38
add rbp, r14
cmp dword [rsi + 0xc], r10d
je 0x14003c7f8
movsxd rbx, dword [rsi + 0xc]
mov rdi, qword [rsi + 0x10]
xor edx, edx
lea r8d, [rdx + 0x38]
lea rcx, [rsp + 0x250]
imul rbx, rbx, 0x38
add rbx, r14
call sub.msvcrt.dll_memset
mov rcx, rbx
call fcn.140031218
lea rcx, [rsp + 0x250]
mov qword [rsp + 0x250], rbx
mov qword [rsp + 0x260], rbp
mov qword [rsp + 0x258], rdi
call qword [rdi + Ordinal_41]
movsxd rbp, dword [rsi + 0xc]
mov edi, dword [rsp + 0x274]
mov ebx, 4
mov dword [rsp + 0x30], edi
imul rbp, rbp, 0x38
add rbp, r14
jmp 0x14003c80a
mov rdx, qword [rsi + 0x10]
mov rcx, rbp
call fcn.140030d94
mov edi, eax
mov dword [rsp + 0x30], eax
xor r10d, r10d
cmp edi, r10d
jne 0x14003d74b
movzx ecx, byte [rsp + 0x348]
lea eax, [r10 + 2]
test byte [rbp + 8], al
je 0x14003c83c
movzx eax, byte [rbp + 0xa]
cmp eax, ecx
je 0x14003c83c
mov dl, cl
mov rcx, rbp
call fcn.140018788
xor r10d, r10d
test byte [rbp + 8], 0x12
je 0x14003c862
mov edx, dword [rbp + 0xc]
mov eax, 0x4000
test word [rbp + 8], ax
je 0x14003c853
add edx, dword [rbp]
mov rax, qword [rbp + 0x28]
mov ecx, r10d
cmp edx, dword [rax + 0x7c]
setg cl
jmp 0x14003c865
mov ecx, r10d
mov r11, qword [rsp + 0x340]
cmp ecx, r10d
jne 0x14003cedd
jmp 0x140038365
mov r8d, dword [rsi + 8]
mov edx, dword [rsi + 4]
or dword [rsp + 0xc8], 0xffffffff
or dword [rsp + 0xc4], 0xffffffff
lea rax, [rsp + 0xc8]
lea r9, [rsp + 0xc4]
mov rcx, r13
mov qword [rsp + 0x20], rax
mov dword [rsp + 0xc0], r10d
call fcn.140083a88
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
je 0x14003c8e1
lea eax, [r10 + 5]
cmp edi, eax
jne 0x140038635
mov edi, r10d
mov dword [rsp + 0x30], r10d
mov dword [rsp + 0xc0], r15d
movsxd rbx, dword [rsi + 0xc]
mov r12d, 4
mov rbp, r10
mov ecx, 0x2400
lea r13d, [r12 - 1]
imul rbx, rbx, 0x38
add rbx, r14
movsxd rax, dword [rsp + rbp*4 + 0xc0]
test word [rbx + 8], cx
je 0x14003c91f
mov rdx, rax
mov rcx, rbx
call fcn.140031294
mov ecx, 0x2400
jmp 0x14003c927
mov qword [rbx], rax
mov word [rbx + 8], r12w
add rbp, r15
add rbx, 0x38
cmp rbp, r13
jl 0x14003c8ff
jmp 0x14003843a
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
mov r8, qword [rsp + 0x40]
mov ebx, dword [rsi + 0xc]
mov rcx, qword [r8 + 0x20]
movsxd rdx, dword [rsi + 4]
mov r13, rax
shl rdx, 5
cmp ebx, 0xffffffff
mov eax, 3
mov r14, qword [rdx + rcx + 8]
mov rcx, qword [r14 + 8]
mov rbp, qword [rcx]
movzx r12d, byte [rbp + 9]
cmove ebx, r12d
xor edx, edx
cmp byte [rbp + 0x14], al
jae 0x14003c98d
mov rax, qword [rbp + 0x50]
cmp qword [rax], rdx
je 0x14003c990
cmp qword [rbp + 0x60], rdx
jle 0x14003c990
mov ebx, r12d
lea rcx, [0x1400f11fc]
cmp byte [rbp + 0x13], dl
jne 0x14003c9a3
mov rcx, qword [rbp + 0xd0]
mov r9d, 5
cmp ebx, r9d
jne 0x14003c9d9
call fcn.140018d64
cmp eax, edx
je 0x14003c9d6
mov rax, qword [rbp + 0x48]
mov rcx, qword [rax]
cmp byte [rbp + 0x11], dl
jne 0x14003c9d6
cmp byte [rbp + 8], dl
jne 0x14003c9d9
lea eax, [r9 - 3]
cmp dword [rcx], eax
jl 0x14003c9d6
cmp qword [rcx + 0x68], rdx
jne 0x14003c9d9
mov ebx, r12d
cmp ebx, r12d
je 0x14003ca59
cmp r12d, r9d
je 0x14003c9e8
cmp ebx, r9d
jne 0x14003ca59
cmp byte [r8 + 0x5f], dl
je 0x14003d772
cmp dword [r8 + 0xcc], r15d
jg 0x14003d772
cmp r12d, r9d
jne 0x14003ca1f
mov rdx, r8
mov rcx, rbp
call fcn.140023068
mov edi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
cmp edi, eax
jne 0x14003ca5d
mov edx, ebx
jmp 0x14003ca2c
mov eax, 4
cmp r12d, eax
jne 0x14003ca3c
lea edx, [rax - 2]
mov rcx, rbp
call fcn.140022e68
mov r9d, 5
xor edx, edx
cmp edi, edx
jne 0x14003ca5d
cmp ebx, r9d
mov rcx, r14
sete dl
add edx, r15d
call fcn.14002fe0c
xor edx, edx
mov edi, eax
mov dword [rsp + 0x30], eax
cmp edi, edx
je 0x14003ca60
mov ebx, r12d
mov edx, ebx
mov rcx, rbp
call fcn.140022e68
mov ecx, 0xa02
mov word [r13 + 8], cx
cmp eax, 6
jne 0x14003ca80
xor eax, eax
mov rcx, rax
jmp 0x14003ca91
lea rcx, [0x140000000]
cdqe
mov rcx, qword [rcx + rax*8 + 0xd6398]
mov qword [r13 + 0x10], rcx
call fcn.140018d64
movzx edx, byte [rsp + 0x348]
mov dword [r13 + 0xc], eax
mov byte [r13 + 0xa], r15b
mov eax, edx
cmp edx, r15d
je 0x14003cac2
mov dl, al
mov rcx, r13
call fcn.140018788
mov dl, byte [rsp + 0x348]
xor r10d, r10d
cmp edi, r10d
jne 0x140038635
jmp 0x14003814c
cmp dword [rsi + 8], r10d
je 0x14003cae6
movsxd r9, dword [rsi + 8]
imul r9, r9, 0x38
add r9, r14
jmp 0x14003cae9
mov r9, r10
mov r8d, dword [rsi + 4]
lea rcx, [r11 + 0xa8]
mov rdx, r13
call fcn.14006efc0
jmp 0x14003a64d
movsxd rcx, dword [rsi + 4]
mov rax, qword [r13 + 0x20]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.140028bf4
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp eax, r10d
je 0x1400387e9
cmp eax, 0x65
jne 0x140038635
mov edi, r10d
mov dword [rsp + 0x30], r10d
jmp 0x14003d48e
cmp dword [rsi + 4], r10d
jne 0x14003cb55
mov edx, dword [rsi + 8]
mov rcx, r13
call fcn.140035854
jmp 0x140037a24
mov eax, dword [rsi + 8]
add eax, r15d
xor eax, dword [r11 + 0xc8]
and eax, 3
xor dword [r11 + 0xc8], eax
jmp case.0x1400379c8.86
mov rbx, qword [rsi + 0x10]
mov rcx, r13
mov rdx, rbx
call fcn.140070428
mov r12, qword [rsp + 0x340]
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
cmp rbx, r10
je 0x14003c76f
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call fcn.14003587c
xor r10d, r10d
jmp 0x14003c76f
xor edx, edx
lea rcx, [rsp + 0x1e0]
lea r8d, [rdx + 0x38]
call sub.msvcrt.dll_memset
movsxd rdx, dword [rsi + 8]
lea rcx, [rsp + 0x1e0]
imul rdx, rdx, 0x38
add rdx, r14
mov qword [rsp + 0x208], r13
call fcn.140031438
lea rcx, [rsp + 0x1e0]
mov dl, r15b
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.140031978
mov r12, qword [rsp + 0x340]
xor r10d, r10d
cmp rax, r10
je 0x14003cc26
mov edx, dword [rsi + 4]
lea r9, [r12 + 0xa8]
mov r8, rax
mov rcx, r13
call fcn.14006ff8c
xor r10d, r10d
mov edi, eax
mov dword [rsp + 0x30], eax
mov eax, 0x2400
test word [rsp + 0x1e8], ax
jne 0x14003cc3f
cmp dword [rsp + 0x200], r10d
je 0x14003cc4f
lea rcx, [rsp + 0x1e0]
call fcn.140030e80
xor r10d, r10d
cmp edi, r10d
jne 0x14003863d
jmp 0x140038358
add dword [r13 + 0xd8], r15d
mov r8, qword [rsi + 0x10]
mov edx, dword [rsi + 4]
mov rcx, r13
call fcn.1400702b0
dec dword [r13 + 0xd8]
jmp 0x14003a64d
mov rax, qword [rsi + 0x10]
mov qword [rsp + 0x78], r10
mov rbx, qword [rax + 0x10]
cmp rbx, r10
je 0x14003d79e
mov rbp, qword [rbx]
cmp rbp, r10
je 0x14003d79e
lea rdx, [rsp + 0x78]
mov rcx, rbx
call qword [rbp + 0x30]
mov r12, qword [rsp + 0x340]
mov rdx, rbx
mov rcx, r12
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.14003587c
xor r10d, r10d
cmp edi, r10d
jne 0x14003863d
mov rax, qword [rsp + 0x78]
or r9d, 0xffffffff
xor r8d, r8d
mov qword [rax], rbx
mov edx, dword [rsi + 4]
lea eax, [r10 + 2]
mov rcx, r12
mov byte [rsp + 0x20], al
call fcn.140037590
mov rcx, qword [rsp + 0x78]
xor r10d, r10d
cmp rax, r10
je 0x14003d793
mov qword [rax + 0x38], rcx
add dword [rbx + 8], r15d
jmp 0x140037d3e
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
movsxd rdx, dword [rsi + 0xc]
imul rdx, rdx, 0x38
mov r13, qword [rax + rcx*8]
mov edi, dword [rdx + r14]
lea r10, [rdx + r14 + 0x38]
mov rbx, qword [r13 + 0x38]
movsxd r9, dword [r10]
mov rdx, qword [r11 + 0x70]
mov r12, qword [rbx]
xor eax, eax
cmp r9d, eax
mov rbp, qword [r12]
mov rcx, rax
jle 0x14003cd66
mov r8d, r15d
movsxd rax, r8d
add r8d, r15d
imul rax, rax, 0x38
add rax, r10
mov qword [rdx + rcx*8], rax
add rcx, r15
cmp rcx, r9
jl 0x14003cd4d
mov r8, qword [rsi + 0x10]
mov qword [rsp + 0x20], rdx
mov rcx, rbx
mov edx, edi
call qword [rbp + 0x40]
mov rdx, r12
mov r12, qword [rsp + 0x340]
mov rcx, r12
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.14003587c
xor r10d, r10d
cmp edi, r10d
jne 0x14003863d
mov rcx, rbx
call qword [rbp + 0x50]
xor r10d, r10d
mov byte [r13 + 2], r10b
cmp eax, r10d
je 0x14003a32a
jmp 0x14003a920
mov r15, rbx
mov r14, qword [rsp + 0x48]
jmp 0x14003a920
mov r15d, 1
jmp 0x14003cdba
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
movsxd rbx, dword [rsi + 0xc]
imul rbx, rbx, 0x38
mov rbp, qword [rax + rcx*8]
add rbx, r14
cmp byte [rbp + 2], r10b
jne 0x140038d7e
mov rax, qword [rbp + 0x38]
xor edx, edx
lea rcx, [rsp + 0x2b8]
mov r12, qword [rax]
lea r8d, [rdx + 0x38]
mov rdi, qword [r12]
call sub.msvcrt.dll_memset
mov qword [rsp + 0x2b8], rbx
test byte [rsi + 2], r15b
je 0x14003ce30
mov rcx, rbx
call fcn.140031218
mov eax, 0x4001
mov word [rbx + 8], ax
xor eax, eax
mov dword [rbx], eax
jmp 0x14003ce3e
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], r15w
mov r8d, dword [rsi + 8]
mov rcx, qword [rbp + 0x38]
lea rdx, [rsp + 0x2b8]
call qword [rdi + reloc.WLDAP32.dll_Ordinal_88]
mov rdx, r12
mov r12, qword [rsp + 0x340]
mov rcx, r12
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.14003587c
xor eax, eax
cmp dword [rsp + 0x2dc], eax
jle 0x14003ce9d
mov dl, r15b
mov rcx, rbx
call fcn.140031978
lea rdx, [0x1400f1278]
mov rcx, r12
mov r8, rax
call fcn.140031ef4
mov edi, dword [rsp + 0x2dc]
mov dword [rsp + 0x30], edi
movzx ecx, byte [rsp + 0x348]
mov eax, 2
test byte [rbx + 8], al
je 0x14003cec1
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x14003cec1
mov dl, cl
mov rcx, rbx
call fcn.140018788
mov rcx, rbx
call fcn.140031388
xor r10d, r10d
cmp eax, r10d
je 0x14003c76f
mov r11, qword [rsp + 0x340]
lea rdx, str.string_or_blob_too_big
mov rcx, r11
call fcn.140031ef4
mov edi, 0x12
jmp 0x14003d5cd
movsxd rcx, dword [rsi + 4]
mov rax, qword [r11 + 0x78]
mov rbp, qword [rax + rcx*8]
cmp byte [rbp + 2], r10b
jne case.0x1400379c8.86
mov rcx, qword [rbp + 0x38]
mov rbx, qword [rcx]
mov r12, qword [rbx]
call qword [r12 + SQLSetEnvAttr]
mov rcx, qword [rsp + 0x340]
mov rdx, rbx
mov edi, eax
mov dword [rsp + 0x30], eax
call fcn.14003587c
xor r10d, r10d
cmp edi, r10d
jne 0x140038635
mov rcx, qword [rbp + 0x38]
call qword [r12 + 0x50]
mov r12, qword [rsp + 0x38]
xor r10d, r10d
cmp eax, r10d
jne 0x14003c028
mov r11, qword [rsp + 0x340]
mov eax, dword [rsi + 8]
sub eax, r15d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r12 + rcx*8]
jmp 0x14003c381
mov ebp, dword [r13 + 0x30]
bts qword [r13 + 0x30], 0x1a
mov rax, qword [rsi + 0x10]
movsxd rbx, dword [rsi + 4]
mov r12, qword [rax + 0x10]
mov eax, 2
and ebp, 0x4000000
imul rbx, rbx, 0x38
add rbx, r14
test byte [rbx + 8], al
je 0x14003cfb9
cmp byte [rbx + 0xa], r15b
je 0x14003cfb9
mov dl, r15b
mov rcx, rbx
call fcn.140018788
xor r10d, r10d
mov edi, eax
jmp 0x14003cfbc
mov edi, r10d
cmp edi, r10d
jne 0x140038635
mov rax, qword [r12]
mov rdx, qword [rbx + 0x10]
mov rcx, r12
call qword [rax + Ordinal_157]
mov edi, eax
mov dword [rsp + 0x30], eax
xor eax, eax
cmp ebp, eax
jne 0x14003cfe8
btr qword [r13 + 0x30], 0x1a
mov rcx, qword [rsp + 0x340]
mov rdx, r12
call fcn.14003587c
mov r11, qword [rsp + 0x340]
xor r10d, r10d
and dword [r11 + 0xc8], 0xfffffffc
cmp edi, r10d
jne 0x140038635
jmp 0x140037d46
cmp byte [r13 + 0x61], r10b
jne 0x14003938f
mov rax, qword [rsi + 0x10]
mov rbx, qword [rax + 0x10]
cmp rbx, r10
je 0x14003d79e
mov r10, qword [rbx]
xor ecx, ecx
cmp r10, rcx
je 0x14003d79b
movsxd rdx, dword [rsi + 8]
cmp qword [r10 + 0x68], rcx
je 0x14003d4b7
movsxd rax, dword [rsi + 0xc]
mov r8, qword [r11 + 0x70]
mov bpl, byte [r13 + 0x66]
imul rax, rax, 0x38
xor r11d, r11d
add rax, r14
cmp edx, r11d
jle 0x14003d07b
mov qword [r8 + rcx*8], rax
add rcx, r15
add rax, 0x38
cmp rcx, rdx
jl 0x14003d06b
mov al, byte [rsi + 2]
lea r9, [rsp + 0x128]
mov rcx, rbx
mov byte [r13 + 0x66], al
call qword [r10 + 0x68]
mov rcx, qword [rsp + 0x340]
mov rdx, rbx
mov edi, eax
mov dword [rsp + 0x30], eax
mov byte [r13 + 0x66], bpl
call fcn.14003587c
xor r10d, r10d
cmp edi, r10d
jne 0x14003d0c5
cmp dword [rsi + 4], r10d
je 0x14003d0c5
mov rax, qword [rsp + 0x128]
mov qword [r13 + 0x38], rax
cmp dil, 0x13
jne 0x14003d117
mov rax, qword [rsi + 0x10]
cmp byte [rax + 0x1c], r10b
je 0x14003d117
mov ebx, 4
cmp word [rsi + 2], bx
jne 0x14003d0ed
mov edi, r10d
mov dword [rsp + 0x30], r10d
jmp 0x14003835d
mov eax, 5
cmp word [rsi + 2], ax
jne 0x14003d0ff
mov eax, 2
jmp 0x14003d103
movzx eax, word [rsi + 2]
mov r11, qword [rsp + 0x340]
mov byte [r11 + 0xc2], al
jmp 0x14003bb17
mov r11, qword [rsp + 0x340]
mov ebx, 4
add dword [r11 + 0x3c], r15d
jmp 0x14003bb17
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
mov rcx, qword [r13 + 0x20]
movsxd rdx, dword [rsi + 4]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x3c]
mov qword [rax], rdx
jmp 0x140037b9c
mov rdx, rsi
mov rcx, r11
call fcn.1400378a8
mov rcx, qword [r13 + 0x20]
movsxd rdx, dword [rsi + 4]
shl rdx, 5
xor r10d, r10d
mov r11, rax
mov rax, qword [rdx + rcx + 8]
mov edx, dword [rsi + 0xc]
mov ecx, r10d
cmp edx, r10d
je 0x14003d191
mov rcx, qword [rax + 8]
mov ecx, dword [rcx + 0x3c]
cmp ecx, edx
cmovb ecx, edx
cmp ecx, r10d
mov rax, qword [rax + 8]
mov rdx, qword [rax]
jle 0x14003d1a3
mov dword [rdx + 0xc0], ecx
movsxd rax, dword [rdx + 0xc0]
mov qword [r11], rax
jmp 0x14003835d
movzx ebx, word [rsi + 2]
mov rcx, r13
lea eax, [rbx - 1]
movsxd rdx, eax
lea rdx, [rdx*8 + 0x38]
call fcn.140016908
xor r10d, r10d
mov r11, rax
cmp rax, r10
je 0x14003938f
mov qword [rax], r10
mov rcx, qword [rsi + 0x10]
mov dword [r11 + 0x24], r10d
mov qword [rax + 8], rcx
mov byte [r11 + 0x29], bl
mov rcx, rsi
sub rcx, r12
mov r12, qword [rsp + 0x340]
movabs rax, 0x2aaaaaaaaaaaaaab
mov qword [r11 + 0x18], r12
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea eax, [r10 + 2]
mov dword [r11 + 0x20], edx
add byte [rsi], al
mov byte [rsi + 1], 0xf0
mov qword [rsi + 0x10], r11
jmp 0x14003d237
mov r12, qword [rsp + 0x340]
movsxd rbx, dword [rsi + 0xc]
mov rbp, qword [rsi + 0x10]
imul rbx, rbx, 0x38
add rbx, r14
cmp qword [rbp], rbx
je 0x14003d28b
movzx edx, byte [rbp + 0x29]
mov qword [rbp], rbx
sub edx, r15d
movsxd r8, edx
js 0x14003d28b
lea r9, [rbp + r8*8 + 0x30]
mov r13d, 8
mov eax, dword [rsi + 8]
sub r8, r15
add eax, edx
sub edx, r15d
cdqe
imul rax, rax, 0x38
add rax, r14
mov qword [r9], rax
sub r9, r13
cmp r8, r10
jge 0x14003d267
mov r13, qword [rsp + 0x40]
mov eax, 0x3e40
lea r8, [rbp + 0x30]
mov rcx, rbp
and word [rbx + 8], ax
or word [rbx + 8], r15w
mov rax, qword [rbp + 8]
movzx edx, byte [rbp + 0x29]
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbp + 0x24]
xor r10d, r10d
cmp eax, r10d
je 0x14003d30b
jle 0x14003d2dc
mov dl, r15b
mov rcx, rbx
call fcn.140031978
lea rdx, [0x1400f1278]
mov rcx, r12
mov r8, rax
call fcn.140031ef4
mov edi, dword [rbp + 0x24]
mov dword [rsp + 0x30], edi
mov rdx, qword [rsp + 0x340]
mov r9d, dword [rsi + 4]
mov r8d, dword [rbp + 0x20]
add rdx, 0x120
mov rcx, r13
call fcn.140034420
xor r10d, r10d
mov dword [rbp + 0x24], r10d
cmp edi, r10d
jne 0x140038635
test byte [rbx + 8], 0x12
je 0x140037d3e
movzx ecx, byte [rsp + 0x348]
mov eax, 2
test byte [rbx + 8], al
je 0x14003d33c
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x14003d33c
mov dl, cl
mov rcx, rbx
call fcn.140018788
xor r10d, r10d
mov rcx, rbx
call fcn.140031388
mov r11, qword [rsp + 0x340]
cmp eax, r10d
jne 0x14003cedd
jmp 0x140037d46
mov r11, qword [rsp + 0x340]
jmp 0x140037d52
mov r11, qword [rsp + 0x340]
xor r10d, r10d
jmp 0x140037d4b
xor r10d, r10d
mov r13, r8
jmp 0x1400399ee
test byte [r13 + 0x68], r15b
je 0x14003d438
mov eax, 0x10
test byte [r11 + 0xc8], al
jne 0x14003d438
mov r9, qword [rsi + 0x10]
cmp r9, r10
jne 0x14003d3b3
mov r9, qword [r11 + 0xf0]
cmp r9, r10
je 0x14003d430
cmp dword [r13 + 0xd4], r15d
jle 0x14003d40a
lea rdx, str.____s
mov r8, r9
mov rcx, r13
call fcn.140018388
mov r8, qword [rsp + 0x340]
mov rdx, qword [r13 + 0xf0]
mov r9, rax
mov ecx, r15d
mov rbx, rax
call qword [r13 + 0xe8]
xor r10d, r10d
cmp rbx, r10
je 0x14003d403
mov rdx, rbx
mov rcx, r13
call fcn.140016698
xor r10d, r10d
mov ebx, 4
jmp 0x14003d421
mov rdx, qword [r13 + 0xf0]
mov r8, r11
mov ecx, r15d
call qword [r13 + 0xe8]
xor r10d, r10d
mov dl, byte [rsp + 0x348]
mov r11, qword [rsp + 0x340]
mov r9d, dword [rsp + 0x358]
mov eax, dword [0x1401380f0]
cmp dword [rsi + 4], eax
jl 0x14003d483
cmp byte [rsi], 0xa8
je case.0x1400379c8.86
cmp dword [r11 + 0x90], r15d
mov edx, r15d
jle 0x14003d47f
mov eax, reloc.ODBC32.dll_SQLAllocHandle
mov rcx, qword [r11 + 0x88]
cmp byte [rax + rcx], 0x11
jne 0x14003d46f
mov dword [rax + rcx + 4], r10d
add edx, r15d
add rax, 0x18
cmp edx, dword [r11 + 0x90]
jl 0x14003d45d
mov dword [rsi + 4], r10d
add dword [rsi + 4], r15d
add dword [r11 + 0xec], r15d
mov eax, dword [rsi + 8]
sub eax, r15d
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r12 + rcx*8]
jmp 0x140037ff3
mov r13, qword [rsp + 0x40]
jmp 0x140037e88
mov r14, qword [rsp + 0x48]
jmp 0x140037d5a
mov dl, byte [rsp + 0x348]
jmp 0x140037dda
mov ecx, dword [rsi + 4]
mov dword [r11 + 0x38], ecx
mov al, byte [rsi + 8]
mov dword [r11 + 0x34], ebx
mov byte [r11 + 0xc2], al
cmp ecx, r10d
je 0x14003d582
mov rcx, r11
cmp word [rsi + 2], r10w
je 0x14003d53d
movzx r8d, word [rsi + 2]
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0xd50d0]
call fcn.140031ef4
mov r9, qword [rsi + 0x10]
mov rdi, qword [rsp + 0x340]
xor eax, eax
cmp r9, rax
je 0x14003d555
mov r8, qword [rdi + 0xa8]
lea rdx, str._z:__s
mov rcx, r13
call fcn.140018388
mov qword [rdi + 0xa8], rax
jmp 0x14003d555
mov r8, qword [rsi + 0x10]
lea rdx, [0x1400f1278]
call fcn.140031ef4
mov rdi, qword [rsp + 0x340]
mov rax, qword [rdi + 0xa8]
mov r9, qword [rdi + 0xf0]
mov ecx, dword [rsi + 4]
lea rdx, str.abort_at__d_in___s_:__s
mov r8d, ebx
mov qword [rsp + 0x20], rax
call fcn.1400184ec
mov r11, qword [rsp + 0x340]
mov rcx, r11
call fcn.140033fc8
mov r12, qword [rsp + 0x340]
mov edi, eax
mov eax, 5
cmp edi, eax
jne 0x14003d5a7
mov dword [r12 + 0x38], eax
jmp 0x140038726
mov rax, qword [rsp + 0x340]
mov eax, dword [rax + 0x38]
neg eax
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x140038726
mov ecx, 0x152d5
call fcn.140084b2c
mov edi, eax
mov r12, qword [rsp + 0x340]
xor r10d, r10d
jmp 0x14003863d
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r11
call fcn.140031ef4
mov edi, 5
jmp 0x14003d5cd
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r11
call fcn.140031ef4
mov edi, 5
mov r12, qword [rsp + 0x340]
xor r10d, r10d
jmp 0x140038642
sub rsi, qword [rsp + 0x38]
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
xor eax, eax
mov dword [rdi + 0x34], edx
mov byte [r12 + 0x5f], al
mov r12, qword [rsp + 0x340]
mov edi, ecx
mov dword [r12 + 0x38], ecx
jmp 0x140038726
lea rdx, str.no_such_savepoint:__s
mov r8, rbp
mov rcx, r11
call fcn.140031ef4
mov edi, ebx
jmp 0x14003d607
mov edi, 8
jmp 0x140038635
mov eax, 5
cmp dil, al
jne 0x140038635
sub rsi, r12
mov r12, qword [rsp + 0x340]
movabs rax, 0x2aaaaaaaaaaaaaab
mov dword [r12 + 0x38], edi
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r12 + 0x34], edx
jmp 0x140038726
mov edi, 0x204
jmp 0x140038635
mov edi, reloc.Cabinet.dll_FCIFlushCabinet
jmp 0x14003d5cd
mov r12, qword [rsp + 0x340]
mov r14d, 7
lea ebx, [r14 - 6]
mov edi, r14d
jmp 0x140038648
mov r12, qword [rsp + 0x340]
mov edi, 6
lea eax, [rdi - 4]
mov byte [r12 + 0xc2], al
jmp 0x14003d5d5
mov edi, 7
mov rcx, r13
call fcn.14004e03c
mov r14d, 7
cmp edi, r14d
je 0x140039395
mov r12, qword [rsp + 0x340]
mov ebx, 1
xor r10d, r10d
jmp 0x140038648
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r11
mov edi, r15d
call fcn.140031ef4
jmp 0x14003d5cd
mov dl, r15b
mov rcx, rbp
call fcn.140031978
lea rdx, [0x1400f1278]
mov r8, rax
mov rcx, qword [rsp + 0x340]
call fcn.140031ef4
jmp 0x14003d5cd
lea rax, str.into
lea r8, str.out_of
cmp ebx, r9d
mov edi, r15d
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmove r8, rax
jmp 0x14003d760
call qword [rbp + 0x38]
jmp 0x14003938f
xor r10d, r10d
mov edi, 6
jmp 0x140038635
cmp qword [r11 + 0x50], r10
jle 0x14003d7d9
mov eax, 2
mov dword [r11 + 0x38], 0x313
lea rdx, str.FOREIGN_KEY_constraint_failed
mov byte [r11 + 0xc2], al
mov rcx, r11
call fcn.140031ef4
mov edi, r15d
jmp 0x14003d5cd
mov rax, qword [r11]
cmp dword [rax + 0x280], r10d
je 0x14003d801
cmp dword [r11 + 0x40], r10d
je 0x14003d801
mov edx, r15d
mov rcx, r11
call fcn.140033e84
mov r11, qword [rsp + 0x340]
xor r10d, r10d
mov eax, dword [r11 + 0x30]
mov edi, r10d
add eax, 2
or eax, r15d
mov dword [r11 + 0x30], eax
movsxd rbp, dword [rsi + 4]
imul rbp, rbp, 0x38
add rbp, r14
mov qword [r11 + 0xa0], rbp
cmp dword [rsi + 8], r10d
jle 0x14003d88a
lea rbx, [rbp + 8]
mov eax, 0x1000
test word [rbx], ax
je 0x14003d851
movsxd rcx, edi
imul rcx, rcx, 0x38
add rcx, rbp
call fcn.140030ba8
xor ecx, ecx
cmp eax, ecx
jne 0x14003938f
movzx eax, word [rbx]
mov ecx, 0x202
and ax, cx
mov ecx, 2
cmp ax, cx
jne 0x14003d86f
lea rcx, [rbx - 8]
call fcn.140030b4c
add edi, r15d
add rbx, 0x38
cmp edi, dword [rsi + 8]
jl 0x14003d82e
mov r11, qword [rsp + 0x340]
xor r10d, r10d
lea ebx, [r10 + 4]
cmp byte [r13 + 0x61], r10b
jne 0x14003938f
test byte [r13 + 0x68], bl
je 0x14003d8b0
mov rdx, qword [r13 + 0xf0]
xor r9d, r9d
mov r8, r11
mov ecx, ebx
call qword [r13 + 0xe8]
sub rsi, r12
mov r12, qword [rsp + 0x340]
movabs rax, 0x2aaaaaaaaaaaaaab
mov edi, 0x64
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
add edx, r15d
mov dword [r12 + 0x34], edx
jmp 0x140038726
mov ebx, dword [rsi + 4]
movzx eax, byte [r13 + 0x5f]
mov ecx, dword [rsi + 8]
cmp ebx, eax
je 0x14003d9aa
cmp ecx, r10d
je 0x14003d913
mov edx, 0x204
mov rcx, r13
call fcn.140082f48
mov byte [r13 + 0x5f], r15b
jmp 0x14003d948
cmp ebx, r10d
je 0x14003d92d
cmp dword [r13 + 0xd0], r10d
jle 0x14003d92d
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
jmp 0x14003d5e4
mov edx, r15d
mov rcx, r11
call fcn.140033f78
mov edi, eax
xor eax, eax
cmp edi, eax
jne 0x14003871e
mov byte [r13 + 0x5f], bl
mov rdi, qword [rsp + 0x340]
mov rcx, rdi
call fcn.140033fc8
mov ecx, 5
cmp eax, ecx
jne 0x14003d98e
sub rsi, r12
movabs rax, 0x2aaaaaaaaaaaaaab
imul rsi
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
sub r15b, bl
mov dword [rdi + 0x34], edx
mov byte [r13 + 0x5f], r15b
jmp 0x14003d641
mov rcx, r13
call fcn.140082ac8
mov r11d, dword [rdi + 0x38]
neg r11d
sbb edi, edi
and edi, 0xffffff9c
add edi, 0x65
jmp 0x14003871e
lea rax, str.cannot_rollback___no_transaction_is_active
cmp ecx, r10d
lea rdx, str.cannot_commit___no_transaction_is_active
cmovne rdx, rax
lea rax, str.cannot_start_a_transaction_within_a_transaction
cmp ebx, r10d
cmove rdx, rax
jmp 0x14003d7c9