Function at 0x14015ab70
Capabilities:
Encrypt data using speck
Reference sql statements

Disassembly:
mov rax, rsp
mov qword [rax + 8], rcx
push rbp
push rbx
push r13
lea rbp, [rax - 0x278]
sub rsp, 0x360
mov qword [rax - 0x20], rsi
mov qword [rax - 0x28], rdi
mov qword [rax - 0x30], r12
mov r13, rcx
mov qword [rax - 0x38], r14
mov qword [rax - 0x40], r15
mov rax, qword [rcx + 0x90]
mov rdi, qword [r13]
mov r14, qword [r13 + 0x70]
movzx r15d, byte [rdi + 0x64]
xor ecx, ecx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rax
mov r12d, ecx
mov dword [rbp + 0x298], ecx
xor al, al
mov dword [rsp + 0x60], ecx
mov ebx, ecx
mov qword [rsp + 0x50], rcx
mov rcx, r13
mov byte [rbp + 0x288], r15b
mov qword [rsp + 0x38], rdi
mov byte [rbp + 0x290], al
mov qword [rsp + 0x58], r14
call fcn.14015aa20
or rax, 0xffffffffffffffff
cmp qword [rdi + 0x208], rbx
je 0x14015ac19
mov ecx, dword [rdi + 0x218]
mov eax, dword [r13 + 0xec]
xor edx, edx
div ecx
sub ecx, edx
mov esi, ecx
jmp 0x14015ac1c
mov rsi, rax
cmp dword [r13 + 0x38], 7
mov qword [rsp + 0x48], rsi
movaps xmmword [rsp + 0x320], xmm6
mov r10d, 1
je 0x140161aad
xor r11d, r11d
mov dword [r13 + 0x38], r11d
mov qword [r13 + 0x50], r11
mov qword [r13 + 0xa8], r11
mov eax, dword [rdi + 0x198]
mov dword [rdi + 0x290], r11d
test eax, eax
jne 0x1401617df
movsxd rax, dword [r13 + 0x34]
mov r9, qword [rsp + 0x40]
mov r8d, 0x2400
xorps xmm6, xmm6
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
inc rbx
or edx, 0xffffffff
mov qword [rsp + 0x30], rsi
mov qword [rsp + 0x50], rbx
movzx ebx, byte [rsi]
cmp ebx, 0xb3
ja case.0x14015acb5.88
movsxd rax, ebx
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x161d28]
lea rax, [0x140000000]
add rcx, rax
jmp rcx
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
sub rcx, r9
imul r8, rax, 0x38
mov eax, 4
mov word [r8 + r14 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rax, rdx
cdqe
mov qword [r8 + r14], rax
jmp 0x14016128c
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
mov eax, pe_nt_image_headers64
add rsi, 0x18
mov word [rdx + r14 + 8], ax
jmp 0x14015ac7b
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 0xc]
dec eax
cdqe
mov qword [rcx + r14], rax
mov eax, 4
mov word [rcx + r14 + 8], ax
cmp dword [rsi + 8], 0
jne 0x14015de95
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x14015ac7b
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
lea rcx, [rax + rax*2]
mov eax, dword [r9 + rcx*8 + 8]
dec eax
cdqe
jmp 0x14015ad09
mov rbx, qword [rsp + 0x30]
mov r13, qword [rbp + 0x280]
movsxd rax, dword [rbx + 4]
sub rbx, r9
imul r8, rax, 0x38
mov eax, 4
movsxd rcx, dword [r8 + r14]
mov word [r8 + r14 + 8], ax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rbx
mov rbx, qword [rsp + 0x50]
sar rdx, 2
mov rax, rdx
lea rcx, [rcx + rcx*2]
shr rax, 0x3f
lea rsi, [r9 + rcx*8]
add rax, rdx
add rsi, 0x18
cdqe
mov qword [r8 + r14], rax
mov r8d, 0x2400
jmp 0x14015ac7b
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
je 0x14015bdc5
mov rcx, qword [rsp + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, r9
imul rcx
mov rbx, rdx
sar rbx, 2
mov rax, rbx
shr rax, 0x3f
add rbx, rax
mov rax, qword [rsp + 0x30]
cmp dword [rax + 4], 0
jne 0x1401612b6
mov rcx, qword [r13 + 0x110]
test rcx, rcx
je 0x1401612b6
mov rax, qword [rcx + 8]
dec dword [r13 + 0x120]
mov qword [r13 + 0x110], rax
mov rax, qword [r13 + 0x40]
add qword [rdi + 0x80], rax
mov qword [rdi + 0x78], rax
call fcn.140162ac0
mov rcx, qword [rsp + 0x30]
cmp dword [rcx + 8], 4
jne 0x14015aea5
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 0x90]
mov eax, dword [rax + rcx*8 + 8]
dec eax
mov r9, qword [r13 + 0x90]
mov r14, qword [r13 + 0x70]
cdqe
lea rcx, [rax + rax*2]
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x58], r14
lea rsi, [r9 + rcx*8]
mov r10d, 1
xor r11d, r11d
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
mov r8d, 0x2400
add rsi, 0x18
jmp 0x14015ac7b
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x70]
test word [rcx + 8], r8w
je 0x14015af2b
call fcn.140105190
mov r9, qword [rsp + 0x40]
xor r11d, r11d
mov rcx, rax
mov rax, qword [rsp + 0x30]
lea r10d, [r11 + 1]
movsxd rax, dword [rax + 4]
mov r8d, 0x2400
mov qword [rcx], rax
jmp 0x14015bdc5
mov eax, 4
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
jmp 0x14015bdc5
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x70]
test word [rdx + 8], r8w
je 0x14015af8e
mov rcx, rdx
call fcn.140105190
mov r9, qword [rsp + 0x40]
xor r11d, r11d
mov rdx, rax
mov rax, qword [rsp + 0x30]
lea r10d, [r11 + 1]
mov rax, qword [rax + 0x10]
mov r8d, 0x2400
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14015bdc5
mov eax, 4
mov word [rdx + 8], ax
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rcx, qword [rax]
mov qword [rdx], rcx
jmp 0x14015bdc5
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x70]
test word [rdx + 8], r8w
je 0x14015afe6
mov rcx, rdx
call fcn.140105190
mov r9, qword [rsp + 0x40]
xor r11d, r11d
mov rdx, rax
lea r10d, [r11 + 1]
mov r8d, 0x2400
lea eax, [r11 + 8]
jmp 0x14015af93
mov eax, 4
mov word [rdx + 8], ax
mov eax, 8
jmp 0x14015af93
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 8]
imul rsi, rax, 0x38
add rsi, qword [r13 + 0x70]
test word [rsi + 8], r8w
je 0x14015b028
mov rcx, rsi
call fcn.140105190
xor r11d, r11d
mov r8d, 0x2400
mov rsi, rax
lea r10d, [r11 + 1]
jmp 0x14015b031
mov eax, 4
mov word [rsi + 8], ax
mov rdi, qword [rdi + 0x10]
or rcx, 0xffffffffffffffff
test rdi, rdi
jne 0x14015b043
mov eax, r11d
jmp 0x14015b054
mov rax, rcx
inc rax
cmp byte [rdi + rax], 0
jne 0x14015b046
and eax, 0x3fffffff
mov rbx, qword [rsp + 0x30]
mov dword [rbx + 4], eax
cmp r15b, 1
je 0x14015b1cb
test rdi, rdi
jne 0x14015b08b
test word [rsi + 8], r8w
je 0x14015b07f
mov rcx, rsi
call fcn.14017ac20
jmp 0x14015b163
mov word [rsi + 8], r10w
xor edi, edi
jmp 0x14015b163
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x14015b09d
mov r15d, dword [rax + 0x88]
jmp 0x14015b0a3
mov r15d, 0x3b9aca00
mov rbx, rcx
inc rbx
cmp byte [rdi + rbx], 0
jne 0x14015b0a6
mov r14d, 0x202
test word [rsi + 8], r8w
jne 0x14015b0c2
cmp dword [rsi + 0x20], 0
je 0x14015b0ca
mov rcx, rsi
call fcn.14017ab50
lea rax, [fcn.1401422c0]
mov qword [rsi + 0x10], rdi
test rax, rax
jne 0x14015b12c
mov rax, qword [rsi + 0x28]
mov qword [rsi + 0x18], rdi
test rax, rax
je 0x14015b11c
cmp rdi, qword [rax + 0x1f0]
jae 0x14015b11c
cmp rdi, qword [rax + 0x1e0]
jb 0x14015b105
mov eax, pe_nt_image_headers64
xor edi, edi
mov dword [rsi + 0x20], eax
jmp 0x14015b138
cmp rdi, qword [rax + 0x1e8]
jb 0x14015b11c
movzx eax, word [rax + 0x1a6]
xor edi, edi
mov dword [rsi + 0x20], eax
jmp 0x14015b138
mov rcx, rdi
call qword [0x140288b88]
xor edi, edi
mov dword [rsi + 0x20], eax
jmp 0x14015b138
xor edi, edi
mov r14d, 0xa02
mov qword [rsi + 0x30], rdi
mov eax, ebx
mov word [rsi + 8], r14w
mov byte [rsi + 0xa], 1
btr eax, 0x1f
mov dword [rsi + 0xc], eax
movsxd rax, r15d
cmp rbx, rax
jg 0x14016139e
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
test byte [rsi + 8], 2
mov dword [rbp + 0x298], edi
mov r12d, edi
movzx ecx, r15b
je 0x14015b191
movzx eax, byte [rsi + 0xa]
cmp eax, ecx
je 0x14015b191
movzx edx, cl
mov rcx, rsi
call fcn.140165120
test eax, eax
jne 0x140161a9e
mov dword [rsi + 0x20], edi
mov rdi, qword [rsp + 0x30]
mov eax, 0x800
or word [rsi + 8], ax
cmp byte [rdi + 1], 0xf9
jne 0x14015b1b6
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rsp + 0x38]
call fcn.140124cd0
mov byte [rdi + 1], 0xf9
mov rax, qword [rsi + 0x10]
mov rbx, rdi
mov qword [rdi + 0x10], rax
mov eax, dword [rsi + 0xc]
mov dword [rdi + 4], eax
mov rdi, qword [rsp + 0x38]
mov eax, dword [rdi + 0x88]
cmp dword [rbx + 4], eax
jg 0x140161825
mov byte [rbx], SQLSetEnvAttr
mov r8d, 0x2400
jmp 0x14015b1ef
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rdx, rax, 0x38
add rdx, qword [r13 + 0x70]
test word [rdx + 8], r8w
je 0x14015b215
mov rcx, rdx
call fcn.140105190
mov r8d, 0x2400
mov rdx, rax
jmp 0x14015b21e
mov eax, 4
mov word [rdx + 8], ax
mov eax, 0xa02
xor r11d, r11d
mov word [rdx + 8], ax
mov rax, qword [rbx + 0x10]
lea r10d, [r11 + 1]
mov qword [rdx + 0x10], rax
mov eax, dword [rbx + 4]
mov byte [rdx + 0xa], r15b
mov dword [rdx + 0xc], eax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
test eax, eax
jle 0x14015ee57
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
cmp qword [rcx + r14], rax
jne 0x14015ee57
mov r9, qword [rsp + 0x40]
mov eax, 0xa10
mov word [rdx + 8], ax
jmp 0x14015bdc5
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 8]
imul rax, rax, 0x38
add rax, qword [r13 + 0x70]
test word [rax + 8], r8w
je 0x14015b2aa
mov rcx, rax
call fcn.140105190
xor r11d, r11d
mov r8d, 0x2400
lea r10d, [r11 + 1]
jmp 0x14015b2b3
mov ecx, 4
mov word [rax + 8], cx
mov edi, dword [rbx + 0xc]
mov esi, r10d
mov ecx, 0x101
sub edi, dword [rbx + 8]
cmp dword [rbx + 4], 0
lea rbx, [rax + 8]
cmovne si, cx
mov dword [rax + 0xc], r11d
mov word [rbx], si
test edi, edi
jle 0x14015ee57
nop dword [rax]
test word [rbx + 0x38], r8w
lea rbx, [rbx + 0x38]
je 0x14015b303
lea rcx, [rbx - 8]
call fcn.14017ac20
xor r11d, r11d
mov r8d, 0x2400
lea r10d, [r11 + 1]
jmp 0x14015b307
mov word [rbx], r10w
dec edi
mov word [rbx], si
mov dword [rbx + 4], r11d
test edi, edi
jg 0x14015b2e0
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
jmp 0x14015bdc5
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov eax, 0xff41
add rcx, r14
and word [rcx + 8], ax
or word [rcx + 8], 1
jmp 0x14015bdc5
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rbx, rax, 0x38
add rbx, qword [r13 + 0x70]
test word [rbx + 8], r8w
je 0x14015b36e
mov rcx, rbx
call fcn.140105190
xor r11d, r11d
mov rbx, rax
jmp 0x14015b377
mov eax, 4
mov word [rbx + 8], ax
mov rax, qword [rsp + 0x30]
mov rcx, rbx
mov rdx, qword [rax + 0x10]
test rdx, rdx
jne 0x14015b3a2
mov edx, dword [rax + 4]
call fcn.140164f30
mov rcx, rbx
call fcn.140164290
test eax, eax
jne 0x140161aa3
jmp 0x14015b3b3
movsxd r8, dword [rax + 4]
xor r9d, r9d
mov qword [rsp + 0x20], r11
call fcn.140164cb0
mov byte [rbx + 0xa], r15b
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x14015bdbf
mov rbx, qword [rsp + 0x30]
mov eax, dword [rbx + 4]
dec eax
cdqe
imul rdi, rax, 0x38
add rdi, qword [r13 + 0x88]
mov rcx, rdi
call fcn.1401650f0
test eax, eax
jne 0x14016184b
movsxd rax, dword [rbx + 8]
mov edx, 0x2400
imul rbx, rax, 0x38
add rbx, r14
test word [rbx + 8], dx
je 0x14015b419
mov rcx, rbx
call fcn.14017ac20
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
movups xmm0, xmmword [rdi]
mov ecx, 0xebff
movups xmmword [rbx], xmm0
movsd xmm1, qword [rdi + 0x10]
mov rdi, qword [rsp + 0x38]
movsd qword [rbx + 0x10], xmm1
movzx eax, word [rbx + 8]
and ax, cx
mov ecx, 0x840
or ax, cx
mov word [rbx + 8], ax
jmp 0x14015bdbf
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdi, r14
imul rbx, rax, 0x38
add rbx, r14
nop dword [rax]
mov rdx, rdi
mov rcx, rbx
call fcn.140164920
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14015b496
mov rcx, rbx
call fcn.1401648c0
test eax, eax
jne 0x140161a9e
add rdi, 0x38
add rbx, 0x38
dec esi
jne 0x14015b470
mov rdi, qword [rsp + 0x38]
jmp 0x14015b3b7
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov esi, dword [rcx + 0xc]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
add rdi, r14
imul rbx, rax, 0x38
add rbx, r14
nop word [rax + rax]
mov r8d, 0x1000
mov rdx, rdi
mov rcx, rbx
call fcn.140164f80
mov eax, 0x1000
test word [rbx + 8], ax
je 0x14015b4fc
mov rcx, rbx
call fcn.1401648c0
test eax, eax
jne 0x140161a9e
mov eax, esi
dec esi
test eax, eax
je 0x14015b4a2
add rbx, 0x38
add rdi, 0x38
jmp 0x14015b4d0
mov rcx, qword [rsp + 0x30]
mov r8d, 0x1000
movsxd rax, dword [rcx + 4]
imul rdx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rdx, r14
add rcx, r14
call fcn.140164f80
jmp 0x14015b3b7
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
add rcx, r14
imul rdx, rax, 0x38
mov rax, qword [rdx + r14]
test word [rcx + 8], r8w
je 0x14015b56e
mov rdx, rax
call fcn.14017c160
jmp 0x14015b3b7
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 8], ax
jmp 0x14015bdc5
cmp qword [r13 + 0x58], 0
jg 0x1401613d4
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
mov r12d, r11d
mov dword [rbp + 0x298], r11d
add rsi, 0x18
jmp 0x14015ac7b
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul r13, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 0xc]
add r13, r14
add rdi, r14
imul rbx, rax, 0x38
movzx eax, byte [rdi + 8]
add rbx, r14
movzx r14d, word [r13 + 8]
or al, r14b
test al, 1
je 0x14015b611
test word [rbx + 8], r8w
je 0x14015b5fd
mov rcx, rbx
call fcn.14017ac20
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
jmp 0x14015b3b7
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
mov word [rbx + 8], r10w
jmp 0x14015bdc5
test r14b, 0x12
jne 0x14015b628
xor r8d, r8d
movzx edx, r15b
mov rcx, r13
call fcn.140164fc0
jmp 0x14015b63b
mov eax, 0x4000
test ax, r14w
je 0x14015b656
mov rcx, r13
call fcn.140164290
test eax, eax
jne 0x14015cc20
movzx r14d, word [r13 + 8]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x4000
movzx esi, word [rdi + 8]
test sil, 0x12
jne 0x14015b671
xor r8d, r8d
movzx edx, r15b
mov rcx, rdi
call fcn.140164fc0
jmp 0x14015b67e
test ax, si
je 0x14015b692
mov rcx, rdi
call fcn.140164290
test eax, eax
jne 0x14015cc20
movzx esi, word [rdi + 8]
mov eax, 0xfffd
and si, ax
mov eax, dword [rdi + 0xc]
mov r8, qword [rsp + 0x38]
add eax, dword [r13 + 0xc]
movsxd r15, eax
movsxd rax, dword [r8 + 0x88]
cmp r15, rax
jg 0x14016181b
xor edx, edx
cmp rbx, rdi
mov rcx, rbx
mov r8d, edx
lea edx, [r15 + 3]
sete r8b
call fcn.140164590
test eax, eax
jne 0x14015cc20
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], 2
cmp rbx, rdi
je 0x14015b6f9
movsxd r8, dword [rdi + 0xc]
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rbx + 0x10]
call sub.msvcrt.dll_memcpy
mov word [rdi + 8], si
movsxd rcx, dword [rdi + 0xc]
movsxd r8, dword [r13 + 0xc]
mov rdx, qword [r13 + 0x10]
add rcx, qword [rbx + 0x10]
call sub.msvcrt.dll_memcpy
mov rdi, qword [rsp + 0x38]
mov word [r13 + 8], r14w
mov rax, qword [rbx + 0x10]
mov r14, qword [rsp + 0x58]
mov byte [r15 + rax], 0
mov rax, qword [rbx + 0x10]
mov byte [r15 + rax + 1], 0
mov rax, qword [rbx + 0x10]
mov byte [r15 + rax + 2], 0
mov eax, 0x200
mov dword [rbx + 0xc], r15d
or word [rbx + 8], ax
movzx r15d, byte [rbp + 0x288]
jmp 0x14015b3b3
mov rdi, qword [rsp + 0x30]
movsxd rax, dword [rdi + 4]
imul rsi, rax, 0x38
add rsi, r14
movzx eax, word [rsi + 8]
movzx ebx, ax
and bx, 0x2c
jne 0x14015b788
test al, 0x12
je 0x14015b785
mov rcx, rsi
call fcn.1400d5c60
xor r11d, r11d
movzx ebx, ax
jmp 0x14015b788
mov ebx, r11d
movsxd rax, dword [rdi + 8]
imul rdi, rax, 0x38
add rdi, r14
movzx eax, word [rdi + 8]
movzx ecx, ax
and cx, 0x2c
jne 0x14015b7b4
test al, 0x12
je 0x14015b7b1
mov rcx, rdi
call fcn.1400d5c60
movzx ecx, ax
jmp 0x14015b7b4
mov ecx, r11d
mov rax, qword [rsp + 0x30]
movzx r10d, word [rsi + 8]
and cl, bl
movsxd rax, dword [rax + 0xc]
imul r14, rax, 0x38
movzx eax, r10w
or ax, word [rdi + 8]
add r14, qword [rsp + 0x58]
test cl, 4
je 0x14015b984
mov rax, qword [rsp + 0x30]
mov r9, qword [rsi]
mov r8, qword [rdi]
movzx ecx, byte [rax]
sub ecx, 0x6a
je 0x14015b926
dec ecx
je 0x14015b908
dec ecx
je 0x14015b85d
dec ecx
je 0x14015b82b
test r9, r9
je 0x14015ba83
cmp r9, 0xffffffffffffffff
mov rax, r8
mov ecx, 1
cmove r9, rcx
cqo
idiv r9
mov r8, rdx
jmp 0x14015b962
test r9, r9
je 0x14015ba83
cmp r9, 0xffffffffffffffff
jne 0x14015b84d
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x14015b98c
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x14015b962
test r9, r9
jle 0x14015b89b
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x14015b98c
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jl 0x14015b98c
imul r8, r9
jmp 0x14015b962
jns 0x14015b902
test r8, r8
jle 0x14015b8c3
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jl 0x14015b98c
imul r8, r9
jmp 0x14015b962
jns 0x14015b902
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x14015b98c
cmp r8, rax
je 0x14015b98c
movabs rax, 0x8000000000000001
cqo
idiv r9
mov rcx, rax
mov rax, r8
neg rax
cmp rax, rcx
jg 0x14015b98c
imul r8, r9
jmp 0x14015b962
movabs rax, 0x8000000000000000
cmp r9, rax
jne 0x14015b921
test r8, r8
jns 0x14015b98c
sub r8, rax
jmp 0x14015b962
neg r9
jmp 0x14015b929
test r9, r9
js 0x14015b944
test r8, r8
jle 0x14015b95f
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jl 0x14015b98c
jmp 0x14015b95f
test r8, r8
jns 0x14015b95f
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jg 0x14015b98c
add r8, r9
mov rdi, qword [rsp + 0x38]
mov eax, 0x3e40
mov qword [r14], r8
and word [r14 + 8], ax
or word [r14 + 8], 4
mov r14, qword [rsp + 0x58]
jmp 0x14015b3b7
test al, 1
jne 0x14015ba83
test r10b, 8
je 0x14015b998
movsd xmm2, qword [rsi]
jmp 0x14015b9be
test r10b, 0x24
je 0x14015b9a8
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rsi]
jmp 0x14015b9be
test r10b, 0x12
je 0x14015b9bb
mov rcx, rsi
call fcn.1401014b0
movaps xmm2, xmm0
jmp 0x14015b9be
movaps xmm2, xmm6
movzx eax, word [rdi + 8]
test al, 8
je 0x14015b9cc
movsd xmm0, qword [rdi]
jmp 0x14015b9eb
test al, 0x24
je 0x14015b9da
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rdi]
jmp 0x14015b9eb
test al, 0x12
je 0x14015b9e8
mov rcx, rdi
call fcn.1401014b0
jmp 0x14015b9eb
movaps xmm0, xmm6
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax]
sub edx, 0x6a
je 0x14015ba52
dec edx
je 0x14015ba4c
dec edx
je 0x14015ba46
dec edx
je 0x14015ba38
mov rcx, rsi
call fcn.1401633e0
mov rcx, rdi
mov rbx, rax
call fcn.1401633e0
test rbx, rbx
je 0x14015ba83
cmp rbx, 0xffffffffffffffff
mov ecx, 1
cqo
cmove rbx, rcx
xorps xmm0, xmm0
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x14015ba56
ucomisd xmm2, xmm6
jp 0x14015ba40
je 0x14015ba83
divsd xmm0, xmm2
jmp 0x14015ba56
mulsd xmm0, xmm2
jmp 0x14015ba56
subsd xmm0, xmm2
jmp 0x14015ba56
addsd xmm0, xmm2
call fcn.14013f2a0
test eax, eax
jne 0x14015ba83
mov rdi, qword [rsp + 0x38]
mov eax, 0x3e40
movsd qword [r14], xmm0
and word [r14 + 8], ax
or word [r14 + 8], 8
mov r14, qword [rsp + 0x58]
jmp 0x14015b3b7
mov r8d, 0x2400
test word [r14 + 8], r8w
je 0x14015baa7
mov rcx, r14
call fcn.14017ac20
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
jmp 0x14015b3b7
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov r10d, 1
mov word [r14 + 8], r10w
mov r14, qword [rsp + 0x58]
xor r11d, r11d
jmp 0x14015bdc5
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x14015bdc5
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r8w
je 0x14015baf4
xor edx, edx
call fcn.14017c160
jmp 0x14015b3b7
mov eax, 4
mov qword [rcx], r11
mov word [rcx + 8], ax
jmp 0x14015bdc5
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
add rdi, r14
movsxd rax, dword [rax + 0xc]
add rcx, r14
imul rsi, rax, 0x38
movzx eax, byte [rcx + 8]
or al, byte [rdi + 8]
add rsi, r14
test al, 1
je 0x14015bb63
test word [rsi + 8], r8w
je 0x14015bb54
mov rcx, rsi
call fcn.14017ac20
mov rdi, qword [rsp + 0x38]
jmp 0x14015b3b7
mov word [rsi + 8], r10w
mov rdi, qword [rsp + 0x38]
jmp 0x14015bdc5
call fcn.1401633e0
mov rcx, rdi
mov rbx, rax
call fcn.1401633e0
mov rdx, qword [rsp + 0x30]
movzx edx, byte [rdx]
mov rcx, rax
cmp dl, 0x66
jne 0x14015bb88
and rbx, rax
jmp 0x14015bbfd
cmp dl, 0x67
jne 0x14015bb92
or rbx, rax
jmp 0x14015bbfd
test rax, rax
je 0x14015bbfd
jns 0x14015bbac
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x14015bbb2
neg rcx
cmp rcx, 0x40
jl 0x14015bbce
test rbx, rbx
jns 0x14015bbc5
cmp dl, 0x68
je 0x14015bbc5
or rax, 0xffffffffffffffff
movsxd rbx, eax
jmp 0x14015bbfd
xor edx, edx
mov eax, edx
movsxd rbx, edx
jmp 0x14015bbfd
cmp dl, 0x68
jne 0x14015bbdb
shl rbx, cl
mov r8, rbx
jmp 0x14015bbfa
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x14015bbfa
or rdx, 0xffffffffffffffff
mov eax, IsNetDrive
sub al, cl
movzx ecx, al
shl rdx, cl
or r8, rdx
mov rbx, r8
mov rdi, qword [rsp + 0x38]
mov eax, 0x3e40
mov qword [rsi], rbx
and word [rsi + 8], ax
or word [rsi + 8], 4
jmp 0x14015b3b7
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.140164860
mov rsi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
movsxd rax, dword [rsi + 8]
add qword [rbx], rax
jmp 0x14015aec4
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r14
movzx eax, word [rbx + 8]
test al, 4
jne 0x14015bcb9
test al, 8
jne 0x14015bc85
test al, 2
je 0x14015bc8d
mov edx, r10d
mov rcx, rbx
call fcn.1400cbd60
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
mov r8d, 0x2400
jmp 0x14015bc8d
mov rcx, rbx
call fcn.140163410
movzx eax, word [rbx + 8]
test al, 4
jne 0x14015bcb9
mov rsi, qword [rsp + 0x30]
cmp dword [rsi + 8], 0
jne 0x140161291
mov r9d, reloc.ODBC32.dll_SQLRowCount
mov r12, rsi
mov dword [rbp + 0x298], r9d
jmp 0x140161406
mov ecx, 0x3e40
and ax, cx
or ax, 4
mov word [rbx + 8], ax
jmp 0x14015bdc5
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 0x24
je 0x14015bdc5
call fcn.140164aa0
jmp 0x14015b3b7
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r14
test word [rbx + 8], ax
je 0x14015bd27
mov rcx, rbx
call fcn.140164290
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161406
movzx edx, byte [r12 + 8]
movzx r8d, r15b
mov rcx, rbx
call fcn.140164080
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161adc
mov r12d, dword [rbp + 0x298]
jmp 0x14015b3b7
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul r15, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add r15, r14
imul r14, rax, 0x38
movzx esi, word [r15 + 8]
add r14, qword [rsp + 0x58]
movzx edi, word [r14 + 8]
movzx edx, di
and dx, si
test dl, 4
je 0x14015be24
mov rax, qword [r14]
mov rcx, qword [r15]
cmp rax, rcx
jle 0x14015bddf
mov rax, qword [0x140288b20]
mov dword [rsp + 0x60], r10d
cmp byte [rbx + rax], 0
jne 0x14016128c
mov rdi, qword [rsp + 0x38]
movzx r15d, byte [rbp + 0x288]
mov r14, qword [rsp + 0x58]
mov r8d, 0x2400
mov rsi, qword [rsp + 0x30]
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x14015ac7b
jge 0x14015bdf2
mov rax, qword [0x140288b10]
mov dword [rsp + 0x60], 0xffffffff
jmp 0x14015bdfe
mov rax, qword [0x140288b18]
mov dword [rsp + 0x60], r11d
cmp byte [rbx + rax], 0
mov rsi, qword [rsp + 0x30]
jne 0x140161291
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
jmp 0x14015aecd
movzx ecx, di
or cx, si
test cl, 1
je 0x14015be8c
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
test al, al
jns 0x14015be80
test dl, 1
je 0x14015be64
mov eax, 0x100
test ax, di
jne 0x14015be64
mov rax, qword [rsp + 0x30]
mov dword [rsp + 0x60], r11d
movzx ecx, byte [rax]
mov rax, qword [0x140288b18]
jmp 0x14015bfa5
test dil, 1
mov r8d, r10d
mov rax, 0xffffffffffffffff
cmovne r8d, eax
mov dword [rsp + 0x60], r8d
jmp 0x14015bf6d
mov dword [rsp + 0x60], r10d
test al, 0x10
jmp 0x14015be02
mov rbx, qword [rsp + 0x30]
movzx eax, byte [rbx + 2]
and al, 0x47
cmp al, 0x43
jl 0x14015bed7
test cl, 2
je 0x14015bf4b
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x14015bebd
xor edx, edx
mov rcx, r15
call fcn.1400cbd60
movzx edi, word [r14 + 8]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x14015bf4b
xor edx, edx
mov rcx, r14
call fcn.1400cbd60
jmp 0x14015bf4b
cmp al, 0x42
jne 0x14015bf4b
movzx r13d, byte [rbp + 0x288]
test sil, 2
jne 0x14015bf1d
test sil, 0x2c
je 0x14015bf1d
mov r8b, 1
movzx edx, r13b
mov rcx, r15
call fcn.140164fc0
movzx eax, word [r15 + 8]
mov ecx, 0x3e40
xor ax, si
and ax, cx
xor si, ax
cmp r15, r14
jne 0x14015bf1d
movzx edi, si
or di, 2
test dil, 2
jne 0x14015bf4b
test dil, 0x2c
je 0x14015bf4b
mov r8b, 1
movzx edx, r13b
mov rcx, r14
call fcn.140164fc0
movzx eax, word [r14 + 8]
mov ecx, 0x3e40
xor ax, di
and ax, cx
xor di, ax
mov r8, qword [rbx + 0x10]
mov rdx, r15
mov rcx, r14
call fcn.140141be0
mov r9, qword [rsp + 0x40]
xor r11d, r11d
mov r8d, eax
mov dword [rsp + 0x60], eax
lea r10d, [r11 + 1]
test r8d, r8d
jns 0x14015bf83
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax]
mov rax, qword [0x140288b10]
jmp 0x14015bfa5
jne 0x14015bf96
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax]
mov rax, qword [0x140288b18]
jmp 0x14015bfa5
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax]
mov rax, qword [0x140288b20]
movzx edx, byte [rcx + rax]
mov word [r14 + 8], di
mov word [r15 + 8], si
mov rsi, qword [rsp + 0x30]
test edx, edx
jne 0x14015de95
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
jmp 0x14015aecd
cmp dword [rsp + 0x60], 0
je 0x140161291
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x14015ac7b
mov rcx, qword [rsp + 0x30]
test byte [rcx + 2], 1
jne 0x14015c007
mov r12, r11
jmp 0x14015c00f
mov r12, qword [rcx - 8]
add r12, 4
mov rax, qword [rcx + 0x10]
mov r8d, dword [rcx + 4]
mov r13, qword [rsp + 0x30]
movsxd r13, dword [r13 + 0xc]
mov ecx, dword [rcx + 8]
mov qword [rbp - 0x70], rax
mov dword [rsp + 0x78], r8d
mov dword [rsp + 0x64], ecx
mov r14d, r11d
mov rbx, r11
test r13, r13
jle 0x1401612aa
lea r15, [rax + 0x20]
test r12, r12
je 0x14015c04e
mov edi, dword [r12 + rbx*4]
jmp 0x14015c051
mov edi, r14d
mov rax, qword [rax + 0x18]
add ecx, edi
movzx esi, byte [rax + rbx]
imul rdx, rcx, 0x38
add rdx, qword [rsp + 0x58]
lea ecx, [rdi + r8]
mov r8, qword [r15]
imul rcx, rcx, 0x38
add rcx, qword [rsp + 0x58]
and esi, 1
call fcn.140141be0
mov ecx, eax
mov dword [rsp + 0x60], eax
test eax, eax
mov rax, qword [rbp - 0x70]
jne 0x14015c0c0
mov r8d, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x64]
inc rbx
inc r14d
add r15, 8
cmp rbx, r13
jl 0x14015c043
mov r12d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
jmp 0x14015b3b7
mov rax, qword [rax + 0x18]
mov r14, qword [rsp + 0x58]
test byte [rbx + rax], 2
je 0x14015c103
mov ecx, dword [rsp + 0x78]
add ecx, edi
imul rax, rcx, 0x38
test byte [rax + r14 + 8], 1
jne 0x14015c0f3
mov ecx, dword [rsp + 0x64]
add ecx, edi
imul rax, rcx, 0x38
test byte [rax + r14 + 8], 1
je 0x14015c0ff
mov ecx, dword [rsp + 0x60]
neg ecx
mov dword [rsp + 0x60], ecx
jmp 0x14015c103
mov ecx, dword [rsp + 0x60]
mov r12d, dword [rbp + 0x298]
movzx r15d, byte [rbp + 0x288]
test esi, esi
je 0x14015b4a2
mov rdi, qword [rsp + 0x38]
neg ecx
mov dword [rsp + 0x60], ecx
jmp 0x14015b3b7
mov eax, dword [rsp + 0x60]
test eax, eax
mov rax, qword [rsp + 0x30]
jns 0x14015c15b
mov eax, dword [rax + 4]
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
add rsi, 0x18
jmp 0x14015ac7b
jne 0x14015c181
mov eax, dword [rax + 8]
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
add rsi, 0x18
jmp 0x14015ac7b
mov eax, dword [rax + 0xc]
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rsi, [r9 + rcx*8]
add rsi, 0x18
jmp 0x14015ac7b
mov rax, qword [rsp + 0x30]
mov edx, 2
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140159a70
mov edx, 2
movsxd rbx, eax
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 8]
imul rcx, rcx, 0x38
add rcx, r14
call fcn.140159a70
movsxd r8, eax
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0x2c
lea rax, [0x140000000]
jne 0x14015c202
lea rdx, [rbx + rbx*2]
add rdx, r8
movzx r8d, byte [rdx + rax + 0x1da660]
jmp 0x14015c212
lea rcx, [rbx + rbx*2]
add rcx, r8
movzx r8d, byte [rcx + rax + 0x1da670]
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
movsxd rax, dword [rax + 0xc]
mov r10d, 1
imul rcx, rax, 0x38
add rcx, r14
cmp r8d, 2
jne 0x14015c24b
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], r10w
jmp 0x14015aeca
movsxd rax, r8d
mov qword [rcx], rax
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], 4
jmp 0x14015aeca
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.140159a70
mov rcx, rbx
mov r8d, 0x2400
movsxd rdx, eax
movsxd rax, dword [rbx + 0x10]
xor rdx, rax
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r8w
je 0x14015c2b3
call fcn.14017c160
mov r9, qword [rsp + 0x40]
mov rsi, rbx
jmp 0x14015aec4
mov r9, qword [rsp + 0x40]
mov r13, qword [rbp + 0x280]
mov eax, 4
mov rsi, rbx
mov rbx, qword [rsp + 0x50]
xor r11d, r11d
lea r10d, [rax - 3]
mov qword [rcx], rdx
mov word [rcx + 8], ax
add rsi, 0x18
jmp 0x14015ac7b
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rcx, r14
add rbx, r14
test byte [rcx + 8], 1
jne 0x14015c34f
xor edx, edx
call fcn.140159a70
xor r11d, r11d
mov r8d, 0x2400
test eax, eax
mov ecx, r11d
sete cl
test word [rbx + 8], r8w
je 0x14015c333
mov rdx, rcx
mov rcx, rbx
call fcn.14017c160
jmp 0x14015b3b7
mov r9, qword [rsp + 0x40]
mov eax, 4
mov qword [rbx], rcx
mov word [rbx + 8], ax
mov r10d, 1
jmp 0x14015bdc5
test word [rbx + 8], r8w
je 0x14015c363
mov rcx, rbx
call fcn.14017ac20
jmp 0x14015b3b7
mov word [rbx + 8], r10w
jmp 0x14015bdc5
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rdi, rax, 0x38
movsxd rax, dword [rbx + 8]
imul rbx, rax, 0x38
add rdi, r14
add rbx, r14
test word [rbx + 8], r8w
je 0x14015c3ab
mov rcx, rbx
call fcn.14017ac20
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
mov r8d, 0x2400
jmp 0x14015c3b0
mov word [rbx + 8], r10w
test byte [rdi + 8], 1
jne 0x14015bb59
mov eax, 4
mov rcx, rdi
mov word [rbx + 8], ax
call fcn.1401633e0
mov rdi, qword [rsp + 0x38]
not rax
mov qword [rbx], rax
jmp 0x14015b3b7
mov r10, qword [r13 + 0x110]
test r10, r10
je 0x14015c455
mov rcx, qword [rsp + 0x30]
mov r11, qword [r10 + 0x30]
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [r13 + 0x90]
mov ebx, 1
imul rcx
mov r8, rdx
mov edx, ebx
sar r8, 2
mov rax, r8
shr rax, 0x3f
add r8, rax
mov r9d, r8d
and r8d, 7
shr r9, 3
mov ecx, r8d
movzx r10d, byte [r9 + r11]
shl edx, cl
test r10b, dl
jne 0x140161281
mov eax, ebx
mov r8d, 0x2400
shl al, cl
or al, r10b
mov byte [r9 + r11], al
mov r9, qword [rsp + 0x40]
xor r11d, r11d
jmp 0x14015c46d
mov rax, qword [rsp + 0x30]
mov rcx, qword [r13 + 0x90]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x14015c6a2
mov rax, qword [r13 + 0x90]
mov rsi, qword [rsp + 0x30]
mov rbx, qword [rsp + 0x50]
mov ecx, dword [rax + 4]
mov r13, qword [rbp + 0x280]
add rsi, 0x18
mov dword [rsi - 0x14], ecx
mov r10d, 1
jmp 0x14015ac7b
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
mov edx, dword [rax + 0xc]
add rcx, r14
call fcn.140159a70
mov rsi, qword [rsp + 0x30]
test eax, eax
jne 0x14015de95
mov r9, qword [rsp + 0x40]
jmp 0x14015aec4
mov rax, qword [rsp + 0x30]
mov edx, r11d
cmp dword [rax + 0xc], 0
movsxd rax, dword [rax + 4]
sete dl
imul rcx, rax, 0x38
add rcx, r14
call fcn.140159a70
mov rsi, qword [rsp + 0x30]
test eax, eax
je 0x14015de95
mov r9, qword [rsp + 0x40]
jmp 0x14015aec4
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
jne 0x140161291
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x14015ac7b
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
movzx eax, word [rcx + r14 + 8]
test al, 1
jne 0x140161291
and eax, 0x3f
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x1dc350]
cmp eax, dword [rsi + 0xc]
jne case.0x14015acb5.88
jmp 0x140161291
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
jne 0x14015c5e9
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
jne 0x14015c5e9
mov rax, rbx
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r8w
je 0x14015c5c5
xor edx, edx
call fcn.14017c160
mov r9, qword [rsp + 0x40]
mov rsi, rbx
jmp 0x14015aec4
mov r13, qword [rbp + 0x280]
mov rsi, rbx
mov rbx, qword [rsp + 0x50]
mov eax, 4
add rsi, 0x18
mov qword [rcx], r11
mov word [rcx + 8], ax
jmp 0x14015ac7b
mov rax, rbx
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r8w
je 0x14015c610
call fcn.14017ac20
mov r9, qword [rsp + 0x40]
mov rsi, rbx
jmp 0x14015aec4
mov r13, qword [rbp + 0x280]
mov rsi, rbx
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
mov word [rcx + 8], r10w
jmp 0x14015ac7b
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
je 0x140161291
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x14015ac7b
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 2], 0
je 0x14015bdc5
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r8w
je 0x14015c6ad
call fcn.14017ac20
mov r9, qword [rsp + 0x40]
xor r11d, r11d
mov r10d, 1
jmp 0x14016128c
mov word [rcx + 8], r10w
jmp 0x14016128c
mov r12, qword [rsp + 0x30]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [r12 + 4]
mov esi, dword [r12 + 8]
mov r15, qword [rax + rcx*8]
mov dword [rsp + 0x64], esi
cmp byte [r15 + 3], 0
je 0x14015c78f
mov rdx, qword [r15 + 0x10]
test rdx, rdx
je 0x14015c785
lea eax, [rsi + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x14015c785
cmp byte [r15 + 2], 0
jne 0x14015c785
mov r15, qword [r15 + 0x28]
lea esi, [rax - 1]
mov dword [rsp + 0x64], esi
mov dword [rbp + 0x298], r11d
mov r12d, r11d
mov rax, qword [rsp + 0x30]
mov r8, qword [rsp + 0x58]
mov r13, qword [r15 + 0x58]
movsxd rax, dword [rax + 0xc]
mov qword [rsp + 0x70], r13
imul r14, rax, 0x38
mov rax, qword [rbp + 0x280]
add r14, r8
mov eax, dword [rax + 0x30]
mov qword [rbp - 0x78], r14
cmp dword [r15 + 0x20], eax
je 0x14015c90c
cmp byte [r15 + 2], 0
je 0x14015c807
cmp byte [r15], 3
jne 0x14015c7c9
movsxd rax, dword [r15 + 0x24]
imul rcx, rax, 0x38
mov eax, dword [rcx + r8 + 0xc]
mov dword [r15 + 0x6c], eax
mov dword [r15 + 0x68], eax
mov rax, qword [rcx + r8 + 0x10]
mov qword [r15 + 0x60], rax
jmp 0x14015c857
mov rcx, r15
call fcn.1401627d0
jmp 0x14015c7a4
mov rax, qword [r15 + 0x30]
cmp byte [rax], 0
je 0x14015c711
mov rcx, r15
call fcn.1400f9d80
mov dword [rbp + 0x298], eax
mov r9d, eax
test eax, eax
jne 0x140161406
mov r9, qword [rsp + 0x40]
mov r12d, eax
xor r11d, r11d
lea r10d, [rax + 1]
jmp 0x14015c71b
mov r8d, 0x2400
test word [r14 + 8], r8w
je 0x14015c7f0
mov rcx, r14
call fcn.14017ac20
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
jmp 0x14015b3b7
movzx r15d, byte [rbp + 0x288]
mov word [r14 + 8], r10w
mov r14, qword [rsp + 0x58]
jmp 0x14015bdc5
mov rbx, qword [r15 + 0x30]
mov rcx, rbx
call fcn.1400f8590
mov eax, dword [rbx + 0x40]
mov dword [r15 + 0x68], eax
mov rax, qword [rbx + 0x88]
movzx ecx, word [rbx + 0x44]
mov edx, dword [rax + 0x58]
sub edx, dword [rbx + 0x38]
cmp ecx, edx
jle 0x14015c83b
mov ecx, edx
test edx, edx
mov edx, 0
cmovs ecx, edx
mov dword [r15 + 0x6c], ecx
mov rax, qword [rbx + 0x38]
mov qword [r15 + 0x60], rax
mov eax, dword [rdi + 0x88]
cmp dword [r15 + 0x68], eax
ja 0x14016181e
mov rax, qword [rbp + 0x280]
mov rcx, qword [r15 + 0x60]
mov eax, dword [rax + 0x30]
mov dword [r15 + 0x20], eax
movzx eax, byte [rcx]
cmp al, 0x80
jae 0x14015c87e
movzx eax, al
mov dword [r13], eax
mov eax, 1
jmp 0x14015c889
mov rdx, r13
call fcn.14013c670
movzx eax, al
movzx eax, al
xor r11d, r11d
mov dword [r15 + 0x40], eax
mov word [r15 + 0x4a], r11w
mov eax, dword [r13]
cmp dword [r15 + 0x6c], eax
jae 0x14015c903
mov qword [r15 + 0x60], r11
mov dword [r15 + 0x6c], r11d
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x14015c8bb
cmp eax, dword [r15 + 0x68]
jbe 0x14015c90c
mov r8d, 0x2400
mov r9, qword [rsp + 0x40]
mov eax, dword [r9 + 0xc]
test eax, eax
jle 0x140161436
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
dec eax
movsxd rcx, eax
mov r10d, 1
lea rax, [rcx + rcx*2]
lea r12, [r9 + rax*8]
mov qword [rsp + 0x30], r12
mov r12d, dword [rbp + 0x298]
jmp 0x14015bdc5
mov rax, qword [r15 + 0x60]
jmp 0x14015c9c5
movzx eax, word [r15 + 0x4a]
cmp eax, esi
ja 0x14015cb9a
mov eax, dword [r13]
cmp dword [r15 + 0x40], eax
jae 0x14015cb4d
mov rax, qword [r15 + 0x60]
mov qword [rbp - 0x80], rax
test rax, rax
jne 0x14015c9c9
mov qword [rbp + 8], rax
mov qword [rbp + 0x10], rax
mov qword [rbp + 0x18], rax
mov qword [rbp + 0x20], rax
mov qword [rbp + 0x28], rax
mov qword [rbp + 0x30], rax
mov qword [rbp + 0x38], rax
mov r10, qword [r15 + 0x30]
mov r8d, dword [r13]
mov rax, qword [r10 + 0x88]
movzx ecx, word [r10 + 0x44]
mov dword [rbp + 0x298], r11d
mov edx, dword [rax + 0x58]
sub edx, dword [r10 + 0x38]
cmp ecx, edx
jle 0x14015c982
mov ecx, edx
test edx, edx
cmovs ecx, r11d
mov rax, qword [r10 + 0x38]
mov qword [rbp - 0x80], rax
mov qword [rbp + 0x18], rax
cmp r8d, ecx
ja 0x14015c9a2
mov ecx, 0x1010
mov dword [rbp + 0x14], r8d
mov word [rbp + 0x10], cx
jmp 0x14015c9c9
lea r9, [rbp + 8]
xor edx, edx
mov rcx, r10
call fcn.140164410
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161401
mov rax, qword [rbp + 0x18]
mov qword [rbp - 0x80], rax
movzx r12d, word [r15 + 0x4a]
mov ebx, dword [r15 + 0x40]
mov rcx, qword [rsp + 0x70]
mov r14d, dword [r13 + r12*4]
mov r13d, dword [r13]
add rbx, rax
add r13, rax
mov esi, r12d
nop dword [rax]
movzx edi, byte [rbx]
mov eax, pe_nt_image_headers64
mov dword [rbp - 0x50], edi
mov dword [r15 + rsi*4 + 0x70], edi
cmp edi, eax
jae 0x14015ca18
lea rdx, [0x140000000]
inc rbx
movzx eax, byte [rdi + rdx + 0x1dd1a0]
jmp 0x14015ca56
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.14013c670
mov edi, dword [rbp - 0x50]
movzx eax, al
mov dword [r15 + rsi*4 + 0x70], edi
add rbx, rax
mov eax, pe_nt_image_headers64
cmp edi, eax
jb 0x14015ca42
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x14015ca51
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0x1dd1a0]
mov rcx, qword [rsp + 0x70]
inc r12d
add r14, rax
movsxd rsi, r12d
mov dword [rcx + rsi*4], r14d
cmp r12d, dword [rsp + 0x64]
ja 0x14015ca71
cmp rbx, r13
jb 0x14015c9f0
jmp 0x14015ca76
cmp rbx, r13
jb 0x14015ca84
cmp rbx, r13
ja 0x14015ca8d
mov eax, dword [r15 + 0x68]
cmp r14, rax
jne 0x14015ca8d
mov eax, dword [r15 + 0x68]
cmp r14, rax
jbe 0x14015cada
cmp dword [rcx], 0
jne 0x14015ca9d
xor r11d, r11d
mov rbx, r13
mov r12d, r11d
jmp 0x14015cadd
cmp qword [r15 + 0x60], 0
mov r8d, 0x2400
jne 0x14015cacd
test word [rbp + 0x10], r8w
jne 0x14015cab7
cmp dword [rbp + 0x28], 0
je 0x14015cacd
lea rcx, [rbp + 8]
call fcn.14017ab50
mov rdi, qword [rsp + 0x38]
xor r11d, r11d
jmp 0x14015c8bb
mov rdi, qword [rsp + 0x38]
xor r11d, r11d
jmp 0x14015c8c1
xor r11d, r11d
sub ebx, dword [rbp - 0x80]
cmp qword [r15 + 0x60], 0
mov word [r15 + 0x4a], r12w
mov dword [r15 + 0x40], ebx
mov r8d, 0x2400
jne 0x14015cb15
test word [rbp + 0x10], r8w
jne 0x14015cb03
cmp dword [rbp + 0x28], 0
je 0x14015cb15
lea rcx, [rbp + 8]
call fcn.14017ab50
xor r11d, r11d
mov r8d, 0x2400
mov r13, qword [rsp + 0x70]
mov r14, qword [rbp - 0x78]
mov esi, dword [rsp + 0x64]
movzx eax, word [r15 + 0x4a]
cmp eax, esi
ja 0x14015cba1
mov rdi, qword [rsp + 0x30]
cmp byte [rdi + 1], 0xf5
jne 0x14015cb58
mov rdx, qword [rdi + 0x10]
mov r8d, 0x800
mov rcx, r14
call fcn.140164f80
jmp 0x14015c0a2
mov edi, r11d
mov r8d, 0x2400
jmp 0x14015cb22
test word [r14 + 8], r8w
je 0x14015cb6c
mov rcx, r14
call fcn.14017ac20
jmp 0x14015c0a2
mov r12d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
movzx r15d, byte [rbp + 0x288]
mov r9, qword [rsp + 0x40]
mov r10d, 1
mov word [r14 + 8], r10w
mov r14, qword [rsp + 0x58]
jmp 0x14015bdc5
mov eax, esi
mov edi, dword [r15 + rax*4 + 0x70]
mov edx, 0x2400
test word [r14 + 8], dx
je 0x14015cbb5
mov rcx, r14
call fcn.14017ac20
lea eax, [rsi + 1]
mov eax, dword [r13 + rax*4]
cmp dword [r15 + 0x6c], eax
jb 0x14015ccaf
mov eax, esi
mov esi, dword [r13 + rax*4]
add rsi, qword [r15 + 0x60]
cmp edi, 0xc
jae 0x14015cbe9
mov r8, r14
mov edx, edi
mov rcx, rsi
call fcn.1401667a0
jmp 0x14015c0a2
movzx r15d, byte [rbp + 0x288]
lea ebx, [rdi - 0xc]
shr ebx, 1
mov byte [r14 + 0xa], r15b
lea edx, [rbx + 2]
mov dword [r14 + 0xc], ebx
cmp dword [r14 + 0x20], edx
jge 0x14015cc58
mov eax, 1
xor r8d, r8d
mov rcx, r14
mov word [r14 + 8], ax
call fcn.140164590
test eax, eax
je 0x14015cc60
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov r13, qword [rbp + 0x280]
mov rsi, qword [rsp + 0x48]
mov rcx, rdi
call fcn.1401422c0
lea rdx, [0x1401d7700]
mov rcx, r13
call fcn.14015aac0
mov r9d, 7
jmp 0x1401617ea
mov rax, qword [r14 + 0x18]
mov qword [r14 + 0x10], rax
mov rcx, qword [r14 + 0x10]
mov r8, rbx
mov rdx, rsi
call sub.msvcrt.dll_memcpy
mov rax, qword [r14 + 0x10]
mov r12d, dword [rbp + 0x298]
mov byte [rbx + rax], 0
mov rax, qword [r14 + 0x10]
lea rcx, [0x140000000]
mov byte [rax + rbx + 1], 0
mov eax, edi
mov rdi, qword [rsp + 0x38]
and eax, 1
movzx eax, word [rcx + rax*2 + 0x1da67c]
mov word [r14 + 8], ax
mov r14, qword [rsp + 0x58]
jmp 0x14015b3b7
movzx eax, byte [rbp + 0x288]
mov r12, qword [rsp + 0x30]
mov byte [r14 + 0xa], al
movzx eax, word [r12 + 2]
test al, 0xc0
je 0x14015ccd8
cmp edi, 0xc
jb 0x14015ccd4
test dil, 1
je 0x14015cd01
test al, al
js 0x14015cd01
mov eax, pe_nt_image_headers64
cmp edi, eax
jb 0x14015ccea
lea r8d, [rdi - 0xc]
shr r8d, 1
jmp 0x14015ccfc
lea rcx, [0x140000000]
mov eax, edi
movzx r8d, byte [rax + rcx + 0x1dd1a0]
test r8d, r8d
jne 0x14015cd17
lea rcx, [0x1401dcce0]
mov r8, r14
mov edx, edi
call fcn.1401667a0
jmp 0x14015c0a2
mov rcx, qword [r15 + 0x30]
mov eax, esi
mov r9, r14
mov edx, dword [r13 + rax*4]
call fcn.140164410
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015e844
mov rcx, qword [r14 + 0x10]
mov r8, r14
mov edx, edi
call fcn.1401667a0
mov eax, 0xefff
and word [r14 + 8], ax
jmp 0x14015c0a2
mov rax, qword [rsp + 0x30]
mov esi, r11d
mov r14, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
mov r15, qword [r14 + 8]
imul rbx, rax, 0x38
add rbx, qword [rsp + 0x58]
cmp r11w, word [r14 + 0x36]
jge 0x14015bdb2
lea rdi, [r15 + 0x12]
movzx eax, word [rdi]
test al, 0x60
je 0x14015cda2
test al, 0x20
jne 0x14015ce4d
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0xc], 0
jne 0x14015ce49
movzx r8d, byte [rbp + 0x288]
movzx edx, byte [rdi - 6]
mov rcx, rbx
call fcn.1400cbcf0
movzx ecx, word [rbx + 8]
test cl, 1
jne 0x14015ce49
mov eax, dword [rdi - 0xa]
shr eax, 4
and eax, 0xf
cmp eax, 2
je 0x14015ce40
jbe 0x14015ce49
cmp eax, 4
jbe 0x14015ce3b
cmp eax, 5
je 0x14015cde7
cmp eax, 6
jne 0x14015ce49
test cl, 2
jmp 0x14015ce43
test cl, 4
je 0x14015ce36
mov rdx, qword [rbx]
movabs rax, 0x800000000000
movabs r8, 0xffffffffffff
add rax, rdx
cmp rax, r8
mov eax, 0xfffb
ja 0x14015ce1d
and cx, ax
or cx, 0x20
mov word [rbx + 8], cx
jmp 0x14015ce49
xorps xmm0, xmm0
and cx, ax
or cx, 8
mov word [rbx + 8], cx
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
jmp 0x14015ce49
test cl, 0x28
jmp 0x14015ce43
test cl, 4
jmp 0x14015ce43
test cl, 0x10
je 0x140161442
add rbx, 0x38
movsx eax, word [r14 + 0x36]
inc esi
add rdi, 0x18
cmp esi, eax
jl 0x14015cd84
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
jmp 0x14015b3b7
mov rax, qword [rsp + 0x30]
mov rdi, qword [rax + 0x10]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r14
nop dword [rax + rax]
movzx edx, byte [rdi]
movzx r8d, r15b
mov rcx, rbx
call fcn.1400cbcf0
cmp byte [rdi], 0x45
jne 0x14015cef1
movzx ecx, word [rbx + 8]
test cl, 4
je 0x14015cef1
mov rdx, qword [rbx]
movabs rax, 0x800000000000
movabs r8, 0xffffffffffff
add rax, rdx
cmp rax, r8
mov eax, 0xfffb
ja 0x14015ceda
and cx, ax
or cx, 0x20
jmp 0x14015ceed
xorps xmm0, xmm0
and cx, ax
or cx, 8
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
mov word [rbx + 8], cx
inc rdi
cmp byte [rdi], 0
je 0x14015d722
add rbx, 0x38
jmp 0x14015ce90
mov rcx, qword [rsp + 0x30]
movzx esi, byte [r13 + 0xcb]
mov rdx, r11
movsxd rax, dword [rcx + 4]
mov rdi, qword [rcx + 0x10]
mov r15, r11
mov r12d, r11d
mov qword [rbp - 0x78], rdx
mov dword [rbp - 0x80], esi
imul r11, rax, 0x38
mov eax, dword [rcx + 8]
add r11, r14
dec eax
mov qword [rsp + 0x70], r11
cdqe
imul r14, rax, 0x38
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add r14, r11
mov qword [rbp - 0x70], r14
add rcx, qword [rsp + 0x58]
mov qword [rbp - 0x40], rcx
test rdi, rdi
je 0x14015cfb8
movzx r14d, byte [rbp + 0x288]
lea rbx, [r11 + 8]
mov esi, 0xfffb
nop dword [rax]
movzx edx, byte [rdi]
lea rcx, [rbx - 8]
movzx r8d, r14b
call fcn.1400cbcf0
cmp byte [rdi], 0x45
jne 0x14015cf96
movzx eax, word [rbx]
test al, 4
je 0x14015cf96
and ax, si
or ax, 0x20
mov word [rbx], ax
inc rdi
add rbx, 0x38
cmp byte [rdi], 0
jne 0x14015cf70
mov esi, dword [rbp - 0x80]
mov rdx, qword [rbp - 0x78]
mov r11, qword [rsp + 0x70]
mov r14, qword [rbp - 0x70]
mov r10d, 1
movsxd r13, esi
lea rbx, [r14 + 0x24]
nop
movzx ecx, word [rbx - 0x1c]
test cl, 1
je 0x14015cfe3
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
inc r12d
mov dword [rbx], eax
jmp 0x14015d158
test cl, 0x24
je 0x14015d0cd
mov r8, qword [rbx - 0x24]
mov rdx, r8
test r8, r8
jns 0x14015cffb
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x14015d02a
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x14015d01f
cmp r13, 4
jl 0x14015d01f
lea eax, [rdx + 8]
mov dword [rbx], eax
jmp 0x14015d158
inc r15
mov dword [rbx], r10d
jmp 0x14015d158
cmp rdx, 0x7fff
ja 0x14015d042
add r15, 2
mov dword [rbx], 2
jmp 0x14015d158
cmp rdx, 0x7fffff
ja 0x14015d05a
add r15, 3
mov dword [rbx], 3
jmp 0x14015d158
cmp rdx, 0x7fffffff
ja 0x14015d073
mov eax, 4
add r15, 4
mov dword [rbx], eax
jmp 0x14015d158
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x14015d091
add r15, 6
mov dword [rbx], 5
jmp 0x14015d158
add r15, 8
test cl, 0x20
je 0x14015d0c2
xorps xmm0, xmm0
mov eax, 0xffdf
mov dword [rbx], 7
and cx, ax
or cx, 8
mov word [rbx - 0x1c], cx
cvtsi2sd xmm0, r8
movsd qword [rbx - 0x24], xmm0
jmp 0x14015d158
mov dword [rbx], 6
jmp 0x14015d158
test cl, 8
je 0x14015d0e1
inc r12d
mov dword [rbx], 7
add r15, 8
jmp 0x14015d158
mov esi, dword [rbx - 0x18]
mov r14d, ecx
mov eax, 0x4000
shr r14d, 1
and r14d, 1
add r14d, 0xc
lea r14d, [r14 + rsi*2]
test ax, cx
je 0x14015d12e
movsxd rax, dword [rbx - 0x24]
lea r14d, [r14 + rax*2]
test r15, r15
je 0x14015d127
lea rcx, [rbx - 0x24]
call fcn.140164290
test eax, eax
jne 0x14015cc20
add esi, dword [rbx - 0x24]
lea r10d, [rax + 1]
jmp 0x14015d12e
add rdx, rax
mov qword [rbp - 0x78], rdx
mov eax, esi
mov ecx, r10d
add r15, rax
mov eax, r14d
shr rax, 7
test rax, rax
je 0x14015d14d
shr rax, 7
inc ecx
test rax, rax
jne 0x14015d142
mov r11, qword [rsp + 0x70]
add r12d, ecx
mov dword [rbx], r14d
lea rax, [rbx - 0x24]
cmp rax, r11
je 0x14015d16e
mov rdx, qword [rbp - 0x78]
sub rbx, 0x38
jmp 0x14015cfc0
cmp r12d, 0x7e
jle 0x14015d1af
movsxd rax, r12d
mov edx, r10d
shr rax, 7
test rax, rax
je 0x14015d18e
shr rax, 7
inc edx
test rax, rax
jne 0x14015d183
add r12d, edx
mov ecx, r10d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x14015d1ab
shr rax, 7
inc ecx
test rax, rax
jne 0x14015d1a0
cmp edx, ecx
jge 0x14015d1b2
inc r12d
mov r14, qword [rbp - 0x40]
mov rsi, qword [rbp - 0x78]
movsxd rdi, r12d
movsxd rdx, dword [r14 + 0x20]
lea rbx, [r15 + rdi]
lea rcx, [rsi + rbx]
cmp rcx, rdx
jle 0x14015d20d
mov r8, qword [rsp + 0x38]
movsxd rax, dword [r8 + 0x88]
cmp rcx, rax
jg 0x14016181b
cmp edx, ebx
jge 0x14015d207
xor r8d, r8d
mov edx, ebx
mov rcx, r14
call fcn.140164590
test eax, eax
jne 0x14015cc20
mov r11, qword [rsp + 0x70]
lea r10d, [rax + 1]
jmp 0x14015d215
and word [r14 + 8], 0x2d
mov rax, qword [r14 + 0x18]
mov qword [r14 + 0x10], rax
mov eax, reloc.WS2_32.dll_recv
mov dword [r14 + 0xc], ebx
mov word [r14 + 8], ax
test rsi, rsi
je 0x14015d235
mov eax, 0x4010
mov dword [r14], esi
mov word [r14 + 8], ax
mov r14, qword [r14 + 0x10]
mov ecx, pe_nt_image_headers64
lea rsi, [rdi + r14]
cmp r12d, ecx
jae 0x14015d24f
mov byte [r14], r12b
mov eax, r10d
jmp 0x14015d25f
mov rdx, rdi
mov rcx, r14
call fcn.14014aad0
mov ecx, pe_nt_image_headers64
mov rdi, qword [rbp - 0x70]
movzx eax, al
add r14, rax
nop dword [rax]
mov r10d, dword [r11 + 0x24]
cmp r10d, ecx
jae 0x14015d283
mov byte [r14], r10b
mov eax, 1
jmp 0x14015d28e
mov rdx, r10
mov rcx, r14
call fcn.14014aad0
movzx eax, al
add r14, rax
lea eax, [r10 - 1]
cmp eax, 6
ja 0x14015d2c1
mov rdx, qword [r11]
lea rcx, [0x140000000]
movzx ecx, byte [r10 + rcx + 0x1dd1a0]
mov ebx, ecx
dec ecx
mov byte [rcx + rsi], dl
shr rdx, 8
test ecx, ecx
jne 0x14015d2b2
jmp 0x14015d2e9
cmp r10d, 0xc
jb 0x14015d2e5
mov ebx, dword [r11 + 0xc]
test ebx, ebx
je 0x14015d2e9
mov rdx, qword [r11 + 0x10]
mov r8d, ebx
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov r11, qword [rsp + 0x70]
jmp 0x14015d2e9
xor eax, eax
mov ebx, eax
add r11, 0x38
mov eax, ebx
mov ecx, pe_nt_image_headers64
add rsi, rax
mov qword [rsp + 0x70], r11
cmp r11, rdi
jbe 0x14015d270
jmp 0x14015c0a2
mov rbx, qword [rsp + 0x30]
mov rax, qword [r13 + 0x80]
cmp dword [rbx + 0xc], 0
movsxd rcx, dword [rbx + 4]
mov rcx, qword [rax + rcx*8]
mov rdx, qword [rcx + 0x30]
je 0x14015d335
mov rcx, rdx
call fcn.14011e240
mov rbx, rax
jmp 0x14015d35d
lea r8, [rbp - 8]
mov rcx, rdi
mov qword [rbp - 8], r11
call fcn.14011b860
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161ad4
mov rbx, qword [rbp - 8]
mov r12d, eax
mov rax, qword [rsp + 0x30]
mov edx, 0x2400
movsxd rax, dword [rax + 8]
imul rax, rax, 0x38
add rax, qword [r13 + 0x70]
test word [rax + 8], dx
je 0x14015d389
mov rcx, rax
call fcn.140105190
mov qword [rax], rbx
jmp 0x14015fa46
mov ecx, 4
mov word [rax + 8], cx
mov qword [rax], rbx
jmp 0x14015fa46
mov r12, qword [rsp + 0x30]
mov r14d, dword [r12 + 4]
mov rdi, qword [r12 + 0x10]
mov dword [rbp - 0x80], r14d
test r14d, r14d
jne 0x14015d493
mov rsi, qword [rsp + 0x38]
cmp dword [rsi + 0xe0], r14d
jg 0x1401614bc
test rdi, rdi
jne 0x14015d3d2
mov ebx, r11d
jmp 0x14015d3e5
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x14015d3d6
and ebx, 0x3fffffff
mov r8d, dword [rsi + 0x2ec]
xor edx, edx
mov rcx, rsi
add r8d, dword [rsi + 0x2e8]
call fcn.140168fd0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401614d8
movsxd rdx, ebx
mov rcx, rsi
add rdx, 0x21
call fcn.140124e60
mov rsi, rax
test rax, rax
je 0x14015d716
lea rcx, [rax + 0x20]
lea r8d, [rbx + 1]
mov rdx, rdi
movsxd r8, r8d
mov qword [rax], rcx
call sub.msvcrt.dll_memcpy
mov rdi, qword [rsp + 0x38]
cmp byte [rdi + 0x65], 0
je 0x14015d454
mov byte [rdi + 0x65], 0
mov byte [rdi + 0x6d], 1
jmp 0x14015d45a
inc dword [rdi + 0x2e8]
mov rax, qword [rdi + 0x2d8]
mov qword [rsi + 0x18], rax
mov rax, qword [rdi + 0x2f0]
mov qword [rdi + 0x2d8], rsi
mov qword [rsi + 8], rax
mov rax, qword [rdi + 0x2f8]
mov qword [rsi + 0x10], rax
mov r12d, dword [rbp + 0x298]
mov r14, qword [rsp + 0x58]
jmp 0x14015b3b7
mov r8, qword [rsp + 0x38]
mov r12d, r11d
mov rsi, qword [r8 + 0x2d8]
test rsi, rsi
je 0x14015d4cb
nop word [rax + rax]
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.140153e10
test eax, eax
je 0x14015d4f5
mov rsi, qword [rsi + 0x18]
inc r12d
test rsi, rsi
jne 0x14015d4b0
lea rdx, str.no_such_savepoint:__s
mov r8, rdi
mov rcx, r13
call fcn.14015aac0
mov eax, 1
mov r9d, eax
mov dword [rbp + 0x298], eax
mov rdi, qword [rsp + 0x38]
jmp 0x140161401
mov rdi, qword [rsp + 0x38]
cmp dword [rdi + 0xe0], 0
jle 0x14015d50d
cmp r14d, 1
je 0x1401614e0
cmp qword [rsi + 0x18], 0
jne 0x14015d57d
cmp byte [rdi + 0x6d], 0
je 0x14015d57d
mov r13d, 1
cmp r14d, r13d
jne 0x14015d580
mov rbx, qword [rbp + 0x280]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x2f8]
add rcx, qword [rax + 0x2f0]
test rcx, rcx
jg 0x140161550
mov rcx, rbx
mov byte [rdi + 0x65], r13b
call fcn.140162ce0
cmp eax, 5
je 0x140161501
mov r9d, dword [rbx + 0x38]
mov dword [rbp + 0x298], r9d
test r9d, r9d
je 0x14015d574
mov byte [rdi + 0x65], 0
jmp 0x14015d6a2
mov byte [rdi + 0x6d], 0
jmp 0x14015d6ab
mov r13d, r11d
mov eax, dword [rdi + 0x2e8]
sub eax, r12d
lea r12d, [rax - 1]
cmp r14d, 2
jne 0x14015d600
mov r15d, dword [rdi + 0x2c]
mov rax, qword [rsp + 0x38]
mov edi, r11d
and r15d, 1
cmp dword [rax + 0x28], 0
jle 0x14015d606
test r15d, r15d
mov r14d, r11d
mov rbx, r11
sete r14b
nop word [rax + rax]
mov rcx, qword [rax + 0x20]
mov r8d, r14d
mov edx, 0x204
mov rcx, qword [rbx + rcx + 8]
call fcn.14011f2a0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015d4eb
mov rax, qword [rsp + 0x38]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x14015d5c0
mov r14d, dword [rbp - 0x80]
xor r11d, r11d
jmp 0x14015d60d
mov r15d, r11d
mov rax, rdi
mov r9d, dword [rbp + 0x298]
cmp dword [rax + 0x28], 0
mov edi, r11d
jle 0x14015d655
mov rbx, r11
nop dword [rax]
mov rcx, qword [rax + 0x20]
mov r8d, r12d
mov edx, r14d
mov rcx, qword [rbx + rcx + 8]
call fcn.14011e2a0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015d4eb
mov rax, qword [rsp + 0x38]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x14015d620
mov rdi, qword [rsp + 0x38]
test r15d, r15d
je 0x14015d69a
mov rax, qword [rdi + 8]
test rax, rax
je 0x14015d687
nop dword [rax + rax]
and dword [rax + 0xd0], 0xfffffffd
or dword [rax + 0xd0], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x14015d670
mov rcx, rdi
call fcn.14014c2b0
or dword [rdi + 0x2c], 1
mov r9d, dword [rbp + 0x298]
movzx r15d, byte [rbp + 0x288]
test r9d, r9d
jne 0x140161401
cmp qword [rdi + 0x2d8], rsi
je 0x14015d6e9
nop dword [rax]
nop dword [rax + rax]
mov rdx, qword [rdi + 0x2d8]
mov rcx, rdi
mov rax, qword [rdx + 0x18]
mov qword [rdi + 0x2d8], rax
call fcn.140124cd0
dec dword [rdi + 0x2e8]
cmp qword [rdi + 0x2d8], rsi
jne 0x14015d6c0
cmp r14d, 1
jne 0x14015d72c
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, rdi
mov qword [rdi + 0x2d8], rax
call fcn.140124cd0
test r13d, r13d
jne 0x14015d482
dec dword [rdi + 0x2e8]
jmp 0x14015d751
mov r12d, dword [rbp + 0x298]
mov r14, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x38]
jmp 0x14015b3b7
mov rax, qword [rsi + 8]
mov qword [rdi + 0x2f0], rax
mov rax, qword [rsi + 0x10]
mov qword [rdi + 0x2f8], rax
test r13d, r13d
je 0x14015d751
cmp r14d, 2
jne 0x14015d482
mov r8d, r12d
mov edx, r14d
mov rcx, rdi
call fcn.140168fd0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161401
mov r14, qword [rsp + 0x58]
mov r12d, eax
jmp 0x14015b3b7
mov r12, qword [rsp + 0x30]
mov dword [rsp + 0x78], r11d
mov edx, dword [r12 + 8]
test edx, edx
je 0x14015d7a4
movabs rax, 0x200100000
test qword [rdi + 0x30], rax
jne 0x14016158f
movsxd rcx, dword [r12 + 4]
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x14015d860
lea r8, [rsp + 0x78]
mov rcx, rbx
call fcn.14011adf0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401615b2
test byte [r13 + 0xd0], 0x40
je 0x14015d870
cmp dword [r12 + 8], eax
je 0x14015d870
cmp byte [rdi + 0x65], al
je 0x14015d800
cmp dword [rdi + 0xdc], 1
jle 0x14015d870
cmp dword [r13 + 0x48], 0
jne 0x14015d81d
inc dword [rdi + 0x2ec]
mov edx, dword [rdi + 0x2ec]
add edx, dword [rdi + 0x2e8]
mov dword [r13 + 0x48], edx
mov r8d, dword [r13 + 0x48]
xor edx, edx
mov rcx, rdi
dec r8d
call fcn.140168fd0
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015d84a
mov edx, dword [r13 + 0x48]
mov rcx, rbx
call fcn.14011ad80
mov dword [rbp + 0x298], eax
mov rax, qword [rdi + 0x2f0]
mov qword [r13 + 0x60], rax
mov rax, qword [rdi + 0x2f8]
mov qword [r13 + 0x68], rax
mov r9d, dword [rbp + 0x298]
test r9d, r9d
jne 0x140161406
cmp word [r12 + 2], 0
je 0x14015bd4a
mov eax, dword [r12 + 0xc]
cmp dword [rsp + 0x78], eax
jne 0x1401615fa
mov rax, qword [rdi + 0x20]
movsxd rcx, dword [r12 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [r12 + 0x10]
cmp dword [rcx + 4], eax
jne 0x1401615fa
mov r12d, dword [rbp + 0x298]
jmp 0x14015b3b7
mov rcx, qword [rdi + 0x20]
mov rdx, qword [rsp + 0x30]
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov edx, dword [rdx + 0xc]
lea r8, [rbp - 0x18]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14011c260
mov rcx, qword [rsp + 0x30]
mov r8d, 0x2400
movsxd rax, dword [rcx + 8]
imul rcx, rax, 0x38
add rcx, qword [r13 + 0x70]
test word [rcx + 8], r8w
je 0x14015d90d
call fcn.140105190
mov r8d, 0x2400
mov rcx, rax
jmp 0x14015d916
mov eax, 4
mov word [rcx + 8], ax
movsxd rax, dword [rbp - 0x18]
mov qword [rcx], rax
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x14015bdc5
mov r12, qword [rsp + 0x30]
movsxd rbx, dword [r12 + 4]
mov r8d, dword [r12 + 0xc]
mov edx, dword [r12 + 8]
shl rbx, 5
add rbx, qword [rdi + 0x20]
mov rcx, qword [rbx + 8]
call fcn.14011f430
mov r9d, eax
mov dword [rbp + 0x298], eax
mov eax, dword [r12 + 8]
cmp eax, 1
jne 0x14015d993
movzx eax, word [r12 + 2]
mov ecx, dword [r12 + 0xc]
sub ecx, eax
mov rax, qword [rbx + 0x18]
mov dword [rax], ecx
or dword [rdi + 0x2c], 1
mov edx, dword [r12 + 4]
mov rcx, rdi
call fcn.1401315e0
mov r9d, dword [rbp + 0x298]
jmp 0x14015d9a5
cmp eax, 2
jne 0x14015d9a5
mov rcx, qword [rbx + 0x18]
movzx eax, byte [r12 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r12 + 4], 1
jne 0x14015d9bf
xor edx, edx
mov rcx, rdi
call fcn.140128540
and dword [r13 + 0xd0], 0xfffffffc
test r9d, r9d
jne 0x140161406
mov r12d, dword [rbp + 0x298]
jmp 0x14015b3b7
mov r12, qword [rsp + 0x30]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
test rdi, rdi
je 0x14015da1f
mov eax, dword [r12 + 8]
cmp dword [rdi + 0x44], eax
jne 0x14015da1f
mov rbx, qword [rdi + 0x30]
add rdi, 0x30
mov rcx, qword [rbx + 0x18]
call fcn.1400be700
mov r9d, dword [rbp + 0x298]
xor r11d, r11d
mov qword [rbx + 0x18], r11
mov byte [rbx], 1
jmp 0x14015db54
mov rdi, qword [rsp + 0x38]
jmp 0x14015da2b
mov r12, qword [rsp + 0x30]
mov eax, dword [r13 + 0xd0]
and al, 3
cmp al, 1
je 0x140161666
mov r15d, dword [r12 + 8]
movsxd r12, dword [r12 + 0xc]
mov r8, qword [rsp + 0x38]
mov rax, r12
mov edi, r11d
mov r14, r11
shl rax, 5
add rax, qword [r8 + 0x20]
mov r13, qword [rax + 8]
cmp bl, 0x70
jne 0x14015da93
mov rcx, qword [rsp + 0x30]
mov rax, qword [rax + 0x18]
movzx esi, word [rcx + 2]
movzx ecx, byte [rax + 0x70]
mov rax, qword [rbp + 0x280]
and esi, 8
or esi, 4
cmp cl, byte [rax + 0xcb]
jae 0x14015da96
mov byte [rax + 0xcb], cl
jmp 0x14015da96
mov esi, r11d
mov rcx, qword [rsp + 0x30]
test byte [rcx + 2], 0x10
je 0x14015dabd
imul rbx, r15, 0x38
mov rax, r15
add rbx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.140164860
mov r15d, dword [rbx]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + 1]
cmp al, 0xf7
jne 0x14015dad0
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x14015dad7
cmp al, 0xfd
jne 0x14015dad7
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
mov rcx, qword [rbp + 0x280]
xor r9d, r9d
mov r8d, edi
call fcn.1400c9cd0
mov rbx, rax
test rax, rax
je 0x14015cc20
mov r9, qword [rax + 0x30]
or dword [rax + 8], 4
lea rdi, [rax + 0x30]
mov qword [rsp + 0x20], r9
mov r8d, esi
mov edx, r15d
mov rcx, r13
mov r9, r14
mov byte [rax + 1], r12b
mov byte [rax + 2], 1
mov dword [rax + 0x44], r15d
call fcn.14011ba80
mov r12, qword [rsp + 0x30]
movzx r15d, byte [rbp + 0x288]
mov qword [rbx + 0x38], r14
cmp byte [r12 + 1], 0xf7
mov r14, qword [rsp + 0x58]
mov r9d, eax
mov dword [rbp + 0x298], eax
setne al
xor r11d, r11d
mov byte [rbx + 4], al
movzx ecx, byte [r12 + 2]
mov rax, qword [rdi]
and cl, 3
mov byte [rax + 3], cl
mov rdi, qword [rsp + 0x38]
test r9d, r9d
jne 0x140161406
mov r12d, dword [rbp + 0x298]
mov r9, qword [rsp + 0x40]
mov r10d, 1
jmp 0x14015bdbf
mov r12, qword [rsp + 0x30]
mov rax, qword [r13 + 0x80]
xor r9d, r9d
movsxd rcx, dword [r12 + 8]
mov edx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, r13
movsx r8d, word [rbx + 0x48]
call fcn.1400c9cd0
mov r10, rax
test rax, rax
je 0x14015cc31
or dword [rax + 8], 1
mov byte [rax + 2], 1
mov rcx, qword [rbx + 0x38]
mov qword [rax + 0x38], rcx
movzx ecx, byte [rbx + 4]
mov r8d, 4
mov byte [rax + 4], cl
mov ecx, dword [rbx + 0x44]
mov dword [rax + 0x44], ecx
mov eax, dword [rbx + 8]
xor eax, dword [r10 + 8]
and eax, 4
xor dword [r10 + 8], eax
mov rax, qword [rbx + 0x10]
or dword [r10 + 8], 8
mov qword [r10 + 0x10], rax
or dword [rbx + 8], 8
mov rax, qword [r10 + 0x30]
mov r9, qword [r10 + 0x38]
mov edx, dword [r10 + 0x44]
mov rcx, qword [r10 + 0x10]
mov qword [rsp + 0x20], rax
call fcn.14011ba80
mov r12d, eax
mov dword [rbp + 0x298], eax
jmp 0x14015b3b7
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x14015dc54
imul rcx, rax, 0x38
mov dword [rcx + r14 + 0xc], r11d
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x1401d48cb]
mov qword [rcx + r14 + 0x10], rax
movsxd rdx, dword [r12 + 4]
mov rax, qword [r13 + 0x80]
mov rbx, qword [rax + rdx*8]
test rbx, rbx
je 0x14015dc9f
test byte [rbx + 8], 8
jne 0x14015dc9f
movsx eax, word [rbx + 0x48]
cmp dword [r12 + 8], eax
jg 0x14015dc9f
mov edx, dword [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
xor r8d, r8d
mov qword [rbx + 0x18], r11
mov dword [rbx + 0x20], r11d
call fcn.14011b200
mov r9d, eax
mov dword [rbp + 0x298], eax
jmp 0x14015dde2
mov r8d, dword [r12 + 8]
xor r9d, r9d
mov rcx, r13
call fcn.1400c9cd0
mov rbx, rax
test rax, rax
je 0x14015cc31
or dword [rax + 8], 1
movzx ecx, word [r12 + 2]
lea r9, [rax + 0x10]
mov rax, qword [rsp + 0x38]
or ecx, 5
mov dword [rsp + 0x28], 0x41e
mov dword [rsp + 0x20], ecx
mov rcx, qword [rax]
xor edx, edx
mov r8, rax
call fcn.14011d800
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015e844
mov rcx, qword [rbx + 0x10]
mov r13d, 1
xor r8d, r8d
mov edx, r13d
call fcn.14011adf0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015ddac
mov rsi, qword [r12 + 0x10]
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x38], rsi
test rsi, rsi
je 0x14015dd83
movzx r8d, word [r12 + 2]
lea rdx, [rbx + 0x44]
or r8d, 2
call fcn.14011ba10
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015dd78
mov rax, qword [rbx + 0x30]
mov edx, dword [rbx + 0x44]
mov rcx, qword [rbx + 0x10]
lea r8d, [r13 + 3]
mov r9, rsi
mov qword [rsp + 0x20], rax
call fcn.14011ba80
mov r9d, eax
mov dword [rbp + 0x298], eax
mov r14, qword [rsp + 0x58]
mov byte [rbx + 4], 0
jmp 0x14015ddac
mov rax, qword [rbx + 0x30]
xor r9d, r9d
mov edx, r13d
lea r8d, [r9 + 4]
mov dword [rbx + 0x44], r13d
mov qword [rsp + 0x20], rax
call fcn.14011ba80
mov byte [rbx + 4], r13b
mov r9d, eax
mov dword [rbp + 0x298], eax
xor r11d, r11d
cmp word [r12 + 2], 8
mov eax, r11d
setne al
shl eax, 2
xor eax, dword [rbx + 8]
and eax, 4
xor dword [rbx + 8], eax
test r9d, r9d
je 0x14015ddee
mov rcx, qword [rbx + 0x10]
call fcn.14011b2f0
mov r9d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
test r9d, r9d
jne 0x140161406
xor r11d, r11d
mov r12d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov byte [rbx + 2], 1
mov r10d, 1
jmp 0x14015bdbf
mov r12, qword [rsp + 0x30]
mov r9b, 1
mov rcx, r13
mov r8d, dword [r12 + 8]
mov edx, dword [r12 + 4]
call fcn.1400c9cd0
test rax, rax
je 0x14015cc31
mov rcx, qword [r12 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov edx, dword [r12 + 0xc]
mov rcx, rdi
call fcn.140166df0
mov dword [rbp + 0x298], eax
mov r9d, eax
test eax, eax
jne 0x140161406
mov r12d, dword [rbp + 0x298]
jmp 0x14015b3b7
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rdx, qword [rax + rcx*8]
mov rcx, qword [rdx + 0x18]
lea rax, [rcx + 1]
mov qword [rdx + 0x18], rax
test rcx, rcx
jne 0x14015bdc5
mov rsi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x140161291
mov rax, qword [rsp + 0x30]
mov r9b, 3
mov rcx, r13
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.1400c9cd0
test rax, rax
je 0x140161aa3
mov rcx, qword [rsp + 0x30]
mov byte [rax + 2], 1
mov ecx, dword [rcx + 8]
mov byte [rax + 4], 1
mov dword [rax + 0x24], ecx
lea rcx, [0x14029784c]
mov qword [rax + 0x30], rcx
jmp 0x14015b3b7
mov rdx, qword [r13 + 0x80]
mov rax, qword [rsp + 0x30]
mov rcx, r13
movsxd rax, dword [rax + 4]
mov rdx, qword [rdx + rax*8]
call fcn.140162b70
mov rax, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
xor r11d, r11d
mov qword [rax + rcx*8], r11
lea r10d, [r11 + 1]
jmp 0x14015bdbf
mov rax, qword [rsp + 0x30]
mov r12d, r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov r14, qword [rax + rcx*8]
cmp byte [r14 + 4], 0
mov word [r14 + 2], 0
mov dword [r14 + 0x20], r11d
je 0x14015e048
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, qword [rsp + 0x58]
movzx esi, word [rdi + 8]
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x14015df81
xor edx, edx
mov rcx, rdi
call fcn.1400cbd60
mov rcx, rdi
call fcn.1401633e0
movzx edx, word [rdi + 8]
mov word [rdi + 8], si
mov r15, rax
test dl, 0x24
jne 0x14015e015
test dl, 8
jne 0x14015dff3
test dl, 1
jne 0x14015dfe7
cmp ebx, 0x19
jge 0x14015dfe7
mov rcx, qword [r14 + 0x30]
lea rdx, [rsp + 0x68]
call fcn.14011d540
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015d4eb
xor r11d, r11d
cmp dword [rsp + 0x68], 0
je 0x14015e16e
mov r12d, dword [rbp + 0x298]
mov r10d, 1
jmp 0x140161287
mov r12d, dword [rbp + 0x298]
jmp 0x14015c69a
movsd xmm1, qword [rdi]
mov rcx, rax
call fcn.14013f0a0
test eax, eax
jle 0x14015e00c
test bl, 1
jne 0x14015e015
dec ebx
jmp 0x14015e015
jns 0x14015e015
test bl, 1
je 0x14015e015
inc ebx
mov rcx, qword [r14 + 0x30]
lea r9, [rsp + 0x68]
xor r8d, r8d
mov rdx, r15
call fcn.14011eb70
mov rdi, qword [rsp + 0x38]
mov qword [r14 + 0x50], r15
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161401
jmp 0x14015e0cc
mov rax, qword [r14 + 0x30]
mov rcx, qword [rsp + 0x30]
lea r8, [rsp + 0x68]
test byte [rax + 3], 2
mov rax, qword [r14 + 0x38]
mov byte [rbp + 0x8e], 0
mov qword [rbp + 0x78], rax
movzx eax, word [rcx + 0x10]
cmovne r12d, r10d
mov word [rbp + 0x88], ax
lea eax, [rbx - 1]
test al, 1
mov eax, r10d
cmovne eax, edx
lea rdx, [rbp + 0x78]
mov byte [rbp + 0x8a], al
movsxd rax, dword [rcx + 0xc]
imul rcx, rax, 0x38
add rcx, qword [rsp + 0x58]
mov qword [rbp + 0x80], rcx
mov rcx, qword [r14 + 0x30]
call fcn.14011c4d0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161401
test r12d, r12d
je 0x14015e0cc
cmp byte [rbp + 0x8e], al
je 0x14015dfc7
mov eax, dword [rsp + 0x68]
cmp ebx, 0x19
jl 0x14015e133
test eax, eax
js 0x14015e0ed
jne 0x14015e0e0
cmp ebx, 0x1a
je 0x14015e0ed
xor r11d, r11d
mov dword [rsp + 0x68], r11d
jmp 0x14015e16e
mov rcx, qword [r14 + 0x30]
xor r15d, r15d
xor edx, edx
mov dword [rsp + 0x68], r15d
call fcn.14011d7c0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
je 0x14015e16b
cmp eax, 0x65
jne 0x140161ab7
xor r11d, r11d
mov r10d, 1
mov r12d, r11d
mov dword [rbp + 0x298], r11d
mov dword [rsp + 0x68], r10d
jmp 0x140161287
test eax, eax
jg 0x14015e156
jne 0x14015e13e
cmp ebx, 0x17
je 0x14015e156
mov rax, qword [r14 + 0x30]
xor r11d, r11d
mov ecx, r11d
cmp byte [rax], cl
setne cl
mov dword [rsp + 0x68], ecx
jmp 0x14015dfca
mov rcx, qword [r14 + 0x30]
xor r15d, r15d
xor edx, edx
mov dword [rsp + 0x68], r15d
call fcn.14011dfe0
jmp 0x14015e100
xor r11d, r11d
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
mov r10d, 1
test r12d, r12d
je 0x14015ecbe
add qword [rsp + 0x30], 0x18
mov r12d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
jmp 0x14015bdbf
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 0x1c]
mov rax, qword [r13 + 0x80]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x30]
cmp byte [rax], 0
jne 0x14015bb59
mov r12, qword [rsp + 0x30]
mov rax, qword [rdi + 0x38]
mov byte [rbp + 0x132], 0
mov ebx, dword [r12 + 4]
mov qword [rbp + 0x120], rax
movzx eax, word [r12 + 0x28]
mov word [rbp + 0x130], ax
movsxd rax, dword [r12 + 0x24]
mov dword [rbp - 0x54], r11d
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x128], rcx
nop word [rax + rax]
mov rcx, qword [rsp + 0x38]
lea r9, [rbp - 0x54]
lea r8, [rbp + 0x120]
mov rdx, rdi
call fcn.140163080
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015e844
mov eax, dword [rbp - 0x54]
test eax, eax
jg 0x14015e280
je 0x14015e661
test ebx, ebx
jle 0x14015ecb5
mov rcx, qword [rdi + 0x30]
xor edx, edx
dec ebx
call fcn.14011d7c0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
je 0x14015e210
cmp eax, 0x65
jne 0x14015e844
xor r11d, r11d
mov r12d, r11d
mov dword [rbp + 0x298], r11d
jmp 0x14015e28a
mov r12d, dword [rbp + 0x298]
xor r11d, r11d
mov rsi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
mov r10d, 1
add rsi, 0x18
jmp 0x140161291
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rdx, qword [rax + rcx*8]
movzx eax, word [rdx + 0xc]
cmp eax, dword [rsi + 8]
jge 0x14015e2e5
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
mov rax, rsi
movzx eax, word [rax + 8]
add rsi, 0x18
mov word [rdx + 0xc], ax
jmp 0x14015ac7b
cmp eax, dword [rsi + 0xc]
jle case.0x14015acb5.88
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
mov rax, rsi
movzx eax, word [rax + 0xc]
mov word [rdx + 0xc], ax
add rsi, 0x18
jmp 0x14015ac7b
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
cmp qword [rax + rcx*8], 0
je case.0x14015acb5.11
jmp 0x14015bdc5
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rcx, qword [rax + rcx*8]
movzx eax, word [rcx + 0xc]
cmp eax, dword [rsi + 0x10]
jge case.0x14015acb5.88
mov r12, qword [rsp + 0x30]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [r12 + 4]
mov rsi, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp dword [r12 + 0x10], 0
jle 0x14015e3a8
mov rax, qword [rsi + 0x38]
lea rdi, [rbp + 0x170]
mov r14, r11
mov qword [rbp + 0x170], rax
movzx eax, word [r12 + 0x10]
mov qword [rbp + 0x178], rbx
mov word [rbp + 0x180], ax
jmp 0x14015e3f5
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14015e3c3
mov rcx, rbx
call fcn.140164290
test eax, eax
jne 0x14015cc31
mov rcx, qword [rsi + 0x38]
call fcn.1401599d0
mov rdi, rax
mov r14, rax
test rax, rax
je 0x1401617ba
mov r8, qword [rbx + 0x10]
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x38]
mov r9, rax
call fcn.1401663e0
xor r11d, r11d
lea r10d, [r11 + 1]
mov byte [rdi + 0x12], 0
cmp byte [r12], 0x1d
mov ebx, r11d
jne 0x14015e42a
movzx edx, word [rdi + 0x10]
mov ecx, r11d
test edx, edx
jle 0x14015e42a
mov rax, qword [rdi + 8]
add rax, 8
test byte [rax], 1
jne 0x14015e427
inc ecx
add rax, 0x38
cmp ecx, edx
jl 0x14015e416
jmp 0x14015e42a
mov ebx, r10d
mov rcx, qword [rsi + 0x30]
lea r8, [rbp - 0x20]
mov rdx, rdi
call fcn.14011c4d0
mov rdi, qword [rsp + 0x38]
mov r9d, eax
mov dword [rbp + 0x298], eax
test r14, r14
je 0x14015e45f
mov rdx, r14
mov rcx, rdi
call fcn.140124d30
mov r9d, dword [rbp + 0x298]
test r9d, r9d
jne 0x140161406
mov eax, dword [rbp - 0x20]
xor r11d, r11d
mov r10d, 1
test eax, eax
mov dword [rsi + 0x24], eax
mov ecx, r11d
sete cl
mov eax, r10d
mov byte [rsi + 3], r11b
sub al, cl
mov dword [rsi + 0x20], r11d
mov byte [rsi + 2], al
movzx eax, byte [r12]
cmp al, 0x1f
jne 0x14015e4b1
mov r12d, dword [rbp + 0x298]
test ecx, ecx
jne 0x140161287
mov r9, qword [rsp + 0x40]
jmp 0x14015bdba
test ebx, ebx
jne 0x14015e66a
test ecx, ecx
je 0x14015e66a
mov r14, qword [rsp + 0x58]
cmp al, 0x1c
jne 0x14015ecbe
movzx eax, word [r12 + 0x10]
mov r9, qword [rsp + 0x40]
mov r12d, dword [rbp + 0x298]
mov word [rsi + 0xc], ax
jmp 0x14015bdbf
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 0x24
jne case.0x14015acb5.33
movups xmm0, xmmword [rcx]
movups xmm1, xmmword [rcx + 0x10]
movups xmm2, xmm0
movups xmmword [rbp + 0xb8], xmm0
movups xmm0, xmmword [rcx + 0x20]
psrldq xmm2, 8
movups xmmword [rbp + 0xc8], xmm1
movsd xmm1, qword [rcx + 0x30]
movd edx, xmm2
movsd qword [rbp + 0xe8], xmm1
movups xmmword [rbp + 0xd8], xmm0
test dl, 4
jne 0x14015e5d0
test dl, 8
jne 0x14015e56c
test dl, 2
je 0x14015e5c7
lea rcx, [rbp + 0xb8]
mov edx, r10d
call fcn.1400cbd60
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x14015e5c0
movsd xmm4, qword [rbp + 0xb8]
movaps xmm0, xmm4
call fcn.1400d9570
xorps xmm3, xmm3
cvtsi2sd xmm3, rax
ucomisd xmm4, xmm3
jp 0x14015e5c7
jne 0x14015e5c7
movabs rcx, 0x7fffffffffffffff
add rcx, rax
cmp rcx, 0xfffffffffffffffd
ja 0x14015e5c7
mov qword [rbp + 0xb8], rax
movzx eax, word [rbp + 0xc0]
mov ecx, 0x3e40
and ax, cx
or ax, 4
mov word [rbp + 0xc0], ax
movzx edx, byte [rbp + 0xc0]
test dl, 4
je 0x14016128c
mov rdi, qword [rbp + 0xb8]
mov r12, qword [rsp + 0x30]
jmp 0x14015e5f0
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov rdi, qword [rcx + r14]
movsxd rcx, dword [r12 + 4]
mov rax, qword [r13 + 0x80]
lea r9, [rbp - 0x5c]
mov rbx, qword [rax + rcx*8]
xor r8d, r8d
mov rdx, rdi
mov rcx, qword [rbx + 0x30]
mov dword [rbp - 0x5c], r11d
call fcn.14011eb70
xor r11d, r11d
mov qword [rbx + 0x50], rdi
mov r9d, eax
mov dword [rbp + 0x298], eax
mov eax, dword [rbp - 0x5c]
mov word [rbx + 2], 0
mov dword [rbx + 0x20], r11d
mov dword [rbx + 0x24], eax
test eax, eax
je 0x14015db63
cmp dword [r12 + 8], r11d
jne 0x14015e664
mov ecx, 0x16952
call fcn.140122de0
xor r11d, r11d
mov r9d, eax
mov dword [rbp + 0x298], eax
jmp 0x14015db63
xor r11d, r11d
mov r10d, 1
mov r12d, dword [rbp + 0x298]
jmp 0x140161287
mov rbx, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rbx
call fcn.140105160
mov rcx, qword [r13 + 0x80]
movsxd rdx, dword [rbx + 4]
mov rdx, qword [rcx + rdx*8]
mov r9, qword [rsp + 0x40]
mov rsi, rbx
mov rcx, qword [rdx + 0x18]
mov qword [rax], rcx
movsxd rcx, dword [rbx + 4]
mov rax, rbx
mov rax, qword [r13 + 0x80]
mov rdx, qword [rax + rcx*8]
inc qword [rdx + 0x18]
jmp 0x14015aec4
mov r12, qword [rsp + 0x30]
mov rbx, r11
mov rcx, r13
mov rdx, r12
mov qword [rsp + 0x70], rbx
mov dword [rsp + 0x64], r11d
call fcn.140105160
movsxd rdx, dword [r12 + 4]
mov rcx, qword [r13 + 0x80]
mov rsi, qword [rcx + rdx*8]
mov r14, rax
test byte [rsi + 8], 2
jne 0x14015e75a
mov rcx, qword [rsi + 0x30]
lea rdx, [rsp + 0x64]
call fcn.14011d540
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161406
cmp dword [rsp + 0x64], eax
je 0x14015e728
mov eax, 1
mov ebx, eax
mov qword [rsp + 0x70], rax
jmp 0x14015e75a
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.1400f8590
mov rbx, qword [rbx + 0x30]
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x70], rbx
cmp rbx, rax
jl 0x14015e752
or dword [rsi + 8], 2
jmp 0x14015e75a
inc rbx
mov qword [rsp + 0x70], rbx
movsxd rdx, dword [r12 + 0xc]
test edx, edx
je 0x14015e7d1
mov rcx, qword [r13 + 0x110]
test rcx, rcx
je 0x14015e796
mov rax, qword [rcx + 8]
test rax, rax
je 0x14015e78c
nop dword [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14015e780
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14015e79f
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x58]
mov rcx, rdi
call fcn.140164860
mov rax, qword [rdi]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x14015e837
test byte [rsi + 8], 2
jne 0x14015e837
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rsp + 0x70], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x14015e84e
xor eax, eax
mov edi, eax
nop dword [rax + rax]
lea rdx, [rsp + 0x70]
mov ecx, 8
call fcn.1400bf2c0
mov rbx, qword [rsp + 0x70]
mov rcx, qword [rsi + 0x30]
movabs rax, 0x3fffffffffffffff
lea r9, [rsp + 0x64]
xor r8d, r8d
and rbx, rax
inc rbx
mov rdx, rbx
mov qword [rsp + 0x70], rbx
call fcn.14011eb70
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015e844
cmp dword [rsp + 0x64], eax
jne 0x14015e84e
inc edi
cmp edi, 0x64
jl 0x14015e7e0
mov r9d, reloc.ODBC32.dll_SQLFetch
mov dword [rbp + 0x298], r9d
mov rdi, qword [rsp + 0x38]
jmp 0x140161406
mov r12d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
xor r11d, r11d
mov byte [rsi + 3], 0
mov dword [rsi + 0x20], r11d
mov qword [r14], rbx
mov r14, qword [rsp + 0x58]
lea r10d, [r11 + 1]
jmp 0x14015bdbf
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 8]
movsxd rcx, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x80]
add rdx, r14
mov rbx, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
cmp byte [r12 + 1], 0xfa
mov r8, qword [rcx + r14]
mov qword [rbp + 0x190], r8
jne 0x14015e8da
cmp qword [rdi + 0x140], 0
je 0x14015e8da
mov rax, qword [rdi + 0x20]
movsx rcx, byte [rbx + 1]
mov rdi, qword [r12 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x14015e8e0
mov rdi, r11
mov rsi, r11
test byte [r12 + 2], 1
je 0x14015e8ec
inc qword [r13 + 0x40]
test byte [r12 + 2], 0x20
je 0x14015e8fd
mov rax, qword [rsp + 0x38]
mov qword [rax + 0x38], r8
mov rax, qword [rdx + 0x10]
movzx r8d, word [r12 + 2]
mov qword [rbp + 0x198], rax
mov eax, dword [rdx + 0xc]
mov dword [rbp + 0x1ac], eax
test r8b, 0x10
je 0x14015e923
mov r9d, dword [rbx + 0x24]
jmp 0x14015e926
mov r9d, r11d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x14015e93b
mov eax, dword [rdx]
mov dword [rbp + 0x1b0], eax
jmp 0x14015e942
mov dword [rbp + 0x1b0], r11d
mov qword [rbp + 0x188], r11
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp + 0x188]
and r8d, 0x8a
call fcn.14011c890
xor r11d, r11d
mov byte [rbx + 3], 0
mov r9d, eax
mov dword [rbp + 0x298], eax
mov dword [rbx + 0x20], r11d
test eax, eax
jne 0x14015e844
test rdi, rdi
je 0x14015ecb8
test byte [r12 + 2], 4
mov r9, qword [rdi]
mov rdi, qword [rsp + 0x38]
mov rcx, qword [rdi + 0x138]
mov edx, reloc.WS2_32.dll_select
mov eax, reloc.WS2_32.dll_socket
cmovne edx, eax
mov rax, qword [rbp + 0x190]
mov r8, rsi
mov qword [rsp + 0x20], rax
call qword [rdi + 0x140]
mov r12d, dword [rbp + 0x298]
jmp 0x14015b3b7
mov r12, qword [rsp + 0x30]
mov rcx, qword [r13 + 0x80]
movsxd rax, dword [r12 + 4]
mov r9, qword [rcx + rax*8]
movsxd rax, dword [r12 + 8]
mov rdx, qword [rcx + rax*8]
movsxd rax, dword [r12 + 0xc]
test eax, eax
je 0x14015ea09
mov rdx, qword [rdx + 0x30]
imul rcx, rax, 0x38
mov r8, qword [rcx + r14]
mov rcx, qword [r9 + 0x30]
call fcn.14011edf0
jmp 0x14015de4a
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
mov r8, r11
call fcn.14011edf0
jmp 0x14015de4a
mov r12, qword [rsp + 0x30]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [r12 + 4]
mov r15d, dword [r12 + 8]
cmp byte [r12 + 1], 0xfa
mov rdi, qword [rax + rcx*8]
mov r12, qword [rsp + 0x38]
jne 0x14015ea8d
cmp qword [r12 + 0x140], 0
je 0x14015ea8d
mov rax, qword [r12 + 0x20]
movsx rcx, byte [rdi + 1]
shl rcx, 5
mov r14, qword [rcx + rax]
mov rax, qword [rsp + 0x30]
test byte [rax + 2], 2
mov rsi, qword [rax + 0x10]
je 0x14015ea98
cmp byte [rdi + 4], 0
je 0x14015ea98
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.1400f8590
mov rax, qword [rbx + 0x30]
mov qword [rdi + 0x50], rax
jmp 0x14015ea93
mov r14, r11
mov rsi, r11
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax + 2]
mov rcx, qword [rdi + 0x30]
call fcn.14011bbf0
xor r11d, r11d
mov r9d, eax
mov dword [rbp + 0x298], eax
mov qword [rdi + 0x20], r11
test eax, eax
jne 0x14015d4eb
test r15b, 1
je 0x14015eca6
inc qword [r13 + 0x40]
mov r10, qword [r12 + 0x140]
test r10, r10
je 0x14015eca6
test rsi, rsi
je 0x14015eca6
test byte [rsi + 0x30], 0x80
jne 0x14015eca6
mov rax, qword [rdi + 0x50]
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsi]
mov rcx, qword [rdi + 0x138]
lea edx, [r11 + 9]
mov r8, r14
mov qword [rsp + 0x20], rax
call r10
mov r12d, dword [rbp + 0x298]
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
jmp 0x14015b3b7
mov rax, qword [r13 + 0x40]
mov rbx, qword [rsp + 0x50]
add qword [rdi + 0x80], rax
mov qword [rdi + 0x78], rax
mov qword [r13 + 0x40], r11
mov r13, qword [rbp + 0x280]
add rsi, 0x18
jmp 0x14015ac7b
mov r12, qword [rsp + 0x30]
mov rax, qword [r13 + 0x80]
lea r9, [rbp - 0x60]
movsxd rcx, dword [r12 + 4]
mov r8d, dword [r12 + 0x10]
mov dword [rbp - 0x60], r11d
mov rcx, qword [rax + rcx*8]
movsxd rax, dword [r12 + 0xc]
imul rdx, rax, 0x38
add rdx, r14
call fcn.140166cf0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161406
xor r11d, r11d
mov r12d, eax
lea r10d, [rax + 1]
cmp dword [rbp - 0x60], r11d
jne 0x140161287
mov r9, qword [rsp + 0x40]
jmp 0x14015bdbf
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 8]
movsxd rcx, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x80]
add rdx, r14
mov rcx, qword [rax + rcx*8]
call fcn.1401673e0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161406
movsxd rcx, dword [r12 + 0xc]
mov rax, qword [r13 + 0x80]
mov r12d, r9d
mov rcx, qword [rax + rcx*8]
mov r9, qword [rsp + 0x40]
xor r11d, r11d
mov dword [rcx + 0x20], r11d
lea r10d, [r12 + 1]
jmp 0x14015bdbf
mov r12, qword [rsp + 0x30]
mov rcx, r13
mov rdx, r12
call fcn.140105160
mov rcx, qword [r13 + 0x80]
movsxd rdx, dword [r12 + 4]
mov rdx, qword [rcx + rdx*8]
mov rdi, rax
mov rbx, qword [rdx + 0x30]
mov rcx, rbx
call fcn.1400f8590
mov rax, qword [rsp + 0x38]
mov edx, dword [rbx + 0x40]
cmp edx, dword [rax + 0x88]
ja 0x140161816
mov r8, rdi
mov rcx, rbx
call fcn.140164530
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015e844
cmp dword [r12 + 0xc], eax
jne 0x14015ecb5
mov eax, 0x1000
test word [rdi + 8], ax
je 0x14015ecb5
mov rcx, rdi
call fcn.1401648c0
mov rdi, qword [rsp + 0x38]
test eax, eax
jne 0x14015cc31
mov r12d, dword [rbp + 0x298]
jmp 0x14015b3b7
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
jmp 0x14015ecb8
xor r11d, r11d
mov r10d, 1
mov r12d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
jmp 0x14015bdbf
mov rbx, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rbx
call fcn.140105160
movsxd rdx, dword [rbx + 4]
mov rcx, qword [r13 + 0x80]
mov rbx, qword [rcx + rdx*8]
mov rdi, rax
cmp byte [rbx + 2], 0
je 0x14015ed19
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov r10d, 1
mov word [rax + 8], r10w
xor r11d, r11d
jmp 0x14015bdbf
cmp byte [rbx + 3], 0
je 0x14015ed34
mov rax, qword [rbx + 0x50]
mov qword [rbp - 0x28], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x38]
jmp 0x14015b3b7
cmp byte [rbx], 2
jne 0x14015ed7f
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp - 0x28]
mov rbx, qword [rcx]
mov rax, qword [rbx]
call qword [rax + 0x60]
mov rdx, rbx
mov rcx, r13
mov dword [rbp + 0x298], eax
call fcn.140168b90
mov r9d, dword [rbp + 0x298]
test r9d, r9d
jne 0x14015d4eb
mov rax, qword [rbp - 0x28]
mov r12d, r9d
mov qword [rdi], rax
mov rdi, qword [rsp + 0x38]
jmp 0x14015b3b7
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x14015eda9
mov rcx, rbx
call fcn.1400f9d80
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015d4eb
mov r12d, eax
xor r11d, r11d
jmp 0x14015edb6
xor r11d, r11d
mov r12d, r11d
mov dword [rbp + 0x298], r11d
cmp byte [rbx + 2], 0
je 0x14015edd6
mov r9, qword [rsp + 0x40]
mov r10d, 1
mov word [rdi + 8], r10w
mov rdi, qword [rsp + 0x38]
jmp 0x14015bdbf
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.1400f8590
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x28], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x38]
jmp 0x14015b3b7
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 0
mov byte [rcx + 2], 1
mov dword [rcx + 0x20], r11d
jne 0x14015bdc5
mov rcx, qword [rcx + 0x30]
call fcn.14011b1d0
jmp 0x14015b3b7
mov rax, qword [rsp + 0x30]
mov dword [rbp - 0x64], r11d
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rdi, qword [rax + rcx*8]
mov rcx, qword [rdi + 0x30]
cmp bl, 0x88
jne 0x14015ee66
or rax, 0xffffffffffffffff
mov dword [rdi + 0x24], eax
cmp byte [rcx], 0
jne 0x14015ee66
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
jmp 0x14015bdc5
lea rdx, [rbp - 0x64]
call fcn.14011d540
mov r12, qword [rsp + 0x30]
xor r11d, r11d
mov r9d, eax
mov dword [rbp + 0x298], eax
mov eax, dword [rbp - 0x64]
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], r11d
mov byte [rdi + 2], al
test r9d, r9d
jne 0x14015e844
cmp dword [r12 + 8], r11d
jle 0x14015f669
mov r12d, r9d
lea r10d, [r9 + 1]
test eax, eax
jne 0x140161287
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
jmp 0x14015bdbf
mov rax, qword [r13 + 0x80]
mov r12, qword [rsp + 0x30]
movsxd rcx, dword [r12 + 4]
mov rcx, qword [rax + rcx*8]
mov rbx, qword [rcx + 0x30]
mov rcx, rbx
call fcn.140101f40
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015ef08
xor eax, eax
mov rcx, rbx
mov esi, eax
mov dword [rbp - 0x68], eax
call fcn.140101cb0
mov r9d, eax
mov dword [rbp + 0x298], eax
jmp 0x14015ef2c
cmp eax, 0x10
jne 0x14015ef29
mov r10d, 1
xor r11d, r11d
mov esi, r10d
mov dword [rbp - 0x68], r10d
mov r9d, r11d
mov dword [rbp + 0x298], r11d
jmp 0x14015ef35
mov esi, dword [rbp - 0x68]
mov r10d, 1
xor r11d, r11d
test r9d, r9d
jne 0x140161406
test esi, esi
jne 0x14015e66a
mov rcx, rbx
call fcn.14011e240
test rax, rax
js 0x14015f66e
mov rcx, rax
call fcn.140141250
movsx ecx, ax
cmp ecx, dword [r12 + 0xc]
jge 0x14015f66e
mov r12d, dword [rbp + 0x298]
mov r10d, 1
mov dword [rbp - 0x68], r10d
jmp 0x140161287
inc dword [r13 + 0xe4]
mov r12, qword [rsp + 0x30]
mov rax, qword [r13 + 0x80]
mov ebx, r10d
movsxd rcx, dword [r12 + 4]
mov dword [rbp - 0x58], ebx
mov rdi, qword [rax + rcx*8]
cmp byte [rdi], 1
jne 0x14015efc7
lea rdx, [rbp - 0x58]
mov rcx, rdi
call fcn.140167350
mov ebx, dword [rbp - 0x58]
xor r11d, r11d
mov r9d, eax
mov dword [rbp + 0x298], eax
jmp 0x14015f000
mov rsi, qword [rdi + 0x30]
mov rcx, rsi
call fcn.140101f40
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015f02e
xor eax, eax
mov rcx, rsi
mov ebx, eax
call fcn.140101cb0
mov r9d, eax
mov dword [rbp + 0x298], eax
xor r11d, r11d
mov byte [rdi + 3], 0
mov dword [rdi + 0x20], r11d
test r9d, r9d
jne 0x14015e844
mov r12d, dword [rbp + 0x298]
mov byte [rdi + 2], bl
lea r10d, [r9 + 1]
test ebx, ebx
jne 0x140161287
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
jmp 0x14015bdbf
cmp eax, 0x10
jne 0x14015eff5
xor r11d, r11d
lea ebx, [rax - 0xf]
mov r9d, r11d
mov dword [rbp + 0x298], r11d
jmp 0x14015eff8
mov rax, qword [r13 + 0x80]
mov r12, qword [rsp + 0x30]
movsxd rcx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rcx, rdi
mov rdx, rbx
call fcn.140166ff0
jmp 0x14015f08a
mov r12, qword [rsp + 0x30]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [r12 + 4]
mov edx, dword [r12 + 0xc]
mov rbx, qword [rax + rcx*8]
mov rcx, qword [rbx + 0x30]
call qword [r12 + reloc.WS2_32.dll_recv]
xor r11d, r11d
mov dword [rbp + 0x298], eax
mov r9d, eax
mov dword [rbx + 0x20], r11d
test eax, eax
jne 0x14015f0b5
mov byte [rbx + 2], r11b
movzx eax, word [r12 + 2]
inc dword [r13 + rax*4 + 0xdc]
jmp 0x140160cd5
cmp r9d, 0x65
jne 0x140161406
mov r12d, r11d
mov dword [rbp + 0x298], r11d
mov byte [rbx + 2], 1
jmp 0x14015fa46
mov r12, qword [rsp + 0x30]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
add rbx, r14
test byte [r12 + 2], 1
je 0x14015f0ff
inc qword [r13 + 0x40]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x14015f126
mov rcx, rbx
call fcn.140164290
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015e844
xor r11d, r11d
movsxd rax, dword [rbx + 0xc]
movzx r8d, word [r12 + 2]
mov qword [rbp + 0x1f8], rax
mov rax, qword [rbx + 0x10]
mov qword [rbp + 0x1f0], rax
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
movzx eax, word [r12 + 0x10]
add rcx, r14
mov word [rbp + 0x210], ax
mov qword [rbp + 0x208], rcx
test r8b, 0x10
je 0x14015f16e
mov r9d, dword [rdi + 0x24]
jmp 0x14015f171
mov r9d, r11d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x1f0]
and r8d, 0x8a
call fcn.14011c890
xor r11d, r11d
mov dword [rdi + 0x20], r11d
mov rdi, qword [rsp + 0x38]
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161406
mov r9, qword [rsp + 0x40]
mov r12d, eax
lea r10d, [rax + 1]
jmp 0x14015bdbf
mov r12, qword [rsp + 0x30]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [r12 + 8]
imul rbx, rax, 0x38
mov eax, 0x4000
add rbx, r14
test word [rbx + 8], ax
je 0x14015f1fb
mov rcx, rbx
call fcn.140164290
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015e844
mov rdx, rbx
mov rcx, rdi
call fcn.1401674b0
mov rdi, qword [rsp + 0x38]
jmp 0x14015de4a
mov r12, qword [rsp + 0x30]
mov rax, qword [r13 + 0x80]
lea r8, [rbp - 0x1c]
movsxd rcx, dword [r12 + 4]
mov rdi, qword [rax + rcx*8]
mov rax, qword [rdi + 0x38]
mov rbx, qword [rdi + 0x30]
mov byte [rbp + 0x102], 0
mov qword [rbp + 0xf0], rax
movzx eax, word [r12 + 0xc]
mov rcx, rbx
mov word [rbp + 0x100], ax
movsxd rax, dword [r12 + 8]
imul rdx, rax, 0x38
add rdx, r14
mov qword [rbp + 0xf8], rdx
lea rdx, [rbp + 0xf0]
call fcn.14011c4d0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015e844
cmp dword [rbp - 0x1c], eax
jne 0x14015f2bc
mov dl, 4
mov rcx, rbx
call fcn.14011bbf0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015e844
mov r9, qword [rsp + 0x40]
xor r11d, r11d
mov r12d, eax
mov qword [rdi + 0x20], r11
mov rdi, qword [rsp + 0x38]
lea r10d, [rax + 1]
jmp 0x14015bdbf
cmp word [r12 + 2], 0
je 0x14015f2dc
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x30]
and eax, 0x10000001
cmp rax, 1
jne 0x140161678
mov r12d, dword [rbp + 0x298]
mov r9, qword [rsp + 0x40]
xor r11d, r11d
mov qword [rdi + 0x20], r11
mov rdi, qword [rsp + 0x38]
lea r10d, [r11 + 1]
jmp 0x14015bdbf
mov rax, qword [r13 + 0x80]
mov r12, qword [rsp + 0x30]
movsxd rcx, dword [r12 + 4]
mov rbx, qword [rax + rcx*8]
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x14015f34b
mov rcx, rbx
call fcn.1400f9d80
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161406
mov r9, qword [rsp + 0x40]
mov r12d, eax
xor r11d, r11d
lea r10d, [rax + 1]
mov r8d, 0x2400
jmp 0x14015f355
mov r12d, r11d
mov dword [rbp + 0x298], r11d
cmp byte [rbx + 2], 0
jne 0x14015f3e1
mov rdx, qword [rbx + 0x30]
lea r8, [rbp - 0x70]
mov rcx, rdi
mov qword [rbp - 0x70], r11
call fcn.1401631b0
mov r12, qword [rsp + 0x30]
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161406
cmp byte [r12], 0x8c
jne 0x14015f3c3
movsxd rcx, dword [r12 + 0xc]
mov rax, qword [r13 + 0x80]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rbp - 0x70]
mov word [rdx + 2], 0x100
mov qword [rdx + 0x50], rax
mov rax, qword [r12 + 0x10]
mov qword [rdx + 0x28], rbx
mov r12d, r9d
mov qword [rdx + 0x10], rax
jmp 0x14015b3b7
mov rdx, r12
mov rcx, r13
call fcn.140105160
mov rcx, qword [rbp - 0x70]
mov r12d, dword [rbp + 0x298]
mov qword [rax], rcx
jmp 0x14015b3b7
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r8w
je 0x14015f402
call fcn.14017ac20
jmp 0x14015b3b7
mov word [rcx + 8], r10w
jmp 0x14015bdc5
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx + 3], 0
je 0x14015bdc5
call fcn.1401627d0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161401
mov r12d, eax
jmp 0x14015b3b7
mov r12, qword [rsp + 0x30]
mov rax, qword [r13 + 0x80]
cmp bl, 0x29
movsxd rcx, dword [r12 + 4]
mov rdx, qword [rax + rcx*8]
mov rax, qword [rdx + 0x38]
mov rbx, qword [rdx + 0x30]
mov qword [rbp + 0x108], rax
movzx eax, word [r12 + 0x10]
mov word [rbp + 0x118], ax
sbb al, al
mov byte [rbp + 0x11a], al
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
add rcx, r14
mov qword [rbp + 0x110], rcx
mov rcx, rbx
call fcn.1400f8590
mov eax, dword [rbx + 0x40]
test rax, rax
jle 0x1401616c1
cmp rax, 0x7fffffff
jg 0x1401616c1
xor ecx, ecx
lea r8, [rbp + 0x1b8]
mov edx, eax
mov word [rbp + 0x1c0], cx
mov dword [rbp + 0x1d8], ecx
mov rcx, rbx
mov qword [rbp + 0x1e0], rdi
call fcn.140164530
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161406
mov rdx, qword [rbp + 0x1c8]
mov ecx, dword [rbp + 0x1c4]
lea r8, [rbp + 0x108]
call fcn.140165ba0
mov r8d, 0x2400
mov ebx, eax
test word [rbp + 0x1c0], r8w
jne 0x14015f523
cmp dword [rbp + 0x1d8], 0
je 0x14015f535
lea rcx, [rbp + 0x1b8]
call fcn.14017ab50
mov r8d, 0x2400
test byte [r12], 1
je 0x14015f540
neg ebx
jmp 0x14015f542
inc ebx
mov r12d, dword [rbp + 0x298]
xor r11d, r11d
lea r10d, [r11 + 1]
test ebx, ebx
jg 0x140161287
mov r9, qword [rsp + 0x40]
jmp 0x14015bdc5
mov r12, qword [rsp + 0x30]
mov rcx, r13
mov rdx, r12
call fcn.140105160
mov rsi, rax
mov eax, 1
mov word [rsi + 8], ax
mov ecx, dword [rdi + 0xe8]
inc ecx
cmp dword [rdi + 0xdc], ecx
jg 0x1401616d9
movsxd r14, dword [r12 + 0xc]
mov edi, dword [r12 + 4]
xor eax, eax
mov dword [rbp - 0x78], eax
mov rax, qword [rsp + 0x38]
mov rcx, r14
mov rax, qword [rax + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
cmp byte [rbx + 0x11], 0
je 0x14015f5cd
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x14015f5cd
mov rcx, rbx
call fcn.1400cf920
lea r8, [rbp - 0x78]
mov edx, edi
mov rcx, rbx
call fcn.1400cf0c0
cmp byte [rbx + 0x11], 0
mov r9d, eax
mov dword [rbp + 0x298], eax
je 0x14015f5fe
dec dword [rbx + 0x14]
jne 0x14015f5fe
mov rcx, rbx
call fcn.140177260
mov r9d, dword [rbp + 0x298]
movsxd r8, dword [rbp - 0x78]
mov eax, 4
mov qword [rsi], r8
mov word [rsi + 8], ax
test r9d, r9d
jne 0x14015e844
mov rdi, qword [rsp + 0x38]
test r8d, r8d
je 0x14015f64c
mov r9d, dword [r12 + 4]
mov edx, r14d
mov rcx, rdi
call fcn.14014ce70
mov r12d, dword [rbp + 0x298]
lea eax, [r14 + 1]
mov r14, qword [rsp + 0x58]
mov byte [rbp + 0x290], al
jmp 0x14015b3b7
mov r14, qword [rsp + 0x58]
mov r12d, dword [rbp + 0x298]
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x14015bdbf
mov rdi, qword [rsp + 0x38]
mov r12d, dword [rbp + 0x298]
mov r9, qword [rsp + 0x40]
mov r10d, 1
jmp 0x14015bdbf
mov r12, qword [rsp + 0x30]
mov rcx, qword [rdi + 0x20]
mov qword [rbp], r11
movsxd rax, dword [r12 + 8]
mov edx, dword [r12 + 4]
lea r8, [rbp]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14011b200
cmp dword [r12 + 0xc], 0
mov r9d, eax
mov dword [rbp + 0x298], eax
je 0x14015f6d8
mov rdx, qword [rbp]
add qword [r13 + 0x40], rdx
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x14015f6d8
imul rcx, rax, 0x38
add qword [rcx + r14], rdx
test r9d, r9d
jmp 0x14015de55
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rcx, qword [rax + rcx*8]
cmp byte [rcx], 1
jne 0x14015f70a
mov rdx, qword [rcx + 0x30]
mov rcx, rdi
call fcn.1401670a0
jmp 0x14015b3b7
mov rcx, qword [rcx + 0x30]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.14011b200
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161401
mov r12d, eax
jmp 0x14015b3b7
mov r12, qword [rsp + 0x30]
mov rcx, r13
mov rdx, r12
call fcn.140105160
movsxd rcx, dword [r12 + 4]
mov r8d, dword [r12 + 0xc]
shl rcx, 5
mov rbx, rax
xor eax, eax
add rcx, qword [rdi + 0x20]
lea rdx, [rbp - 0x80]
mov dword [rbp - 0x80], eax
mov rcx, qword [rcx + 8]
call fcn.14011ba10
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x140161406
mov eax, dword [rbp - 0x80]
mov r12d, r9d
mov qword [rbx], rax
jmp 0x14015b3b7
inc byte [rdi + 0x70]
mov r12, qword [rsp + 0x30]
xor r9d, r9d
mov rdx, qword [r12 + 0x10]
xor r8d, r8d
mov rcx, rdi
mov qword [rsp + 0x20], r11
call fcn.1400b6c70
dec byte [rdi + 0x70]
jmp 0x14015de4a
mov r12, qword [rsp + 0x30]
mov r9, qword [r12 + 0x10]
movsxd rbx, dword [r12 + 4]
test r9, r9
jne 0x14015f812
mov rcx, qword [rdi + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.14014e070
and dword [rdi + 0x2c], 0xffffffef
movzx r9d, word [r12 + 2]
lea r8, [r13 + 0xb0]
mov edx, ebx
mov rcx, rdi
call fcn.14013d600
or dword [rdi + 0x2c], 1
and dword [r13 + 0xd0], 0xfffffffc
mov r9d, eax
mov dword [rbp + 0x298], eax
jmp 0x14015f8fa
mov r8, qword [rdi + 0x20]
mov qword [rbp + 0x90], rdi
mov dword [rbp + 0xa0], ebx
mov dword [rbp + 0xa8], r11d
lea rax, [r13 + 0xb0]
mov qword [rsp + 0x20], r9
mov qword [rbp + 0x98], rax
mov rdx, rbx
lea r9, str.sqlite_master
shl rdx, 5
mov rax, qword [rdx + r8 + 8]
mov rcx, qword [rax + 8]
mov eax, dword [rcx + 0x40]
mov rcx, rdi
mov dword [rbp + 0xb0], eax
mov r8, qword [rdx + r8]
lea rdx, str.SELECTFROM__w_._s_WHERE__s_ORDER_BY_rowid
call fcn.140141520
mov rbx, rax
test rax, rax
je 0x1401616f3
xor eax, eax
lea r9, [rbp + 0x90]
lea r8, [fcn.14013d3a0]
mov rdx, rbx
mov rcx, rdi
mov byte [rdi + 0xc5], 1
mov dword [rbp + 0xa4], eax
mov dword [rbp + 0xac], eax
mov qword [rsp + 0x20], rax
call fcn.1400b6c70
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015f8e1
mov eax, dword [rbp + 0xa4]
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015f8e1
cmp dword [rbp + 0xac], eax
jne 0x14015f8e1
mov ecx, 0x16f3a
call fcn.140122de0
mov dword [rbp + 0x298], eax
mov rdx, rbx
mov rcx, rdi
call fcn.140124d30
mov r9d, dword [rbp + 0x298]
mov byte [rdi + 0xc5], 0
test r9d, r9d
jne 0x1401616fe
mov r12d, dword [rbp + 0x298]
jmp 0x14015b3b7
mov r12, qword [rsp + 0x30]
mov rcx, rdi
mov edx, dword [r12 + 4]
call fcn.1401187f0
jmp 0x14015de4a
mov rax, qword [rsp + 0x30]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1401552e0
jmp 0x14015b3b7
mov rax, qword [rsp + 0x30]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1401551d0
jmp 0x14015b3b7
mov rax, qword [rsp + 0x30]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1401553c0
jmp 0x14015b3b7
mov rcx, qword [rsp + 0x30]
mov r9, qword [rsp + 0x30]
mov r10, qword [rsp + 0x38]
movsxd rax, dword [rcx + 0xc]
mov r8, qword [rcx + 0x10]
mov rdx, qword [r10 + 0x20]
imul rdi, rax, 0x38
movsxd rax, dword [rcx + 4]
mov ecx, dword [rdi + r14]
lea r11, [rbp - 0x14]
imul rbx, rax, 0x38
movzx eax, word [r9 + 2]
mov r9d, dword [r9 + 8]
inc ecx
shl rax, 5
mov qword [rsp + 0x28], r11
mov rdx, qword [rax + rdx + 8]
mov dword [rsp + 0x20], ecx
add r8, 4
mov rcx, r10
add rbx, r14
call fcn.14011cec0
mov edx, 0x2400
mov rsi, rax
test word [rbx + 8], dx
je 0x14015f9e4
mov rcx, rbx
call fcn.14017ac20
jmp 0x14015f9ed
mov eax, 1
mov word [rbx + 8], ax
mov eax, dword [rbp - 0x14]
test eax, eax
je 0x14015fa24
test rsi, rsi
je 0x140161a9e
dec eax
mov r9b, 1
or r8, 0xffffffffffffffff
movsxd rcx, eax
lea rax, [fcn.1400be700]
mov rdx, rsi
sub qword [rdi + r14], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.140164cb0
test byte [rbx + 8], 2
movzx ecx, r15b
je 0x14015fa41
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x14015fa41
movzx edx, cl
mov rcx, rbx
call fcn.140165120
mov rdi, qword [rsp + 0x38]
mov eax, dword [rdi + 0x198]
test eax, eax
jne 0x140161a94
mov r14, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
cmp rbx, r14
jb 0x140161094
nop word [rax + rax]
mov rdx, qword [rdi + 0x208]
test rdx, rdx
je 0x140161094
mov eax, dword [rdi + 0x218]
mov rcx, qword [rdi + 0x210]
add r14, rax
mov qword [rsp + 0x48], r14
call rdx
test eax, eax
jne 0x1401617db
cmp rbx, r14
jae 0x14015fa70
mov r14, qword [rsp + 0x58]
jmp 0x14015b3b7
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 8]
imul rdi, rax, 0x38
add rbx, r14
test byte [rbx + 8], 0x10
jne 0x14015fadc
mov rcx, rbx
call fcn.140164c40
test eax, eax
jne 0x140161a9e
mov rdx, qword [rdi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.14014d140
mov rdi, qword [rsp + 0x38]
jmp 0x14015b3b7
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r14
test byte [rdi + 8], 0x10
je 0x14015fb95
mov rbx, qword [rdi + 0x10]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x14015fb3b
test al, 1
jne 0x14015fb36
mov rcx, qword [rbx + 0x10]
call fcn.1401125c0
mov r10d, 1
mov r8d, 0x2400
mov qword [rbx + 0x10], rax
or word [rbx + 0x32], 3
mov rax, qword [rbx + 0x10]
test rax, rax
je 0x14015fb95
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x14015fb5c
mov rcx, rbx
call fcn.14014ced0
mov rax, qword [rsp + 0x30]
mov edx, 0x2400
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], dx
je 0x14015fb84
mov rdx, rdi
call fcn.14017c160
jmp 0x14015fa41
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 8], ax
jmp 0x14015fa41
test word [rdi + 8], r8w
je 0x14015fbae
mov rcx, rdi
call fcn.14017ac20
mov rdi, qword [rsp + 0x38]
jmp case.0x14015acb5.11
mov word [rdi + 8], r10w
mov rdi, qword [rsp + 0x38]
jmp case.0x14015acb5.11
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 4]
mov edi, dword [rcx + 0x10]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
add rbx, r14
imul rsi, rax, 0x38
test byte [rbx + 8], 0x10
jne 0x14015fbee
mov rcx, rbx
call fcn.140164c40
test eax, eax
jne 0x140161a9e
test edi, edi
je 0x14015fc0b
mov r8, qword [rsi + r14]
mov rcx, qword [rbx + 0x10]
mov edx, edi
call fcn.14014d230
test eax, eax
jne 0x140160aeb
test edi, edi
js 0x14015b4a2
mov rdx, qword [rsi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.14014d140
mov rdi, qword [rsp + 0x38]
jmp 0x14015b3b7
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 0xc]
mov r15, qword [rcx + 0x10]
imul r14, rax, 0x38
add r14, qword [rsp + 0x58]
cmp word [rcx + 2], 0
je 0x14015fc68
mov rax, qword [r13 + 0x110]
mov rcx, qword [r15 + 0x20]
test rax, rax
je 0x14015fc68
cmp qword [rax + 0x38], rcx
je 0x14015bdb2
mov rax, qword [rax + 8]
test rax, rax
jne 0x14015fc55
mov eax, dword [rdi + 0xb0]
cmp dword [r13 + 0x120], eax
jge 0x14016172f
test byte [r14 + 8], 0x10
jne 0x14015fe80
mov edx, dword [r15 + 0x10]
mov ebx, dword [r15 + 0xc]
add ebx, edx
test edx, edx
jne 0x14015fc96
inc ebx
mov eax, dword [r15 + 8]
imul ecx, ebx, 7
add ecx, edx
add eax, 7
cdq
and edx, 7
add eax, edx
sar eax, 3
add eax, 0x78
lea edi, [rax + rcx*8]
mov rcx, qword [rsp + 0x38]
movsxd rdx, edi
call fcn.140124f60
mov rsi, rax
test rax, rax
je 0x140161a9e
mov edx, 0x2400
test word [r14 + 8], dx
jne 0x14015fcdd
cmp dword [r14 + 0x20], 0
je 0x14015fce5
mov rcx, r14
call fcn.14017ab50
mov rcx, qword [rsp + 0x30]
mov dword [r14 + 0xc], edi
mov rdi, qword [rsp + 0x38]
sub rcx, qword [rsp + 0x40]
mov qword [r14 + 0x10], rsi
mov eax, 0x410
mov word [r14 + 8], ax
lea rax, [0x140162aa0]
mov qword [r14 + 0x30], rax
mov qword [rsi], r13
mov dword [rsi + 0x60], ebx
mov eax, dword [r15 + 0x10]
mov dword [rsi + 0x64], eax
movabs rax, 0x2aaaaaaaaaaaaaab
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [rsi + 0x54], edx
mov rax, qword [r13 + 0x70]
lea rdx, [rsi + 0x78]
mov qword [rsi + 0x20], rax
mov eax, dword [r13 + 0x28]
mov dword [rsi + 0x5c], eax
mov rax, qword [r13 + 0x80]
mov qword [rsi + 0x28], rax
mov eax, dword [r13 + 0x2c]
mov dword [rsi + 0x50], eax
mov rax, qword [r13 + 0x90]
mov qword [rsi + 0x10], rax
mov eax, dword [r13 + 0x98]
mov dword [rsi + 0x58], eax
mov rax, qword [r15 + 0x20]
mov qword [rsi + 0x38], rax
movsxd rax, ebx
imul rcx, rax, 0x38
lea rax, [rsi + 0x78]
add rdx, rcx
cmp rax, rdx
je 0x14015fdb1
mov ecx, pe_nt_image_headers64
nop word [rax + rax]
mov word [rax + 8], cx
mov qword [rax + 0x28], rdi
add rax, 0x38
cmp rax, rdx
jne 0x14015fda0
xor r11d, r11d
inc dword [r13 + 0x120]
mov rax, qword [r13 + 0x110]
lea r8, [rsi + 0x78]
mov qword [rsi + 8], rax
mov rax, qword [rdi + 0x38]
mov qword [rsp + 0x58], r8
mov qword [rsi + 0x40], rax
mov rax, qword [r13 + 0x40]
mov qword [rsi + 0x68], rax
mov rax, qword [r13]
mov rcx, qword [rax + 0x78]
mov qword [rsi + 0x70], rcx
mov rax, qword [r13 + 0x130]
mov qword [rsi + 0x48], rax
mov qword [r13 + 0x70], r8
mov qword [r13 + 0x130], r11
mov qword [r13 + 0x40], r11
mov qword [r13 + 0x110], rsi
movsxd rcx, dword [rsi + 0x60]
mov dword [r13 + 0x28], ecx
movzx eax, word [rsi + 0x64]
imul rdx, rcx, 0x38
mov dword [r13 + 0x2c], eax
add rdx, r8
mov qword [r13 + 0x80], rdx
movsxd rax, dword [r15 + 0x10]
lea rcx, [rdx + rax*8]
mov qword [rsi + 0x30], rcx
mov eax, dword [r15 + 8]
add eax, 7
cdq
and edx, 7
add eax, edx
xor edx, edx
sar eax, 3
movsxd r8, eax
call sub.msvcrt.dll_memset
mov rcx, qword [r15]
mov qword [r13 + 0x90], rcx
mov eax, dword [r15 + 8]
movzx r15d, byte [rbp + 0x288]
mov qword [rsp + 0x40], rcx
add rcx, 0xffffffffffffffe8
mov dword [r13 + 0x98], eax
mov qword [rsp + 0x30], rcx
jmp 0x14015fa46
mov rsi, qword [r14 + 0x10]
jmp 0x14015fdb4
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140105160
mov r9, qword [r13 + 0x110]
movsxd rcx, dword [r9 + 0x54]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r9 + 0x10]
mov r8d, dword [rcx + rdx*8 + 4]
mov rcx, qword [rsp + 0x30]
add r8d, dword [rcx + 4]
movsxd rcx, r8d
mov r8d, 0x1000
imul rdx, rcx, 0x38
mov rcx, rax
add rdx, qword [r9 + 0x20]
call fcn.140164f80
jmp 0x14015b3b7
mov eax, dword [rdi + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x30]
jae 0x14015fef4
movsxd rax, dword [rax + 8]
add qword [rdi + 0x2f8], rax
jmp 0x14015bdc5
cmp dword [rax + 4], 0
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
je 0x14015ff1f
add qword [rdi + 0x2f0], rax
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x14015ac7b
add qword [r13 + 0x58], rax
mov rbx, qword [rsp + 0x50]
mov r13, qword [rbp + 0x280]
add rsi, 0x18
jmp 0x14015ac7b
cmp dword [rsi + 4], 0
je 0x14015ff6f
cmp qword [rdi + 0x2f0], 0
jne case.0x14015acb5.88
cmp qword [rdi + 0x2f8], 0
je 0x140161291
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x14015ac7b
cmp qword [r13 + 0x58], 0
jne case.0x14015acb5.88
cmp qword [rdi + 0x2f8], 0
je 0x140161291
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x14015ac7b
mov rcx, qword [r13 + 0x110]
test rcx, rcx
je 0x14015ffd1
mov rax, qword [rcx + 8]
test rax, rax
je 0x14015ffbe
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x14015ffb2
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x14015ffe1
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.140164860
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.140164860
mov rax, qword [rbx]
mov rsi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
xor r11d, r11d
mov r8d, 0x2400
lea r10d, [r11 + 1]
cmp qword [rdi], rax
jge 0x140160023
mov qword [rdi], rax
mov rdi, qword [rsp + 0x38]
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x14015ac7b
mov rax, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rdx, qword [rcx + r14]
test rdx, rdx
jle case.0x14015acb5.88
mov rax, rsi
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x140161291
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
imul rbx, rax, 0x38
movsxd rax, dword [rcx + 0xc]
mov rcx, r13
imul rdi, rax, 0x38
call fcn.140105160
mov rcx, qword [rbx + r14]
xor r11d, r11d
mov r10, rax
mov qword [rbp - 0x40], rcx
test rcx, rcx
jle 0x1401600d7
mov rcx, qword [rdi + r14]
mov edx, r11d
test rcx, rcx
cmovg rdx, rcx
lea rcx, [rbp - 0x40]
call fcn.140116960
test eax, eax
jne 0x1401600d7
mov rax, qword [rbp - 0x40]
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov qword [r10], rax
lea r10d, [r11 + 1]
jmp 0x14015bdbf
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
or rax, 0xffffffffffffffff
mov qword [r10], rax
lea r10d, [rax + 2]
jmp 0x14015bdbf
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
test rax, rax
je 0x14015bdc5
mov rsi, qword [rsp + 0x30]
jle 0x140161291
dec rax
mov qword [rcx + r14], rax
jmp 0x140161291
mov rax, qword [rsp + 0x30]
movabs rdx, 0x8000000000000000
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
cmp rax, rdx
jle 0x140160149
dec rax
mov qword [rcx + r14], rax
cmp qword [rcx + r14], 0
mov rsi, qword [rsp + 0x30]
je 0x140161291
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x14015ac7b
mov r12, qword [rsp + 0x30]
mov rcx, qword [rsp + 0x38]
movzx ebx, word [r12 + 2]
mov edi, ebx
lea rdx, [rbx*8 + 0x68]
call fcn.140124e60
mov r8, rax
test rax, rax
je 0x1401617ba
xor r9d, r9d
add rdi, 6
mov esi, 1
lea rcx, [rax + rdi*8]
mov rdi, qword [rsp + 0x38]
mov qword [rax + 0x10], r9
mov qword [rax], rcx
mov qword [rcx + 0x28], rdi
mov word [rcx + 8], si
mov dword [rcx + 0x20], r9d
mov rcx, qword [r12 + 0x10]
mov qword [r8 + 0x18], r13
mov qword [rax + 8], rcx
mov byte [r8 + 0x28], r9b
mov dword [r8 + 0x24], r9d
mov byte [r8 + 0x29], bl
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r8 + 0x20], edx
mov word [r12], 0xf0a2
mov qword [r12 + 0x10], r8
jmp 0x140160219
mov r12, qword [rsp + 0x30]
mov esi, 1
movsxd rax, dword [r12 + 0xc]
mov rbx, qword [r12 + 0x10]
imul r10, rax, 0x38
add r10, r14
cmp qword [rbx + 0x10], r10
je 0x14016026f
movzx edx, byte [rbx + 0x29]
mov qword [rbx + 0x10], r10
dec edx
movsxd r8, edx
js 0x14016026f
lea r9, [r8 + 6]
lea r9, [rbx + r9*8]
nop word [rax + rax]
mov eax, dword [r12 + 8]
lea r9, [r9 - 8]
add eax, edx
dec edx
cdqe
imul rcx, rax, 0x38
add rcx, r14
dec r8
mov qword [r9 + 8], rcx
jns 0x140160250
inc dword [r10 + 0xc]
cmp dword [r12 + 4], 0
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
lea r8, [rbx + 0x30]
mov rcx, rbx
je 0x14016028f
call qword [rax + 0x30]
jmp 0x140160292
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x14015bd4a
jle 0x1401602c2
mov rcx, qword [rbx]
call fcn.1400b3030
lea rdx, [0x1401e3a34]
mov rcx, r13
mov r8, rax
call fcn.14015aac0
mov eax, dword [rbx + 0x24]
mov dword [rbp + 0x298], eax
cmp byte [rbx + 0x28], 0
je 0x1401602fd
movsxd rax, dword [r12 - 0x14]
test eax, eax
je 0x1401602f9
imul rcx, rax, 0x38
mov edx, 0x2400
add rcx, r14
test word [rcx + 8], dx
je 0x1401602ed
mov rdx, rsi
call fcn.14017c160
jmp 0x1401602f9
mov eax, 4
mov qword [rcx], rsi
mov word [rcx + 8], ax
mov byte [rbx + 0x28], 0
mov rcx, qword [rbx]
mov r8d, 0x2400
test word [rcx + 8], r8w
jne 0x140160313
cmp dword [rcx + 0x20], 0
je 0x14016031e
call fcn.14017ab50
mov r8d, 0x2400
mov rax, qword [rbx]
mov r9d, dword [rbp + 0x298]
xor r11d, r11d
mov r10d, 1
mov word [rax + 8], r10w
mov dword [rbx + 0x24], r11d
test r9d, r9d
jne 0x140161406
mov r12d, r9d
mov r9, qword [rsp + 0x40]
jmp 0x14015bdc5
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
movsxd rax, dword [r12 + 0xc]
add rbx, r14
mov rcx, rbx
test eax, eax
je 0x140160395
mov r8, qword [r12 + 0x10]
imul rdx, rax, 0x38
add rdx, r14
call fcn.140164000
mov r9d, eax
mov dword [rbp + 0x298], eax
movsxd rax, dword [r12 + 0xc]
imul rbx, rax, 0x38
add rbx, r14
jmp 0x1401603a8
mov rdx, qword [r12 + 0x10]
call fcn.1401642f0
mov r9d, eax
mov dword [rbp + 0x298], eax
test r9d, r9d
jne 0x140161751
test byte [rbx + 8], 2
movzx ecx, r15b
je 0x1401603ce
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x1401603ce
movzx edx, cl
mov rcx, rbx
call fcn.140165120
mov rcx, rbx
call fcn.1401650f0
test eax, eax
jne 0x14016182a
mov r12d, dword [rbp + 0x298]
jmp 0x14015b3b7
mov r12, qword [rsp + 0x30]
or rax, 0xffffffffffffffff
lea r9, [rbp - 0x34]
mov r8d, dword [r12 + 8]
mov edx, dword [r12 + 4]
mov dword [rbp - 0x30], eax
mov dword [rbp - 0x34], eax
lea rax, [rbp - 0x30]
mov rcx, rdi
mov dword [rbp - 0x38], r11d
mov qword [rsp + 0x20], rax
call fcn.14011f750
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
je 0x140160442
cmp eax, 5
jne 0x140161406
xor eax, eax
mov dword [rbp + 0x298], eax
mov eax, 1
mov dword [rbp - 0x38], eax
mov rax, r12
mov r8d, 0x2400
movsxd rax, dword [rax + 0xc]
imul rbx, rax, 0x38
add rbx, r14
xor eax, eax
lea r12d, [rax + 4]
mov edi, eax
nop
movsxd rax, dword [rbp + rdi*4 - 0x38]
test word [rbx + 8], r8w
je 0x14016047f
mov rdx, rax
mov rcx, rbx
call fcn.14017c160
mov r8d, 0x2400
jmp 0x140160487
mov qword [rbx], rax
mov word [rbx + 8], r12w
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x140160460
mov r12d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
jmp 0x14015d91d
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140105160
mov rcx, qword [rdi + 0x20]
mov r15, rax
mov rax, qword [rsp + 0x30]
mov ebx, dword [rax + 0xc]
movsxd rdx, dword [rax + 4]
shl rdx, 5
cmp ebx, 0xffffffff
mov r14, qword [rdx + rcx + 8]
mov rcx, qword [r14 + 8]
mov rdi, qword [rcx]
movzx esi, byte [rdi + 9]
cmove ebx, esi
cmp byte [rdi + 0x15], 3
jae 0x1401604f6
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x1401604f8
cmp qword [rdi + 0x60], 0
jle 0x1401604f8
mov ebx, esi
cmp byte [rdi + 0x13], 0
lea rcx, [0x1401dbf9c]
jne 0x14016050c
mov rcx, qword [rdi + 0xd0]
cmp ebx, 5
jne 0x140160543
test rcx, rcx
je 0x14016053c
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140160520
and eax, 0x3fffffff
je 0x14016053c
mov rcx, rdi
call fcn.1401450a0
test eax, eax
jne 0x140160543
mov ebx, esi
jmp 0x1401605c5
cmp ebx, esi
je 0x1401605c5
cmp esi, 5
je 0x140160551
cmp ebx, 5
jne 0x1401605c5
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x65], 0
je 0x140161777
cmp dword [rax + 0xdc], 1
jg 0x140161777
cmp esi, 5
jne 0x140160593
mov rdx, rax
mov rcx, rdi
call fcn.1401434a0
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401605ca
mov edx, ebx
mov rcx, rdi
call fcn.1401448d0
jmp 0x1401605a8
cmp esi, 4
jne 0x1401605a3
lea edx, [rsi - 2]
mov rcx, rdi
call fcn.1401448d0
test r12d, r12d
jne 0x1401605ca
xor eax, eax
cmp ebx, 5
mov rcx, r14
mov edx, eax
sete dl
inc edx
call fcn.14011e900
mov r12d, eax
mov dword [rbp + 0x298], eax
test r12d, r12d
je 0x1401605cc
mov ebx, esi
mov edx, ebx
mov rcx, rdi
call fcn.1401448d0
mov ecx, 0xa02
mov word [r15 + 8], cx
cmp eax, 6
jne 0x1401605eb
xor eax, eax
mov ecx, eax
jmp 0x1401605fe
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x1db430]
xor eax, eax
mov qword [r15 + 0x10], rcx
test rcx, rcx
je 0x14016061e
or rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x140160610
and eax, 0x3fffffff
mov dword [r15 + 0xc], eax
movzx eax, byte [rbp + 0x288]
mov byte [r15 + 0xa], 1
cmp eax, 1
je 0x14016063e
movzx edx, al
mov rcx, r15
call fcn.140165120
mov r9d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
test r9d, r9d
jne 0x140161401
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
mov r12d, r9d
jmp 0x14015b3b7
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 8]
test eax, eax
je 0x14016067f
imul r9, rax, 0x38
add r9, r14
jmp 0x140160682
mov r9, r11
mov r8d, dword [r12 + 4]
lea rcx, [r13 + 0xb0]
mov rdx, rdi
call fcn.14014d950
jmp 0x14015de4a
mov rax, qword [rdi + 0x20]
mov r12, qword [rsp + 0x30]
movsxd rcx, dword [r12 + 4]
shl rcx, 5
mov rcx, qword [rcx + rax + 8]
call fcn.14011c370
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
je 0x14015bd4a
cmp eax, 0x65
jne 0x140161406
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [rax - 0x64]
mov r12d, r11d
mov dword [rbp + 0x298], r11d
jmp 0x14016128c
mov rax, qword [rsp + 0x30]
cmp dword [rax + 4], 0
jne 0x140160707
mov edx, dword [rax + 8]
mov rcx, rdi
call fcn.140128540
jmp 0x14015bdc5
mov eax, dword [rax + 8]
inc eax
xor eax, dword [r13 + 0xd0]
and eax, 3
xor dword [r13 + 0xd0], eax
jmp 0x14015bdc5
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
or byte [rax + 1], 0x40
jmp 0x14015bdc5
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rcx, qword [rax + rcx*8]
mov rax, qword [rcx + 0x30]
and byte [rax + 1], 0xbf
jmp 0x14015bdc5
mov rax, qword [rsp + 0x30]
movzx r8d, byte [rax + 0xc]
test r8b, r8b
jne 0x140160781
mov eax, dword [rdi + 0x30]
bt rax, 0xa
jb 0x14015bdbf
mov r12, qword [rsp + 0x30]
mov rcx, qword [rdi + 0x20]
movsxd rax, dword [r12 + 4]
mov edx, dword [r12 + 8]
shl rax, 5
mov rcx, qword [rax + rcx + 8]
call fcn.14011d610
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
je 0x14015bd4a
cmp al, 6
jne 0x140161406
mov r8, qword [r12 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, r13
call fcn.14015aac0
mov r9d, dword [rbp + 0x298]
jmp 0x140161406
mov r12, qword [rsp + 0x30]
mov rcx, rdi
mov rbx, qword [r12 + 0x10]
mov rdx, rbx
call fcn.140167df0
mov r9d, eax
mov dword [rbp + 0x298], eax
test rbx, rbx
je 0x140160811
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call fcn.140168b90
mov r9d, dword [rbp + 0x298]
test r9d, r9d
jmp 0x14015de55
mov r12, qword [rsp + 0x30]
xor eax, eax
lea rcx, [rbp + 0x40]
mov qword [rbp + 0x68], rax
mov qword [rbp + 0x40], rax
mov qword [rbp + 0x48], rax
mov qword [rbp + 0x50], rax
mov qword [rbp + 0x58], rax
mov qword [rbp + 0x60], rax
mov qword [rbp + 0x70], rax
movsxd rax, dword [r12 + 8]
mov qword [rbp + 0x68], rdi
imul rdx, rax, 0x38
add rdx, r14
call fcn.1401641f0
mov rcx, qword [rbp + 0x48]
mov edx, 0x202
mov r9d, eax
mov dword [rbp + 0x298], eax
movzx eax, cx
and ax, dx
cmp ax, dx
jne 0x14016087e
cmp byte [rbp + 0x4a], 1
jne 0x14016087e
mov rax, qword [rbp + 0x50]
jmp 0x140160899
test cl, 1
jne 0x1401608c2
lea rcx, [rbp + 0x40]
mov dl, 1
call fcn.140179690
mov rcx, qword [rbp + 0x48]
mov r9d, dword [rbp + 0x298]
test rax, rax
je 0x1401608c2
mov edx, dword [r12 + 4]
lea r9, [r13 + 0xb0]
mov r8, rax
mov rcx, rdi
call fcn.140168110
mov rcx, qword [rbp + 0x48]
mov r9d, eax
mov dword [rbp + 0x298], eax
mov r8d, 0x2400
test r8w, cx
jne 0x1401608d4
cmp dword [rbp + 0x60], 0
je 0x1401608ea
lea rcx, [rbp + 0x40]
call fcn.14017ab50
mov r9d, dword [rbp + 0x298]
mov r8d, 0x2400
test r9d, r9d
jne 0x140161406
mov r12d, dword [rbp + 0x298]
jmp 0x14015d91d
inc dword [rdi + 0xe8]
mov r12, qword [rsp + 0x30]
mov rcx, rdi
mov r8, qword [r12 + 0x10]
mov edx, dword [r12 + 4]
call fcn.140168230
dec dword [rdi + 0xe8]
jmp 0x14015de4a
mov r12, qword [rsp + 0x30]
mov qword [rbp - 0x48], r11
mov rax, qword [r12 + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1401617c9
mov rdi, qword [rbx]
test rdi, rdi
je 0x1401617c4
lea rdx, [rbp - 0x48]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r13
mov dword [rbp + 0x298], eax
call fcn.140168b90
mov r9d, dword [rbp + 0x298]
test r9d, r9d
jne 0x14015e844
mov rax, qword [rbp - 0x48]
mov r9b, 2
xor r8d, r8d
mov qword [rax], rbx
mov edx, dword [r12 + 4]
mov rcx, r13
call fcn.1400c9cd0
mov rcx, qword [rbp - 0x48]
test rax, rax
je 0x1401617b7
mov r12d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
jmp 0x14015b3b7
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rdi, qword [rax + rcx*8]
mov ecx, reloc.WS2_32.dll_recv
call fcn.1400be360
mov rbx, rax
test rax, rax
je 0x140161a9e
mov rcx, qword [rdi + 0x30]
mov qword [rax], rcx
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 0xc]
imul rdx, rcx, 0x38
mov rcx, r13
add rdx, r14
mov qword [rbx + 8], rdx
mov rdx, rax
call fcn.140105160
mov ecx, 1
lea r9, [fcn.1400be700]
mov word [rax + 8], cx
lea r8, str.ValueList
mov rdx, rbx
mov rcx, rax
call fcn.140164bd0
mov rdi, qword [rsp + 0x38]
jmp 0x14015b3b7
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 0xc]
movsxd rcx, dword [r12 + 4]
imul rdx, rax, 0x38
mov rax, qword [r13 + 0x80]
add rdx, r14
mov r13, qword [rax + rcx*8]
mov rax, qword [rbp + 0x280]
mov rsi, qword [r13 + 0x30]
movsxd r9, dword [rdx + 0x38]
mov rdi, qword [rax + 0x78]
mov r15, qword [rsi]
lea r11, [rdx + 0x38]
mov edx, dword [rdx]
mov r14, qword [r15]
xor eax, eax
mov r8d, eax
test r9d, r9d
jle 0x140160a9a
nop
movsxd rax, r10d
inc r8
inc r10d
imul rcx, rax, 0x38
add rcx, r11
mov qword [rdi + r8*8 - 8], rcx
cmp r8, r9
jl 0x140160a80
mov r8, qword [r12 + 0x10]
mov rcx, rsi
mov qword [rsp + 0x20], rdi
call qword [r14 + IsNetDrive]
mov rcx, qword [rbp + 0x280]
mov rdx, r15
mov dword [rbp + 0x298], eax
call fcn.140168b90
mov r9d, dword [rbp + 0x298]
test r9d, r9d
jne 0x14015e844
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], 0
test eax, eax
je 0x14015c0a2
mov r12d, dword [rbp + 0x298]
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x140161287
mov rbx, qword [rsp + 0x30]
mov rax, qword [r13 + 0x80]
movsxd rcx, dword [rbx + 4]
mov rdi, qword [rax + rcx*8]
movsxd rax, dword [rbx + 0xc]
imul rbx, rax, 0x38
add rbx, r14
cmp byte [rdi + 2], 0
je 0x140160b44
test word [rbx + 8], r8w
je 0x140160b35
mov rcx, rbx
call fcn.14017ac20
mov rdi, qword [rsp + 0x38]
jmp 0x14015b3b7
mov rdi, qword [rsp + 0x38]
mov word [rbx + 8], r10w
jmp 0x14015bdc5
mov rax, qword [rdi + 0x30]
mov r12, qword [rsp + 0x30]
mov rsi, qword [rax]
xor eax, eax
test byte [r12 + 2], 1
mov r14, qword [rsi]
mov qword [rbp + 0x138], rax
mov qword [rbp + 0x138], rbx
mov qword [rbp + 0x140], rax
mov qword [rbp + 0x148], rax
mov qword [rbp + 0x150], rax
mov qword [rbp + 0x158], rax
mov qword [rbp + 0x160], rax
mov qword [rbp + 0x168], rax
je 0x140160bc8
test word [rbx + 8], r8w
je 0x140160bb5
mov rcx, rbx
call fcn.14017ac20
xor r11d, r11d
mov eax, 0x4001
mov word [rbx + 8], ax
mov dword [rbx], r11d
jmp 0x140160bd6
mov eax, 0x4001
mov word [rbx + 8], r10w
mov dword [rbx], r11d
mov word [rbx + 8], ax
jmp 0x140160bd6
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], 1
mov r8d, dword [r12 + 8]
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x138]
call qword [r14 + 0x58]
mov rdx, rsi
mov rcx, r13
mov dword [rbp + 0x298], eax
call fcn.140168b90
cmp dword [rbp + 0x15c], 0
jle 0x140160c2a
mov rcx, rbx
call fcn.1400b3030
lea rdx, [0x1401e3a34]
mov rcx, r13
mov r8, rax
call fcn.14015aac0
mov eax, dword [rbp + 0x15c]
mov dword [rbp + 0x298], eax
test byte [rbx + 8], 2
movzx ecx, r15b
je 0x140160c47
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x140160c47
movzx edx, cl
mov rcx, rbx
call fcn.140165120
mov rcx, rbx
call fcn.1401650f0
mov rdi, qword [rsp + 0x38]
test eax, eax
jne 0x14016182a
mov r9d, dword [rbp + 0x298]
test r9d, r9d
jne 0x140161406
mov r14, qword [rsp + 0x58]
mov r12d, r9d
jmp 0x14015b3b7
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
mov rdi, qword [rax + rcx*8]
cmp byte [rdi + 2], 0
jne 0x14015bb59
mov rcx, qword [rdi + 0x30]
mov rbx, qword [rcx]
mov rsi, qword [rbx]
call qword [rsi + reloc.ODBC32.dll_SQLBindParameter]
mov rdx, rbx
mov rcx, r13
mov dword [rbp + 0x298], eax
call fcn.140168b90
mov r9d, dword [rbp + 0x298]
test r9d, r9d
jne 0x14015d4eb
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
mov rdi, qword [rsp + 0x38]
test eax, eax
jne 0x140160cff
mov r12d, dword [rbp + 0x298]
mov rax, qword [rsp + 0x30]
mov eax, dword [rax + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsp + 0x40]
lea rax, [rax + rcx*8]
mov qword [rsp + 0x30], rax
jmp 0x14015fa46
mov r12d, dword [rbp + 0x298]
jmp 0x14015fa46
mov rax, qword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov edi, dword [rdi + 0x30]
or qword [rax + 0x30], 0x4000000
mov rax, qword [r12 + 0x10]
and edi, 0x4000000
mov rsi, qword [rax + 0x10]
movsxd rax, dword [r12 + 4]
imul rbx, rax, 0x38
add rbx, r14
test byte [rbx + 8], 2
je 0x140160d62
cmp byte [rbx + 0xa], 1
je 0x140160d62
mov dl, 1
mov rcx, rbx
call fcn.140165120
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x14015e844
mov rax, qword [rsi]
mov rdx, qword [rbx + 0x10]
mov rcx, rsi
call qword [rax + 0x98]
test edi, edi
mov rdi, qword [rsp + 0x38]
mov dword [rbp + 0x298], eax
jne 0x140160d89
and qword [rdi + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r13
call fcn.140168b90
mov r9d, dword [rbp + 0x298]
and dword [r13 + 0xd0], 0xfffffffc
test r9d, r9d
jmp 0x14015de55
cmp byte [rdi + 0x67], 0
mov qword [rbp - 0x10], r11
jne 0x140161aa3
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x140161804
mov r10, qword [rbx]
test r10, r10
je 0x140161804
cmp qword [r10 + 0x68], 0
mov rdx, qword [rsp + 0x30]
movsxd rdx, dword [rdx + 8]
je 0x14015c344
mov r12, qword [rsp + 0x30]
movzx edi, byte [rdi + 0x6c]
mov r8, qword [r13 + 0x78]
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
mov rax, r11
add rcx, r14
test edx, edx
jle 0x140160e20
nop
mov qword [r8 + rax*8], rcx
inc rax
add rcx, 0x38
cmp rax, rdx
jl 0x140160e10
movzx eax, byte [r12 + 2]
mov rsi, qword [rsp + 0x38]
lea r9, [rbp - 0x10]
mov rcx, rbx
mov byte [rsi + 0x6c], al
call qword [r10 + SQLConnectW]
mov rdx, rbx
mov rcx, r13
mov dword [rbp + 0x298], eax
mov byte [rsi + 0x6c], dil
call fcn.140168b90
mov r9d, dword [rbp + 0x298]
mov rdi, rsi
test r9d, r9d
jne 0x140160e6c
cmp dword [r12 + 4], r9d
je 0x140160e6c
mov rax, qword [rbp - 0x10]
mov qword [rsi + 0x38], rax
cmp r9b, 0x13
jne 0x140160ed0
mov rax, qword [r12 + 0x10]
cmp byte [rax + 0x1c], 0
je 0x140160ed0
movzx eax, word [r12 + 2]
cmp ax, 4
jne 0x140160ea4
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
mov r12d, r11d
mov dword [rbp + 0x298], r11d
jmp 0x14015bdbf
cmp ax, 5
jne 0x140160ebe
mov eax, 2
test r9d, r9d
mov byte [r13 + 0xca], al
jmp 0x14015de55
movzx eax, ax
test r9d, r9d
mov byte [r13 + 0xca], al
jmp 0x14015de55
inc qword [r13 + 0x40]
test r9d, r9d
jmp 0x14015de55
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140105160
mov rcx, qword [rsp + 0x30]
movsxd rdx, dword [rcx + 4]
mov rcx, qword [rdi + 0x20]
shl rdx, 5
mov rdx, qword [rdx + rcx + 8]
mov rcx, qword [rdx + 8]
mov edx, dword [rcx + 0x40]
mov qword [rax], rdx
jmp 0x14015b3b7
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140105160
mov rcx, qword [rdi + 0x20]
mov rbx, rax
mov rax, qword [rsp + 0x30]
movsxd rdx, dword [rax + 4]
mov r8d, dword [rax + 0xc]
shl rdx, 5
mov rcx, qword [rdx + rcx + 8]
xor edx, edx
test r8d, r8d
je 0x140160f4d
mov rdx, qword [rcx + 8]
mov edx, dword [rdx + 0x40]
cmp edx, r8d
cmovb edx, r8d
call fcn.14011d6f0
mov eax, eax
mov qword [rbx], rax
jmp 0x14015b3b7
mov rax, qword [rsp + 0x30]
mov rbx, qword [rax + 0x10]
movsxd rax, dword [rax + 0xc]
imul rdi, rax, 0x38
add rdi, r14
cmp qword [rbx], rdi
je 0x140160fc6
movzx edx, byte [rbx + 0x29]
mov qword [rbx + 0x18], r13
mov qword [rbx], rdi
dec edx
movsxd r8, edx
js 0x140160fc6
mov r12, qword [rsp + 0x30]
lea r9, [rbx + 0x30]
lea r9, [r9 + r8*8]
nop dword [rax]
nop dword [rax + rax]
mov eax, dword [r12 + 8]
lea r9, [r9 - 8]
add eax, edx
dec edx
cdqe
imul rcx, rax, 0x38
add rcx, r14
dec r8
mov qword [r9 + 8], rcx
jns 0x140160fa0
mov r12d, dword [rbp + 0x298]
mov eax, 0x3e40
lea r8, [rbx + 0x30]
mov rcx, rbx
and word [rdi + 8], ax
or word [rdi + 8], 1
mov rax, qword [rbx + 8]
movzx edx, byte [rbx + 0x29]
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x140161049
jle 0x140161012
mov rcx, rdi
call fcn.1400b3030
lea rdx, [0x1401e3a34]
mov rcx, r13
mov r8, rax
call fcn.14015aac0
mov eax, dword [rbx + 0x24]
mov dword [rbp + 0x298], eax
mov r12, qword [rsp + 0x30]
mov r8d, dword [rbx + 0x20]
mov rcx, qword [rsp + 0x38]
mov r9d, dword [r12 + 4]
lea rdx, [r13 + 0x130]
call fcn.14015a430
mov r9d, dword [rbp + 0x298]
xor eax, eax
mov dword [rbx + 0x24], eax
test r9d, r9d
jne 0x14015e844
mov r12d, r9d
movzx eax, word [rdi + 8]
test al, 0x12
je 0x140161083
movzx edx, r15b
test al, 2
je 0x140161069
movzx eax, byte [rdi + 0xa]
cmp eax, edx
je 0x140161069
mov rcx, rdi
call fcn.140165120
mov rcx, rdi
call fcn.1401650f0
mov rdi, qword [rsp + 0x38]
test eax, eax
jne 0x140161825
jmp 0x14015b3b7
mov rdi, qword [rsp + 0x38]
mov r12d, dword [rbp + 0x298]
jmp 0x14015b3b7
mov r14, qword [rsp + 0x58]
mov r12d, dword [rbp + 0x298]
jmp 0x14015b3b7
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r14
imul rbx, rax, 0x38
call fcn.1400de310
movsxd rcx, dword [rbx + r14 + 0xc]
mov r8, qword [rbx + r14 + 0x10]
xor edx, edx
mov r10d, 1
div rcx
movzx ecx, dl
mov r9, rdx
mov edx, r10d
shr r9, 3
and cl, 7
shl dl, cl
or byte [r9 + r8], dl
mov r9, qword [rsp + 0x40]
xor r11d, r11d
jmp 0x14015bdbf
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r14
imul rbx, rax, 0x38
call fcn.1400de310
movsxd rcx, dword [rbx + r14 + 0xc]
mov rsi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
xor edx, edx
div rcx
mov rax, qword [rbx + r14 + 0x10]
mov r10d, 1
mov rcx, rdx
shr rcx, 3
movsx r8d, byte [rcx + rax]
movzx eax, dl
and al, 7
movzx eax, al
bt r8d, eax
jb 0x140161155
inc dword [r13 + 0xfc]
xor r11d, r11d
jmp 0x140161291
inc dword [r13 + 0xf8]
jmp 0x14015aeca
movzx eax, byte [rdi + 0x6e]
test al, 0x41
je 0x14016122a
cmp byte [r13 + 0xcd], 0
jne 0x14016122a
mov r9, qword [rsi + 0x10]
test r9, r9
jne 0x140161194
mov r9, qword [r13 + 0x100]
test r9, r9
je 0x140161225
test al, 0x40
je 0x1401611c0
mov rdx, r9
mov rcx, r13
call fcn.140162000
mov rcx, qword [rdi + 0x100]
mov rdx, rax
mov rbx, rax
call qword [rdi + 0xf8]
mov rcx, rbx
call fcn.1400be700
jmp 0x140161216
cmp dword [rdi + 0xe4], 1
jle 0x140161203
lea rdx, str.____s
mov r8, r9
mov rcx, rdi
call fcn.140141520
mov rdx, qword [rdi + 0x100]
mov r8, r13
mov r9, rax
mov ecx, 1
mov rbx, rax
call qword [rdi + 0xf8]
mov rdx, rbx
mov rcx, rdi
call fcn.140124cd0
jmp 0x140161216
mov rdx, qword [rdi + 0x100]
mov r8, r13
mov ecx, r10d
call qword [rdi + 0xf8]
mov r8d, 0x2400
mov r10d, 1
xor r11d, r11d
mov r9, qword [rsp + 0x40]
mov eax, dword [0x140288cf8]
cmp dword [rsi + 4], eax
jl 0x140161275
cmp byte [rsi], 0xb3
je case.0x14015acb5.88
cmp dword [r13 + 0x98], 1
mov edx, r10d
jle 0x140161271
mov eax, reloc.ODBC32.dll_SQLAllocHandle
mov rcx, qword [r13 + 0x90]
cmp byte [rax + rcx], 0x11
jne 0x140161262
mov dword [rax + rcx + 4], r11d
inc edx
add rax, 0x18
cmp edx, dword [r13 + 0x98]
jl 0x140161250
mov dword [rsi + 4], r11d
inc dword [rsi + 4]
inc dword [r13 + 0xf4]
jmp 0x140161291
xor r11d, r11d
mov r10, rbx
mov r9, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x30]
mov eax, dword [rsi + 8]
dec eax
cdqe
lea rcx, [rax + rax*2]
lea rdi, [r9 + rcx*8]
mov qword [rsp + 0x30], rdi
jmp 0x14015bdad
mov r12d, dword [rbp + 0x298]
jmp 0x14015bdba
mov ecx, dword [rax + 4]
mov r12, rax
mov dword [r13 + 0x38], ecx
movzx eax, byte [rax + 8]
mov dword [r13 + 0x34], ebx
mov byte [r13 + 0xca], al
test ecx, ecx
je 0x140161365
movzx eax, word [r12 + 2]
mov rcx, r13
test ax, ax
je 0x14016132d
movzx r8d, ax
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0x1dd018]
call fcn.14015aac0
mov r9, qword [r12 + 0x10]
test r9, r9
je 0x14016133e
mov r8, qword [r13 + 0xb0]
lea rdx, str._z:__s
mov rcx, rdi
call fcn.140141520
mov qword [r13 + 0xb0], rax
jmp 0x14016133e
mov r8, qword [r12 + 0x10]
lea rdx, [0x1401e3a34]
call fcn.14015aac0
mov rax, qword [r13 + 0xb0]
mov r9, qword [r13 + 0x100]
mov ecx, dword [r12 + 4]
lea rdx, str.abort_at__d_in___s_:__s
mov r8d, ebx
mov qword [rsp + 0x20], rax
call fcn.1400afb50
mov rcx, r13
call fcn.140162ce0
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov ebx, eax
cmp eax, 5
jne 0x140161387
mov dword [r13 + 0x38], eax
jmp 0x140161c80
cmp dword [r13 + 0x38], 0
mov ebx, 0x65
mov eax, 1
cmovne ebx, eax
jmp 0x140161c80
mov rax, qword [rsi + 0x28]
mov rdi, qword [rsp + 0x38]
test rax, rax
je 0x140161825
mov rax, qword [rax + 0x160]
mov r12, qword [rsp + 0x30]
test rax, rax
je 0x14016182a
inc dword [rax + 0x30]
mov dword [rax + 0x18], reloc.WS2_32.dll_select
jmp 0x14016182a
lea rdx, str.FOREIGN_KEY_constraint_failed
mov rcx, r13
mov dword [r13 + 0x38], 0x313
mov byte [r13 + 0xca], 2
call fcn.14015aac0
mov eax, 1
mov r9d, eax
mov dword [rbp + 0x298], eax
mov r12, qword [rsp + 0x30]
lea rbx, [0x140000000]
lea r13, [0x1401e9e44]
mov rsi, qword [rsp + 0x48]
xor r15d, r15d
mov r14, qword [rsp + 0x50]
cmp byte [rdi + 0x67], 0
je 0x140161afc
mov r9d, 7
jmp 0x140161b2e
mov ecx, 0x160ef
call fcn.140122de0
jmp 0x1401613f8
movsxd rax, esi
lea rdx, str.cannot_store__s_value_in__s_column__s._s
lea rcx, [rax + rax*2]
movzx eax, word [rbx + 8]
lea rbx, [0x140000000]
mov r9d, dword [r15 + rcx*8 + 8]
and eax, 0x3f
movzx r8d, byte [rax + rbx + 0x1dc350]
mov rax, qword [r15 + rcx*8]
shr r9d, 4
mov r8, qword [rbx + r8*8 + 0x288b20]
and r9d, 0xf
mov qword [rsp + 0x28], rax
mov rax, qword [r14]
dec r9d
mov rcx, r13
mov r9, qword [rbx + r9*8 + 0x288d08]
mov qword [rsp + 0x20], rax
call fcn.14015aac0
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov r9d, 0xc13
mov dword [rbp + 0x298], r9d
jmp 0x14016140d
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.14015aac0
mov r9d, 5
mov dword [rbp + 0x298], r9d
mov rdi, rsi
jmp 0x140161406
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.14015aac0
mov r9d, 5
mov dword [rbp + 0x298], r9d
jmp 0x140161401
mov r12, qword [rsp + 0x30]
mov r13, qword [rbp + 0x280]
movabs rax, 0x2aaaaaaaaaaaaaab
mov rcx, r12
sub rcx, qword [rsp + 0x40]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r13 + 0x34], edx
mov byte [rdi + 0x65], 0
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov ebx, 5
mov dword [r13 + 0x38], ebx
jmp 0x140161c80
mov r13, qword [rbp + 0x280]
lea rdx, str.FOREIGN_KEY_constraint_failed
mov rcx, r13
mov dword [r13 + 0x38], 0x313
mov byte [r13 + 0xca], 2
call fcn.14015aac0
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov ebx, 1
jmp 0x140161c80
mov eax, dword [rdi + 0x30]
mov r9d, reloc.WS2_32.dll_inet_addr
bt rax, 0x14
mov eax, 8
cmovb r9d, eax
mov dword [rbp + 0x298], r9d
jmp 0x140161406
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
cmp al, 5
jne 0x140161ae6
mov ebx, dword [rbp + 0x298]
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
mov dword [r13 + 0x38], r9d
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov dword [r13 + 0x34], edx
jmp 0x140161c80
mov rdx, qword [r13 + 0xb0]
mov rcx, rdi
call fcn.140124cd0
lea rdx, str.database_schema_has_changed
mov rcx, rdi
call fcn.140125220
mov qword [r13 + 0xb0], rax
mov rax, qword [rdi + 0x20]
movsxd rdx, dword [r12 + 4]
mov rcx, rdx
shl rcx, 5
mov rcx, qword [rcx + rax + 0x18]
mov eax, dword [rsp + 0x78]
cmp dword [rcx], eax
je 0x140161644
mov rcx, rdi
call fcn.14014c3a0
and dword [r13 + 0xd0], 0xfffffffd
or dword [r13 + 0xd0], 1
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetElemsize
mov dword [rbp + 0x298], r9d
jmp 0x140161406
mov r9d, 0x204
mov dword [rbp + 0x298], r9d
jmp 0x140161406
mov eax, 0x30b
lea r13, [0x1401e9e44]
lea r8, str.index_corruption
lea rdx, str._s_at_line__d_of___.10s_
mov r9d, 0x16d72
mov ecx, eax
mov qword [rsp + 0x20], r13
mov dword [rbp + 0x298], eax
call fcn.1400afb50
mov rdi, qword [rsp + 0x38]
mov r9d, 0x30b
lea rbx, [0x140000000]
jmp 0x140161414
mov ecx, 0x16e3e
call fcn.140122de0
mov r9d, eax
mov dword [rbp + 0x298], eax
jmp 0x140161406
mov r9d, 6
mov byte [r13 + 0xca], 2
mov dword [rbp + 0x298], r9d
jmp 0x140161406
mov eax, 7
mov dword [rbp + 0x298], eax
mov rcx, rdi
call fcn.14014c2b0
mov r9d, dword [rbp + 0x298]
mov rsi, qword [rsp + 0x48]
cmp r9d, 7
je 0x14015cc36
lea rbx, [0x140000000]
lea r13, [0x1401e9e44]
jmp 0x140161419
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r13
mov dword [rbp + 0x298], r10d
call fcn.14015aac0
mov r9d, dword [rbp + 0x298]
jmp 0x140161401
mov rcx, rbx
call fcn.1400b3030
lea rdx, [0x1401e3a34]
mov rcx, r13
mov r8, rax
call fcn.14015aac0
mov r9d, dword [rbp + 0x298]
jmp 0x140161406
mov eax, 1
cmp ebx, 5
lea r8, str.out_of
mov dword [rbp + 0x298], eax
lea rax, str.into
lea rdx, str.cannot_change__s_wal_mode_from_within_a_transaction
cmove r8, rax
mov rcx, r13
call fcn.14015aac0
mov r9d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
jmp 0x140161401
call qword [rdi + gethostname]
mov rdi, qword [rsp + 0x38]
jmp 0x14015cc31
mov rdi, qword [rsp + 0x38]
mov r9d, 6
mov dword [rbp + 0x298], r9d
jmp 0x140161406
or rsi, 0xffffffffffffffff
mov r12, qword [rsp + 0x30]
mov r9d, 9
mov dword [rbp + 0x298], r9d
lea rbx, [0x140000000]
lea r13, [0x1401e9e44]
jmp 0x140161419
mov r9d, 6
mov dword [rbp + 0x298], r9d
jmp 0x140161401
mov rdi, rax
jmp 0x14016182a
mov rdi, r8
mov r13, qword [rbp + 0x280]
mov r12, qword [rsp + 0x30]
lea rdx, str.string_or_blob_too_big
mov rcx, r13
call fcn.14015aac0
mov r9d, reloc.WS2_32.dll_select
mov dword [rbp + 0x298], r9d
jmp 0x140161406
mov rdi, qword [rsp + 0x38]
mov r12, rbx
jmp 0x14016182a
mov eax, dword [r13 + 0x30]
mov r12, qword [rsp + 0x30]
mov edi, r11d
add eax, 2
or eax, 1
mov dword [r13 + 0x30], eax
movsxd rax, dword [r12 + 4]
imul rsi, rax, 0x38
add rsi, r14
mov qword [r13 + 0xa8], rsi
cmp dword [r12 + 8], 0
jle 0x1401618d4
lea rbx, [rsi + 8]
mov r14d, 0x202
mov eax, 0x1000
test word [rbx], ax
je 0x1401618b1
movsxd rax, edi
imul rcx, rax, 0x38
add rcx, rsi
call fcn.1401648c0
test eax, eax
jne 0x1401617ba
movzx eax, word [rbx]
and ax, r14w
cmp ax, 2
jne 0x1401618c7
lea rcx, [rbx - 8]
call fcn.14017aaf0
inc edi
add rbx, 0x38
cmp edi, dword [r12 + 8]
jl 0x140161890
mov rdi, qword [rsp + 0x38]
cmp byte [rdi + 0x67], 0
jne 0x14015cc31
test byte [rdi + 0x6e], 4
je 0x140161900
mov rdx, qword [rdi + 0x100]
xor r9d, r9d
mov r8, r13
lea ecx, [r9 + 4]
call qword [rdi + 0xf8]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov rcx, r12
sub rcx, qword [rsp + 0x40]
movabs rax, 0x2aaaaaaaaaaaaaab
mov ebx, 0x64
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
inc edx
mov dword [r13 + 0x34], edx
jmp 0x140161c80
mov r12, qword [rsp + 0x30]
movzx eax, byte [rdi + 0x65]
mov ebx, dword [r12 + 4]
mov ecx, dword [r12 + 8]
cmp ebx, eax
je 0x140161a58
test ecx, ecx
je 0x14016196f
mov edx, 0x204
mov rcx, rdi
call fcn.14014cd00
mov byte [rdi + 0x65], 1
jmp 0x1401619ea
test ebx, ebx
je 0x14016199d
cmp dword [rdi + 0xe0], 0
jle 0x14016199d
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r13
call fcn.14015aac0
mov r9d, 5
mov dword [rbp + 0x298], r9d
jmp 0x140161406
mov rax, qword [r13]
mov rcx, qword [rax + 0x2f8]
add rcx, qword [rax + 0x2f0]
test rcx, rcx
jle 0x1401619e7
lea rdx, str.FOREIGN_KEY_constraint_failed
mov rcx, r13
mov dword [r13 + 0x38], 0x313
mov byte [r13 + 0xca], 2
call fcn.14015aac0
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov ebx, 1
jmp 0x140161c80
mov byte [rdi + 0x65], bl
mov rcx, r13
call fcn.140162ce0
cmp eax, 5
jne 0x140161a2d
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
imul rcx
sar rdx, 2
mov rax, rdx
shr rax, 0x3f
add rdx, rax
mov eax, 1
sub al, bl
mov dword [r13 + 0x34], edx
mov byte [rdi + 0x65], al
jmp 0x140161538
mov rcx, rdi
call fcn.14011fbc0
cmp dword [r13 + 0x38], 0
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov ebx, 0x65
mov eax, 1
cmove eax, ebx
mov ebx, eax
jmp 0x140161c80
test ebx, ebx
jne 0x140161a65
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x140161a79
lea rax, str.cannot_rollback___no_transaction_is_active
lea rdx, str.cannot_commit___no_transaction_is_active
test ecx, ecx
cmovne rdx, rax
mov rcx, r13
call fcn.14015aac0
mov eax, 1
mov r9d, eax
mov dword [rbp + 0x298], eax
jmp 0x140161406
mov rsi, qword [rsp + 0x48]
jmp 0x1401617df
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
jmp 0x14015cc31
mov r12, qword [rsp + 0x30]
jmp 0x14015cc36
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
lea rbx, [0x140000000]
lea r13, [0x1401e9e44]
jmp 0x14016141c
mov r12, rbx
jmp 0x140161406
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
lea r13, [0x1401e9e44]
lea rbx, [0x140000000]
xor r15d, r15d
jmp 0x140161421
cmp r9d, 0x210a
jne 0x140161b35
lea r8, str.database_corruption
lea rdx, str._s_at_line__d_of___.10s_
mov r9d, 0x176cb
mov ecx, reloc.WS2_32.dll_inet_addr
mov qword [rsp + 0x20], r13
call fcn.1400afb50
mov r9d, reloc.WS2_32.dll_inet_addr
mov dword [rbp + 0x298], r9d
mov r13, qword [rbp + 0x280]
cmp qword [r13 + 0xb0], 0
jne 0x140161bad
cmp r9d, 0xc0a
je 0x140161bad
mov ecx, r9d
lea r8, str.unknown_error
sub ecx, 0x64
je 0x140161b97
dec ecx
je 0x140161b8e
cmp ecx, 0x19f
je 0x140161b85
movzx eax, r9b
cmp eax, 0x1c
ja 0x140161b9e
mov rcx, qword [rbx + rax*8 + 0x1dcac0]
test rcx, rcx
je 0x140161b9e
mov r8, rcx
jmp 0x140161b9e
lea r8, str.abort_due_to_ROLLBACK
jmp 0x140161b9e
lea r8, str.no_more_rows_available
jmp 0x140161b9e
lea r8, str.another_row_available
lea rdx, [0x1401e3a34]
mov rcx, r13
call fcn.14015aac0
mov ebx, dword [rbp + 0x298]
mov dword [r13 + 0x38], ebx
cmp ebx, 0xc0a
je 0x140161bea
movzx eax, bl
add eax, 0xfffffff6
test eax, 0xfffffffb
jne 0x140161bea
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x80]
test rax, rax
je 0x140161be4
xor r8d, r8d
xor edx, edx
call rax
jmp 0x140161be7
mov eax, r15d
mov dword [rdi + 0x5c], eax
mov r9, qword [r13 + 0x100]
mov rcx, r12
movabs rax, 0x2aaaaaaaaaaaaaab
sub rcx, qword [rsp + 0x40]
imul rcx
mov rax, qword [r13 + 0xb0]
mov ecx, ebx
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.1400afb50
mov rcx, r13
call fcn.140162ce0
cmp ebx, 0xc0a
jne 0x140161c48
mov rcx, rdi
call fcn.1401422c0
jmp 0x140161c61
cmp ebx, 0xb
jne 0x140161c61
cmp byte [rdi + 0x65], 0
jne 0x140161c61
movabs rax, 0x200000000
or qword [rdi + 0x30], rax
mov eax, 1
mov ebx, eax
movzx eax, byte [rbp + 0x290]
test al, al
je 0x140161c80
movzx edx, al
mov rcx, rdi
dec edx
call fcn.14014c3a0
cmp r14, rsi
jb 0x140161cce
mov rdx, qword [rdi + 0x208]
test rdx, rdx
je 0x140161cce
mov eax, dword [rdi + 0x218]
mov rcx, qword [rdi + 0x210]
add rsi, rax
call rdx
test eax, eax
je 0x140161c80
mov r9d, 9
or rsi, 0xffffffffffffffff
lea rbx, [0x140000000]
xor r15d, r15d
lea r13, [0x1401e9e44]
mov dword [rbp + 0x298], r9d
jmp 0x140161421
add dword [r13 + 0xec], r14d
cmp dword [r13 + 0xd8], 0
movaps xmm6, xmmword [rsp + 0x320]
mov r15, qword [rsp + 0x338]
mov r14, qword [rsp + 0x340]
mov r12, qword [rsp + 0x348]
mov rdi, qword [rsp + 0x350]
mov rsi, qword [rsp + 0x358]
je 0x140161d17
mov rcx, r13
call fcn.14017aa60
mov eax, ebx
add rsp, 0x360
pop r13
pop rbx
pop rbp
ret