Function at 0x1401be8d0
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.1401be780
or rax, 0xffffffffffffffff
cmp qword [rdi + 0x208], rbx
je 0x1401be979
mov ecx, dword [rdi + 0x218]
mov eax, dword [r13 + 0xec]
xor edx, edx
div ecx
sub ecx, edx
mov esi, ecx
jmp 0x1401be97c
mov rsi, rax
cmp dword [r13 + 0x38], 7
mov qword [rsp + 0x48], rsi
movaps xmmword [rsp + 0x320], xmm6
mov r10d, 1
je 0x1401c580d
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 0x1401c553f
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.0x1401bea15.88
movsxd rax, ebx
lea rcx, [0x140000000]
mov ecx, dword [rcx + rax*4 + 0x1c5a88]
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 0x1401c4fec
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 0x1401be9db
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 0x1401c1bf5
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x1401be9db
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 0x1401bea69
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 0x1401be9db
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
je 0x1401bfb25
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 0x1401c5016
mov rcx, qword [r13 + 0x110]
test rcx, rcx
je 0x1401c5016
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.1401c6820
mov rcx, qword [rsp + 0x30]
cmp dword [rcx + 8], 4
jne 0x1401bec05
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 0x1401be9db
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 0x1401bec8b
call fcn.140168ef0
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 0x1401bfb25
mov eax, 4
mov word [rcx + 8], ax
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
mov qword [rcx], rax
jmp 0x1401bfb25
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 0x1401becee
mov rcx, rdx
call fcn.140168ef0
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 0x1401bfb25
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 0x1401bfb25
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 0x1401bed46
mov rcx, rdx
call fcn.140168ef0
mov r9, qword [rsp + 0x40]
xor r11d, r11d
mov rdx, rax
lea r10d, [r11 + 1]
mov r8d, 0x2400
lea eax, [r11 + 8]
jmp 0x1401becf3
mov eax, 4
mov word [rdx + 8], ax
mov eax, 8
jmp 0x1401becf3
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 0x1401bed88
mov rcx, rsi
call fcn.140168ef0
xor r11d, r11d
mov r8d, 0x2400
mov rsi, rax
lea r10d, [r11 + 1]
jmp 0x1401bed91
mov eax, 4
mov word [rsi + 8], ax
mov rdi, qword [rdi + 0x10]
or rcx, 0xffffffffffffffff
test rdi, rdi
jne 0x1401beda3
mov eax, r11d
jmp 0x1401bedb4
mov rax, rcx
inc rax
cmp byte [rdi + rax], 0
jne 0x1401beda6
and eax, 0x3fffffff
mov rbx, qword [rsp + 0x30]
mov dword [rbx + 4], eax
cmp r15b, 1
je 0x1401bef2b
test rdi, rdi
jne 0x1401bedeb
test word [rsi + 8], r8w
je 0x1401beddf
mov rcx, rsi
call fcn.1401de980
jmp 0x1401beec3
mov word [rsi + 8], r10w
xor edi, edi
jmp 0x1401beec3
mov rax, qword [rsi + 0x28]
test rax, rax
je 0x1401bedfd
mov r15d, dword [rax + 0x88]
jmp 0x1401bee03
mov r15d, 0x3b9aca00
mov rbx, rcx
inc rbx
cmp byte [rdi + rbx], 0
jne 0x1401bee06
mov r14d, 0x202
test word [rsi + 8], r8w
jne 0x1401bee22
cmp dword [rsi + 0x20], 0
je 0x1401bee2a
mov rcx, rsi
call fcn.1401de8b0
lea rax, [fcn.1401a6020]
mov qword [rsi + 0x10], rdi
test rax, rax
jne 0x1401bee8c
mov rax, qword [rsi + 0x28]
mov qword [rsi + 0x18], rdi
test rax, rax
je 0x1401bee7c
cmp rdi, qword [rax + 0x1f0]
jae 0x1401bee7c
cmp rdi, qword [rax + 0x1e0]
jb 0x1401bee65
mov eax, pe_nt_image_headers64
xor edi, edi
mov dword [rsi + 0x20], eax
jmp 0x1401bee98
cmp rdi, qword [rax + 0x1e8]
jb 0x1401bee7c
movzx eax, word [rax + 0x1a6]
xor edi, edi
mov dword [rsi + 0x20], eax
jmp 0x1401bee98
mov rcx, rdi
call qword [0x1404b24a8]
xor edi, edi
mov dword [rsi + 0x20], eax
jmp 0x1401bee98
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 0x1401c50fe
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 0x1401beef1
movzx eax, byte [rsi + 0xa]
cmp eax, ecx
je 0x1401beef1
movzx edx, cl
mov rcx, rsi
call fcn.1401c8e80
test eax, eax
jne 0x1401c57fe
mov dword [rsi + 0x20], edi
mov rdi, qword [rsp + 0x30]
mov eax, 0x800
or word [rsi + 8], ax
cmp byte [rdi + 1], 0xf9
jne 0x1401bef16
mov rdx, qword [rdi + 0x10]
mov rcx, qword [rsp + 0x38]
call fcn.140188a30
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 0x1401c5585
mov byte [rbx], SQLSetEnvAttr
mov r8d, 0x2400
jmp 0x1401bef4f
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 0x1401bef75
mov rcx, rdx
call fcn.140168ef0
mov r8d, 0x2400
mov rdx, rax
jmp 0x1401bef7e
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 0x1401c2bb7
imul rcx, rax, 0x38
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
cmp qword [rcx + r14], rax
jne 0x1401c2bb7
mov r9, qword [rsp + 0x40]
mov eax, 0xa10
mov word [rdx + 8], ax
jmp 0x1401bfb25
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 0x1401bf00a
mov rcx, rax
call fcn.140168ef0
xor r11d, r11d
mov r8d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401bf013
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 0x1401c2bb7
nop dword [rax]
test word [rbx + 0x38], r8w
lea rbx, [rbx + 0x38]
je 0x1401bf063
lea rcx, [rbx - 8]
call fcn.1401de980
xor r11d, r11d
mov r8d, 0x2400
lea r10d, [r11 + 1]
jmp 0x1401bf067
mov word [rbx], r10w
dec edi
mov word [rbx], si
mov dword [rbx + 4], r11d
test edi, edi
jg 0x1401bf040
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
jmp 0x1401bfb25
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 0x1401bfb25
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 0x1401bf0ce
mov rcx, rbx
call fcn.140168ef0
xor r11d, r11d
mov rbx, rax
jmp 0x1401bf0d7
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 0x1401bf102
mov edx, dword [rax + 4]
call fcn.1401c8c90
mov rcx, rbx
call fcn.1401c7ff0
test eax, eax
jne 0x1401c5803
jmp 0x1401bf113
movsxd r8, dword [rax + 4]
xor r9d, r9d
mov qword [rsp + 0x20], r11
call fcn.1401c8a10
mov byte [rbx + 0xa], r15b
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x1401bfb1f
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.1401c8e50
test eax, eax
jne 0x1401c55ab
movsxd rax, dword [rbx + 8]
mov edx, 0x2400
imul rbx, rax, 0x38
add rbx, r14
test word [rbx + 8], dx
je 0x1401bf179
mov rcx, rbx
call fcn.1401de980
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 0x1401bfb1f
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.1401c8680
mov eax, 0x1000
test word [rbx + 8], ax
je 0x1401bf1f6
mov rcx, rbx
call fcn.1401c8620
test eax, eax
jne 0x1401c57fe
add rdi, 0x38
add rbx, 0x38
dec esi
jne 0x1401bf1d0
mov rdi, qword [rsp + 0x38]
jmp 0x1401bf117
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.1401c8ce0
mov eax, 0x1000
test word [rbx + 8], ax
je 0x1401bf25c
mov rcx, rbx
call fcn.1401c8620
test eax, eax
jne 0x1401c57fe
mov eax, esi
dec esi
test eax, eax
je 0x1401bf202
add rbx, 0x38
add rdi, 0x38
jmp 0x1401bf230
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.1401c8ce0
jmp 0x1401bf117
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 0x1401bf2ce
mov rdx, rax
call fcn.1401dfec0
jmp 0x1401bf117
mov qword [rcx], rax
mov eax, 4
mov word [rcx + 8], ax
jmp 0x1401bfb25
cmp qword [r13 + 0x58], 0
jg 0x1401c5134
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
mov r12d, r11d
mov dword [rbp + 0x298], r11d
add rsi, 0x18
jmp 0x1401be9db
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 0x1401bf371
test word [rbx + 8], r8w
je 0x1401bf35d
mov rcx, rbx
call fcn.1401de980
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
jmp 0x1401bf117
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
mov word [rbx + 8], r10w
jmp 0x1401bfb25
test r14b, 0x12
jne 0x1401bf388
xor r8d, r8d
movzx edx, r15b
mov rcx, r13
call fcn.1401c8d20
jmp 0x1401bf39b
mov eax, 0x4000
test ax, r14w
je 0x1401bf3b6
mov rcx, r13
call fcn.1401c7ff0
test eax, eax
jne 0x1401c0980
movzx r14d, word [r13 + 8]
mov eax, 0xfffd
and r14w, ax
mov eax, 0x4000
movzx esi, word [rdi + 8]
test sil, 0x12
jne 0x1401bf3d1
xor r8d, r8d
movzx edx, r15b
mov rcx, rdi
call fcn.1401c8d20
jmp 0x1401bf3de
test ax, si
je 0x1401bf3f2
mov rcx, rdi
call fcn.1401c7ff0
test eax, eax
jne 0x1401c0980
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 0x1401c557b
xor edx, edx
cmp rbx, rdi
mov rcx, rbx
mov r8d, edx
lea edx, [r15 + 3]
sete r8b
call fcn.1401c82f0
test eax, eax
jne 0x1401c0980
mov eax, 0x3e40
and word [rbx + 8], ax
or word [rbx + 8], 2
cmp rbx, rdi
je 0x1401bf459
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 0x1401bf113
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 0x1401bf4e8
test al, 0x12
je 0x1401bf4e5
mov rcx, rsi
call fcn.1401399c0
xor r11d, r11d
movzx ebx, ax
jmp 0x1401bf4e8
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 0x1401bf514
test al, 0x12
je 0x1401bf511
mov rcx, rdi
call fcn.1401399c0
movzx ecx, ax
jmp 0x1401bf514
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 0x1401bf6e4
mov rax, qword [rsp + 0x30]
mov r9, qword [rsi]
mov r8, qword [rdi]
movzx ecx, byte [rax]
sub ecx, 0x6a
je 0x1401bf686
dec ecx
je 0x1401bf668
dec ecx
je 0x1401bf5bd
dec ecx
je 0x1401bf58b
test r9, r9
je 0x1401bf7e3
cmp r9, 0xffffffffffffffff
mov rax, r8
mov ecx, 1
cmove r9, rcx
cqo
idiv r9
mov r8, rdx
jmp 0x1401bf6c2
test r9, r9
je 0x1401bf7e3
cmp r9, 0xffffffffffffffff
jne 0x1401bf5ad
movabs rax, 0x8000000000000000
cmp r8, rax
je 0x1401bf6ec
mov rax, r8
cqo
idiv r9
mov r8, rax
jmp 0x1401bf6c2
test r9, r9
jle 0x1401bf5fb
movabs rax, 0x7fffffffffffffff
cqo
idiv r9
cmp r8, rax
jg 0x1401bf6ec
movabs rax, 0x8000000000000000
cqo
idiv r9
cmp r8, rax
jl 0x1401bf6ec
imul r8, r9
jmp 0x1401bf6c2
jns 0x1401bf662
test r8, r8
jle 0x1401bf623
movabs rax, 0x8000000000000000
cqo
idiv r8
cmp r9, rax
jl 0x1401bf6ec
imul r8, r9
jmp 0x1401bf6c2
jns 0x1401bf662
movabs rax, 0x8000000000000000
cmp r9, rax
je 0x1401bf6ec
cmp r8, rax
je 0x1401bf6ec
movabs rax, 0x8000000000000001
cqo
idiv r9
mov rcx, rax
mov rax, r8
neg rax
cmp rax, rcx
jg 0x1401bf6ec
imul r8, r9
jmp 0x1401bf6c2
movabs rax, 0x8000000000000000
cmp r9, rax
jne 0x1401bf681
test r8, r8
jns 0x1401bf6ec
sub r8, rax
jmp 0x1401bf6c2
neg r9
jmp 0x1401bf689
test r9, r9
js 0x1401bf6a4
test r8, r8
jle 0x1401bf6bf
movabs rax, 0x7fffffffffffffff
sub rax, r8
cmp rax, r9
jl 0x1401bf6ec
jmp 0x1401bf6bf
test r8, r8
jns 0x1401bf6bf
movabs rax, 0x8000000000000001
lea rcx, [r9 + 1]
sub rax, r8
cmp rax, rcx
jg 0x1401bf6ec
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 0x1401bf117
test al, 1
jne 0x1401bf7e3
test r10b, 8
je 0x1401bf6f8
movsd xmm2, qword [rsi]
jmp 0x1401bf71e
test r10b, 0x24
je 0x1401bf708
xorps xmm2, xmm2
cvtsi2sd xmm2, qword [rsi]
jmp 0x1401bf71e
test r10b, 0x12
je 0x1401bf71b
mov rcx, rsi
call fcn.140165210
movaps xmm2, xmm0
jmp 0x1401bf71e
movaps xmm2, xmm6
movzx eax, word [rdi + 8]
test al, 8
je 0x1401bf72c
movsd xmm0, qword [rdi]
jmp 0x1401bf74b
test al, 0x24
je 0x1401bf73a
xorps xmm0, xmm0
cvtsi2sd xmm0, qword [rdi]
jmp 0x1401bf74b
test al, 0x12
je 0x1401bf748
mov rcx, rdi
call fcn.140165210
jmp 0x1401bf74b
movaps xmm0, xmm6
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax]
sub edx, 0x6a
je 0x1401bf7b2
dec edx
je 0x1401bf7ac
dec edx
je 0x1401bf7a6
dec edx
je 0x1401bf798
mov rcx, rsi
call fcn.1401c7140
mov rcx, rdi
mov rbx, rax
call fcn.1401c7140
test rbx, rbx
je 0x1401bf7e3
cmp rbx, 0xffffffffffffffff
mov ecx, 1
cqo
cmove rbx, rcx
xorps xmm0, xmm0
idiv rbx
cvtsi2sd xmm0, rdx
jmp 0x1401bf7b6
ucomisd xmm2, xmm6
jp 0x1401bf7a0
je 0x1401bf7e3
divsd xmm0, xmm2
jmp 0x1401bf7b6
mulsd xmm0, xmm2
jmp 0x1401bf7b6
subsd xmm0, xmm2
jmp 0x1401bf7b6
addsd xmm0, xmm2
call fcn.1401a3000
test eax, eax
jne 0x1401bf7e3
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 0x1401bf117
mov r8d, 0x2400
test word [r14 + 8], r8w
je 0x1401bf807
mov rcx, r14
call fcn.1401de980
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
jmp 0x1401bf117
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 0x1401bfb25
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
test eax, eax
je 0x1401bfb25
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r8w
je 0x1401bf854
xor edx, edx
call fcn.1401dfec0
jmp 0x1401bf117
mov eax, 4
mov qword [rcx], r11
mov word [rcx + 8], ax
jmp 0x1401bfb25
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 0x1401bf8c3
test word [rsi + 8], r8w
je 0x1401bf8b4
mov rcx, rsi
call fcn.1401de980
mov rdi, qword [rsp + 0x38]
jmp 0x1401bf117
mov word [rsi + 8], r10w
mov rdi, qword [rsp + 0x38]
jmp 0x1401bfb25
call fcn.1401c7140
mov rcx, rdi
mov rbx, rax
call fcn.1401c7140
mov rdx, qword [rsp + 0x30]
movzx edx, byte [rdx]
mov rcx, rax
cmp dl, 0x66
jne 0x1401bf8e8
and rbx, rax
jmp 0x1401bf95d
cmp dl, 0x67
jne 0x1401bf8f2
or rbx, rax
jmp 0x1401bf95d
test rax, rax
je 0x1401bf95d
jns 0x1401bf90c
mov eax, 0xd1
sub al, dl
movzx edx, al
cmp rcx, 0xffffffffffffffc0
jle 0x1401bf912
neg rcx
cmp rcx, 0x40
jl 0x1401bf92e
test rbx, rbx
jns 0x1401bf925
cmp dl, 0x68
je 0x1401bf925
or rax, 0xffffffffffffffff
movsxd rbx, eax
jmp 0x1401bf95d
xor edx, edx
mov eax, edx
movsxd rbx, edx
jmp 0x1401bf95d
cmp dl, 0x68
jne 0x1401bf93b
shl rbx, cl
mov r8, rbx
jmp 0x1401bf95a
mov r8, rbx
shr r8, cl
test rbx, rbx
jns 0x1401bf95a
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 0x1401bf117
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1401c85c0
mov rsi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
movsxd rax, dword [rsi + 8]
add qword [rbx], rax
jmp 0x1401bec24
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 0x1401bfa19
test al, 8
jne 0x1401bf9e5
test al, 2
je 0x1401bf9ed
mov edx, r10d
mov rcx, rbx
call fcn.14012fac0
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
mov r8d, 0x2400
jmp 0x1401bf9ed
mov rcx, rbx
call fcn.1401c7170
movzx eax, word [rbx + 8]
test al, 4
jne 0x1401bfa19
mov rsi, qword [rsp + 0x30]
cmp dword [rsi + 8], 0
jne 0x1401c4ff1
mov r9d, reloc.ODBC32.dll_SQLRowCount
mov r12, rsi
mov dword [rbp + 0x298], r9d
jmp 0x1401c5166
mov ecx, 0x3e40
and ax, cx
or ax, 4
mov word [rbx + 8], ax
jmp 0x1401bfb25
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 0x24
je 0x1401bfb25
call fcn.1401c8800
jmp 0x1401bf117
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 0x1401bfa87
mov rcx, rbx
call fcn.1401c7ff0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5166
movzx edx, byte [r12 + 8]
movzx r8d, r15b
mov rcx, rbx
call fcn.1401c7de0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c583c
mov r12d, dword [rbp + 0x298]
jmp 0x1401bf117
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 0x1401bfb84
mov rax, qword [r14]
mov rcx, qword [r15]
cmp rax, rcx
jle 0x1401bfb3f
mov rax, qword [0x1404b2440]
mov dword [rsp + 0x60], r10d
cmp byte [rbx + rax], 0
jne 0x1401c4fec
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 0x1401be9db
jge 0x1401bfb52
mov rax, qword [0x1404b2430]
mov dword [rsp + 0x60], 0xffffffff
jmp 0x1401bfb5e
mov rax, qword [0x1404b2438]
mov dword [rsp + 0x60], r11d
cmp byte [rbx + rax], 0
mov rsi, qword [rsp + 0x30]
jne 0x1401c4ff1
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
jmp 0x1401bec2d
movzx ecx, di
or cx, si
test cl, 1
je 0x1401bfbec
mov rax, qword [rsp + 0x30]
movzx eax, word [rax + 2]
test al, al
jns 0x1401bfbe0
test dl, 1
je 0x1401bfbc4
mov eax, 0x100
test ax, di
jne 0x1401bfbc4
mov rax, qword [rsp + 0x30]
mov dword [rsp + 0x60], r11d
movzx ecx, byte [rax]
mov rax, qword [0x1404b2438]
jmp 0x1401bfd05
test dil, 1
mov r8d, r10d
mov rax, 0xffffffffffffffff
cmovne r8d, eax
mov dword [rsp + 0x60], r8d
jmp 0x1401bfccd
mov dword [rsp + 0x60], r10d
test al, 0x10
jmp 0x1401bfb62
mov rbx, qword [rsp + 0x30]
movzx eax, byte [rbx + 2]
and al, 0x47
cmp al, 0x43
jl 0x1401bfc37
test cl, 2
je 0x1401bfcab
movzx eax, sil
and al, 0x2e
cmp al, 2
jne 0x1401bfc1d
xor edx, edx
mov rcx, r15
call fcn.14012fac0
movzx edi, word [r14 + 8]
movzx eax, dil
and al, 0x2e
cmp al, 2
jne 0x1401bfcab
xor edx, edx
mov rcx, r14
call fcn.14012fac0
jmp 0x1401bfcab
cmp al, 0x42
jne 0x1401bfcab
movzx r13d, byte [rbp + 0x288]
test sil, 2
jne 0x1401bfc7d
test sil, 0x2c
je 0x1401bfc7d
mov r8b, 1
movzx edx, r13b
mov rcx, r15
call fcn.1401c8d20
movzx eax, word [r15 + 8]
mov ecx, 0x3e40
xor ax, si
and ax, cx
xor si, ax
cmp r15, r14
jne 0x1401bfc7d
movzx edi, si
or di, 2
test dil, 2
jne 0x1401bfcab
test dil, 0x2c
je 0x1401bfcab
mov r8b, 1
movzx edx, r13b
mov rcx, r14
call fcn.1401c8d20
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.1401a5940
mov r9, qword [rsp + 0x40]
xor r11d, r11d
mov r8d, eax
mov dword [rsp + 0x60], eax
lea r10d, [r11 + 1]
test r8d, r8d
jns 0x1401bfce3
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax]
mov rax, qword [0x1404b2430]
jmp 0x1401bfd05
jne 0x1401bfcf6
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax]
mov rax, qword [0x1404b2438]
jmp 0x1401bfd05
mov rax, qword [rsp + 0x30]
movzx ecx, byte [rax]
mov rax, qword [0x1404b2440]
movzx edx, byte [rcx + rax]
mov word [r14 + 8], di
mov word [r15 + 8], si
mov rsi, qword [rsp + 0x30]
test edx, edx
jne 0x1401c1bf5
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
jmp 0x1401bec2d
cmp dword [rsp + 0x60], 0
je 0x1401c4ff1
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x1401be9db
mov rcx, qword [rsp + 0x30]
test byte [rcx + 2], 1
jne 0x1401bfd67
mov r12, r11
jmp 0x1401bfd6f
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 0x1401c500a
lea r15, [rax + 0x20]
test r12, r12
je 0x1401bfdae
mov edi, dword [r12 + rbx*4]
jmp 0x1401bfdb1
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.1401a5940
mov ecx, eax
mov dword [rsp + 0x60], eax
test eax, eax
mov rax, qword [rbp - 0x70]
jne 0x1401bfe20
mov r8d, dword [rsp + 0x78]
mov ecx, dword [rsp + 0x64]
inc rbx
inc r14d
add r15, 8
cmp rbx, r13
jl 0x1401bfda3
mov r12d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
jmp 0x1401bf117
mov rax, qword [rax + 0x18]
mov r14, qword [rsp + 0x58]
test byte [rbx + rax], 2
je 0x1401bfe63
mov ecx, dword [rsp + 0x78]
add ecx, edi
imul rax, rcx, 0x38
test byte [rax + r14 + 8], 1
jne 0x1401bfe53
mov ecx, dword [rsp + 0x64]
add ecx, edi
imul rax, rcx, 0x38
test byte [rax + r14 + 8], 1
je 0x1401bfe5f
mov ecx, dword [rsp + 0x60]
neg ecx
mov dword [rsp + 0x60], ecx
jmp 0x1401bfe63
mov ecx, dword [rsp + 0x60]
mov r12d, dword [rbp + 0x298]
movzx r15d, byte [rbp + 0x288]
test esi, esi
je 0x1401bf202
mov rdi, qword [rsp + 0x38]
neg ecx
mov dword [rsp + 0x60], ecx
jmp 0x1401bf117
mov eax, dword [rsp + 0x60]
test eax, eax
mov rax, qword [rsp + 0x30]
jns 0x1401bfebb
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 0x1401be9db
jne 0x1401bfee1
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 0x1401be9db
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 0x1401be9db
mov rax, qword [rsp + 0x30]
mov edx, 2
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
add rcx, r14
call fcn.1401bd7d0
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.1401bd7d0
movsxd r8, eax
mov rax, qword [rsp + 0x30]
cmp byte [rax], 0x2c
lea rax, [0x140000000]
jne 0x1401bff62
lea rdx, [rbx + rbx*2]
add rdx, r8
movzx r8d, byte [rdx + rax + 0x24bef0]
jmp 0x1401bff72
lea rcx, [rbx + rbx*2]
add rcx, r8
movzx r8d, byte [rcx + rax + 0x24bf00]
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 0x1401bffab
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], r10w
jmp 0x1401bec2a
movsxd rax, r8d
mov qword [rcx], rax
mov eax, 0x3e40
and word [rcx + 8], ax
or word [rcx + 8], 4
jmp 0x1401bec2a
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
mov edx, dword [rbx + 0xc]
imul rcx, rax, 0x38
add rcx, r14
call fcn.1401bd7d0
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 0x1401c0013
call fcn.1401dfec0
mov r9, qword [rsp + 0x40]
mov rsi, rbx
jmp 0x1401bec24
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 0x1401be9db
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 0x1401c00af
xor edx, edx
call fcn.1401bd7d0
xor r11d, r11d
mov r8d, 0x2400
test eax, eax
mov ecx, r11d
sete cl
test word [rbx + 8], r8w
je 0x1401c0093
mov rdx, rcx
mov rcx, rbx
call fcn.1401dfec0
jmp 0x1401bf117
mov r9, qword [rsp + 0x40]
mov eax, 4
mov qword [rbx], rcx
mov word [rbx + 8], ax
mov r10d, 1
jmp 0x1401bfb25
test word [rbx + 8], r8w
je 0x1401c00c3
mov rcx, rbx
call fcn.1401de980
jmp 0x1401bf117
mov word [rbx + 8], r10w
jmp 0x1401bfb25
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 0x1401c010b
mov rcx, rbx
call fcn.1401de980
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
mov r8d, 0x2400
jmp 0x1401c0110
mov word [rbx + 8], r10w
test byte [rdi + 8], 1
jne 0x1401bf8b9
mov eax, 4
mov rcx, rdi
mov word [rbx + 8], ax
call fcn.1401c7140
mov rdi, qword [rsp + 0x38]
not rax
mov qword [rbx], rax
jmp 0x1401bf117
mov r10, qword [r13 + 0x110]
test r10, r10
je 0x1401c01b5
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 0x1401c4fe1
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 0x1401c01cd
mov rax, qword [rsp + 0x30]
mov rcx, qword [r13 + 0x90]
mov eax, dword [rax + 4]
cmp dword [rcx + 4], eax
je 0x1401c0402
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 0x1401be9db
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.1401bd7d0
mov rsi, qword [rsp + 0x30]
test eax, eax
jne 0x1401c1bf5
mov r9, qword [rsp + 0x40]
jmp 0x1401bec24
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.1401bd7d0
mov rsi, qword [rsp + 0x30]
test eax, eax
je 0x1401c1bf5
mov r9, qword [rsp + 0x40]
jmp 0x1401bec24
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 0x1401c4ff1
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x1401be9db
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 0x1401c4ff1
and eax, 0x3f
lea rcx, [0x140000000]
movzx eax, byte [rax + rcx + 0x24dbe0]
cmp eax, dword [rsi + 0xc]
jne case.0x1401bea15.88
jmp 0x1401c4ff1
mov rbx, qword [rsp + 0x30]
movsxd rax, dword [rbx + 4]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
jne 0x1401c0349
movsxd rax, dword [rbx + 0xc]
imul rcx, rax, 0x38
test byte [rcx + r14 + 8], 1
jne 0x1401c0349
mov rax, rbx
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r8w
je 0x1401c0325
xor edx, edx
call fcn.1401dfec0
mov r9, qword [rsp + 0x40]
mov rsi, rbx
jmp 0x1401bec24
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 0x1401be9db
mov rax, rbx
movsxd rax, dword [rbx + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r8w
je 0x1401c0370
call fcn.1401de980
mov r9, qword [rsp + 0x40]
mov rsi, rbx
jmp 0x1401bec24
mov r13, qword [rbp + 0x280]
mov rsi, rbx
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
mov word [rcx + 8], r10w
jmp 0x1401be9db
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 0x1401c4ff1
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x1401be9db
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 0x1401bfb25
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r8w
je 0x1401c040d
call fcn.1401de980
mov r9, qword [rsp + 0x40]
xor r11d, r11d
mov r10d, 1
jmp 0x1401c4fec
mov word [rcx + 8], r10w
jmp 0x1401c4fec
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 0x1401c04ef
mov rdx, qword [r15 + 0x10]
test rdx, rdx
je 0x1401c04e5
lea eax, [rsi + 1]
mov eax, dword [rdx + rax*4]
test eax, eax
je 0x1401c04e5
cmp byte [r15 + 2], 0
jne 0x1401c04e5
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 0x1401c066c
cmp byte [r15 + 2], 0
je 0x1401c0567
cmp byte [r15], 3
jne 0x1401c0529
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 0x1401c05b7
mov rcx, r15
call fcn.1401c6530
jmp 0x1401c0504
mov rax, qword [r15 + 0x30]
cmp byte [rax], 0
je 0x1401c0471
mov rcx, r15
call fcn.14015dae0
mov dword [rbp + 0x298], eax
mov r9d, eax
test eax, eax
jne 0x1401c5166
mov r9, qword [rsp + 0x40]
mov r12d, eax
xor r11d, r11d
lea r10d, [rax + 1]
jmp 0x1401c047b
mov r8d, 0x2400
test word [r14 + 8], r8w
je 0x1401c0550
mov rcx, r14
call fcn.1401de980
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
jmp 0x1401bf117
movzx r15d, byte [rbp + 0x288]
mov word [r14 + 8], r10w
mov r14, qword [rsp + 0x58]
jmp 0x1401bfb25
mov rbx, qword [r15 + 0x30]
mov rcx, rbx
call fcn.14015c2f0
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 0x1401c059b
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 0x1401c557e
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 0x1401c05de
movzx eax, al
mov dword [r13], eax
mov eax, 1
jmp 0x1401c05e9
mov rdx, r13
call fcn.1401a03d0
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 0x1401c0663
mov qword [r15 + 0x60], r11
mov dword [r15 + 0x6c], r11d
mov eax, dword [r13]
cmp eax, 0x18003
ja 0x1401c061b
cmp eax, dword [r15 + 0x68]
jbe 0x1401c066c
mov r8d, 0x2400
mov r9, qword [rsp + 0x40]
mov eax, dword [r9 + 0xc]
test eax, eax
jle 0x1401c5196
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 0x1401bfb25
mov rax, qword [r15 + 0x60]
jmp 0x1401c0725
movzx eax, word [r15 + 0x4a]
cmp eax, esi
ja 0x1401c08fa
mov eax, dword [r13]
cmp dword [r15 + 0x40], eax
jae 0x1401c08ad
mov rax, qword [r15 + 0x60]
mov qword [rbp - 0x80], rax
test rax, rax
jne 0x1401c0729
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 0x1401c06e2
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 0x1401c0702
mov ecx, 0x1010
mov dword [rbp + 0x14], r8d
mov word [rbp + 0x10], cx
jmp 0x1401c0729
lea r9, [rbp + 8]
xor edx, edx
mov rcx, r10
call fcn.1401c8170
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5161
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 0x1401c0778
lea rdx, [0x140000000]
inc rbx
movzx eax, byte [rdi + rdx + 0x24ea30]
jmp 0x1401c07b6
lea rdx, [rbp - 0x50]
mov rcx, rbx
call fcn.1401a03d0
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 0x1401c07a2
lea eax, [rdi - 0xc]
shr eax, 1
jmp 0x1401c07b1
lea rcx, [0x140000000]
movzx eax, byte [rdi + rcx + 0x24ea30]
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 0x1401c07d1
cmp rbx, r13
jb 0x1401c0750
jmp 0x1401c07d6
cmp rbx, r13
jb 0x1401c07e4
cmp rbx, r13
ja 0x1401c07ed
mov eax, dword [r15 + 0x68]
cmp r14, rax
jne 0x1401c07ed
mov eax, dword [r15 + 0x68]
cmp r14, rax
jbe 0x1401c083a
cmp dword [rcx], 0
jne 0x1401c07fd
xor r11d, r11d
mov rbx, r13
mov r12d, r11d
jmp 0x1401c083d
cmp qword [r15 + 0x60], 0
mov r8d, 0x2400
jne 0x1401c082d
test word [rbp + 0x10], r8w
jne 0x1401c0817
cmp dword [rbp + 0x28], 0
je 0x1401c082d
lea rcx, [rbp + 8]
call fcn.1401de8b0
mov rdi, qword [rsp + 0x38]
xor r11d, r11d
jmp 0x1401c061b
mov rdi, qword [rsp + 0x38]
xor r11d, r11d
jmp 0x1401c0621
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 0x1401c0875
test word [rbp + 0x10], r8w
jne 0x1401c0863
cmp dword [rbp + 0x28], 0
je 0x1401c0875
lea rcx, [rbp + 8]
call fcn.1401de8b0
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 0x1401c0901
mov rdi, qword [rsp + 0x30]
cmp byte [rdi + 1], 0xf5
jne 0x1401c08b8
mov rdx, qword [rdi + 0x10]
mov r8d, 0x800
mov rcx, r14
call fcn.1401c8ce0
jmp 0x1401bfe02
mov edi, r11d
mov r8d, 0x2400
jmp 0x1401c0882
test word [r14 + 8], r8w
je 0x1401c08cc
mov rcx, r14
call fcn.1401de980
jmp 0x1401bfe02
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 0x1401bfb25
mov eax, esi
mov edi, dword [r15 + rax*4 + 0x70]
mov edx, 0x2400
test word [r14 + 8], dx
je 0x1401c0915
mov rcx, r14
call fcn.1401de980
lea eax, [rsi + 1]
mov eax, dword [r13 + rax*4]
cmp dword [r15 + 0x6c], eax
jb 0x1401c0a0f
mov eax, esi
mov esi, dword [r13 + rax*4]
add rsi, qword [r15 + 0x60]
cmp edi, 0xc
jae 0x1401c0949
mov r8, r14
mov edx, edi
mov rcx, rsi
call fcn.1401ca500
jmp 0x1401bfe02
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 0x1401c09b8
mov eax, 1
xor r8d, r8d
mov rcx, r14
mov word [r14 + 8], ax
call fcn.1401c82f0
test eax, eax
je 0x1401c09c0
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.1401a6020
lea rdx, [0x140240410]
mov rcx, r13
call fcn.1401be820
mov r9d, 7
jmp 0x1401c554a
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 + 0x24bf0c]
mov word [r14 + 8], ax
mov r14, qword [rsp + 0x58]
jmp 0x1401bf117
movzx eax, byte [rbp + 0x288]
mov r12, qword [rsp + 0x30]
mov byte [r14 + 0xa], al
movzx eax, word [r12 + 2]
test al, 0xc0
je 0x1401c0a38
cmp edi, 0xc
jb 0x1401c0a34
test dil, 1
je 0x1401c0a61
test al, al
js 0x1401c0a61
mov eax, pe_nt_image_headers64
cmp edi, eax
jb 0x1401c0a4a
lea r8d, [rdi - 0xc]
shr r8d, 1
jmp 0x1401c0a5c
lea rcx, [0x140000000]
mov eax, edi
movzx r8d, byte [rax + rcx + 0x24ea30]
test r8d, r8d
jne 0x1401c0a77
lea rcx, [0x14024e570]
mov r8, r14
mov edx, edi
call fcn.1401ca500
jmp 0x1401bfe02
mov rcx, qword [r15 + 0x30]
mov eax, esi
mov r9, r14
mov edx, dword [r13 + rax*4]
call fcn.1401c8170
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c25a4
mov rcx, qword [r14 + 0x10]
mov r8, r14
mov edx, edi
call fcn.1401ca500
mov eax, 0xefff
and word [r14 + 8], ax
jmp 0x1401bfe02
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 0x1401bfb12
lea rdi, [r15 + 0x12]
movzx eax, word [rdi]
test al, 0x60
je 0x1401c0b02
test al, 0x20
jne 0x1401c0bad
mov rax, qword [rsp + 0x30]
cmp dword [rax + 0xc], 0
jne 0x1401c0ba9
movzx r8d, byte [rbp + 0x288]
movzx edx, byte [rdi - 6]
mov rcx, rbx
call fcn.14012fa50
movzx ecx, word [rbx + 8]
test cl, 1
jne 0x1401c0ba9
mov eax, dword [rdi - 0xa]
shr eax, 4
and eax, 0xf
cmp eax, 2
je 0x1401c0ba0
jbe 0x1401c0ba9
cmp eax, 4
jbe 0x1401c0b9b
cmp eax, 5
je 0x1401c0b47
cmp eax, 6
jne 0x1401c0ba9
test cl, 2
jmp 0x1401c0ba3
test cl, 4
je 0x1401c0b96
mov rdx, qword [rbx]
movabs rax, 0x800000000000
movabs r8, 0xffffffffffff
add rax, rdx
cmp rax, r8
mov eax, 0xfffb
ja 0x1401c0b7d
and cx, ax
or cx, 0x20
mov word [rbx + 8], cx
jmp 0x1401c0ba9
xorps xmm0, xmm0
and cx, ax
or cx, 8
mov word [rbx + 8], cx
cvtsi2sd xmm0, rdx
movsd qword [rbx], xmm0
jmp 0x1401c0ba9
test cl, 0x28
jmp 0x1401c0ba3
test cl, 4
jmp 0x1401c0ba3
test cl, 0x10
je 0x1401c51a2
add rbx, 0x38
movsx eax, word [r14 + 0x36]
inc esi
add rdi, 0x18
cmp esi, eax
jl 0x1401c0ae4
mov rdi, qword [rsp + 0x38]
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
jmp 0x1401bf117
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.14012fa50
cmp byte [rdi], 0x45
jne 0x1401c0c51
movzx ecx, word [rbx + 8]
test cl, 4
je 0x1401c0c51
mov rdx, qword [rbx]
movabs rax, 0x800000000000
movabs r8, 0xffffffffffff
add rax, rdx
cmp rax, r8
mov eax, 0xfffb
ja 0x1401c0c3a
and cx, ax
or cx, 0x20
jmp 0x1401c0c4d
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 0x1401c1482
add rbx, 0x38
jmp 0x1401c0bf0
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 0x1401c0d18
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.14012fa50
cmp byte [rdi], 0x45
jne 0x1401c0cf6
movzx eax, word [rbx]
test al, 4
je 0x1401c0cf6
and ax, si
or ax, 0x20
mov word [rbx], ax
inc rdi
add rbx, 0x38
cmp byte [rdi], 0
jne 0x1401c0cd0
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 0x1401c0d43
mov eax, 0x4000
and cx, ax
neg cx
sbb eax, eax
and eax, 0xa
inc r12d
mov dword [rbx], eax
jmp 0x1401c0eb8
test cl, 0x24
je 0x1401c0e2d
mov r8, qword [rbx - 0x24]
mov rdx, r8
test r8, r8
jns 0x1401c0d5b
not rdx
inc r12d
cmp rdx, 0x7f
ja 0x1401c0d8a
mov rax, r8
and eax, 1
cmp rax, r8
jne 0x1401c0d7f
cmp r13, 4
jl 0x1401c0d7f
lea eax, [rdx + 8]
mov dword [rbx], eax
jmp 0x1401c0eb8
inc r15
mov dword [rbx], r10d
jmp 0x1401c0eb8
cmp rdx, 0x7fff
ja 0x1401c0da2
add r15, 2
mov dword [rbx], 2
jmp 0x1401c0eb8
cmp rdx, 0x7fffff
ja 0x1401c0dba
add r15, 3
mov dword [rbx], 3
jmp 0x1401c0eb8
cmp rdx, 0x7fffffff
ja 0x1401c0dd3
mov eax, 4
add r15, 4
mov dword [rbx], eax
jmp 0x1401c0eb8
movabs rax, 0x7fffffffffff
cmp rdx, rax
ja 0x1401c0df1
add r15, 6
mov dword [rbx], 5
jmp 0x1401c0eb8
add r15, 8
test cl, 0x20
je 0x1401c0e22
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 0x1401c0eb8
mov dword [rbx], 6
jmp 0x1401c0eb8
test cl, 8
je 0x1401c0e41
inc r12d
mov dword [rbx], 7
add r15, 8
jmp 0x1401c0eb8
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 0x1401c0e8e
movsxd rax, dword [rbx - 0x24]
lea r14d, [r14 + rax*2]
test r15, r15
je 0x1401c0e87
lea rcx, [rbx - 0x24]
call fcn.1401c7ff0
test eax, eax
jne 0x1401c0980
add esi, dword [rbx - 0x24]
lea r10d, [rax + 1]
jmp 0x1401c0e8e
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 0x1401c0ead
shr rax, 7
inc ecx
test rax, rax
jne 0x1401c0ea2
mov r11, qword [rsp + 0x70]
add r12d, ecx
mov dword [rbx], r14d
lea rax, [rbx - 0x24]
cmp rax, r11
je 0x1401c0ece
mov rdx, qword [rbp - 0x78]
sub rbx, 0x38
jmp 0x1401c0d20
cmp r12d, 0x7e
jle 0x1401c0f0f
movsxd rax, r12d
mov edx, r10d
shr rax, 7
test rax, rax
je 0x1401c0eee
shr rax, 7
inc edx
test rax, rax
jne 0x1401c0ee3
add r12d, edx
mov ecx, r10d
movsxd rax, r12d
shr rax, 7
test rax, rax
je 0x1401c0f0b
shr rax, 7
inc ecx
test rax, rax
jne 0x1401c0f00
cmp edx, ecx
jge 0x1401c0f12
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 0x1401c0f6d
mov r8, qword [rsp + 0x38]
movsxd rax, dword [r8 + 0x88]
cmp rcx, rax
jg 0x1401c557b
cmp edx, ebx
jge 0x1401c0f67
xor r8d, r8d
mov edx, ebx
mov rcx, r14
call fcn.1401c82f0
test eax, eax
jne 0x1401c0980
mov r11, qword [rsp + 0x70]
lea r10d, [rax + 1]
jmp 0x1401c0f75
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 0x1401c0f95
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 0x1401c0faf
mov byte [r14], r12b
mov eax, r10d
jmp 0x1401c0fbf
mov rdx, rdi
mov rcx, r14
call fcn.1401ae830
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 0x1401c0fe3
mov byte [r14], r10b
mov eax, 1
jmp 0x1401c0fee
mov rdx, r10
mov rcx, r14
call fcn.1401ae830
movzx eax, al
add r14, rax
lea eax, [r10 - 1]
cmp eax, 6
ja 0x1401c1021
mov rdx, qword [r11]
lea rcx, [0x140000000]
movzx ecx, byte [r10 + rcx + 0x24ea30]
mov ebx, ecx
dec ecx
mov byte [rcx + rsi], dl
shr rdx, 8
test ecx, ecx
jne 0x1401c1012
jmp 0x1401c1049
cmp r10d, 0xc
jb 0x1401c1045
mov ebx, dword [r11 + 0xc]
test ebx, ebx
je 0x1401c1049
mov rdx, qword [r11 + 0x10]
mov r8d, ebx
mov rcx, rsi
call sub.msvcrt.dll_memcpy
mov r11, qword [rsp + 0x70]
jmp 0x1401c1049
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 0x1401c0fd0
jmp 0x1401bfe02
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 0x1401c1095
mov rcx, rdx
call fcn.140181fa0
mov rbx, rax
jmp 0x1401c10bd
lea r8, [rbp - 8]
mov rcx, rdi
mov qword [rbp - 8], r11
call fcn.14017f5c0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5834
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 0x1401c10e9
mov rcx, rax
call fcn.140168ef0
mov qword [rax], rbx
jmp 0x1401c37a6
mov ecx, 4
mov word [rax + 8], cx
mov qword [rax], rbx
jmp 0x1401c37a6
mov r12, qword [rsp + 0x30]
mov r14d, dword [r12 + 4]
mov rdi, qword [r12 + 0x10]
mov dword [rbp - 0x80], r14d
test r14d, r14d
jne 0x1401c11f3
mov rsi, qword [rsp + 0x38]
cmp dword [rsi + 0xe0], r14d
jg 0x1401c521c
test rdi, rdi
jne 0x1401c1132
mov ebx, r11d
jmp 0x1401c1145
or rbx, 0xffffffffffffffff
inc rbx
cmp byte [rdi + rbx], 0
jne 0x1401c1136
and ebx, 0x3fffffff
mov r8d, dword [rsi + 0x2ec]
xor edx, edx
mov rcx, rsi
add r8d, dword [rsi + 0x2e8]
call fcn.1401ccd30
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5238
movsxd rdx, ebx
mov rcx, rsi
add rdx, 0x21
call fcn.140188bc0
mov rsi, rax
test rax, rax
je 0x1401c1476
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 0x1401c11b4
mov byte [rdi + 0x65], 0
mov byte [rdi + 0x6d], 1
jmp 0x1401c11ba
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 0x1401bf117
mov r8, qword [rsp + 0x38]
mov r12d, r11d
mov rsi, qword [r8 + 0x2d8]
test rsi, rsi
je 0x1401c122b
nop word [rax + rax]
mov rcx, qword [rsi]
mov rdx, rdi
call fcn.1401b7b70
test eax, eax
je 0x1401c1255
mov rsi, qword [rsi + 0x18]
inc r12d
test rsi, rsi
jne 0x1401c1210
lea rdx, str.no_such_savepoint:__s
mov r8, rdi
mov rcx, r13
call fcn.1401be820
mov eax, 1
mov r9d, eax
mov dword [rbp + 0x298], eax
mov rdi, qword [rsp + 0x38]
jmp 0x1401c5161
mov rdi, qword [rsp + 0x38]
cmp dword [rdi + 0xe0], 0
jle 0x1401c126d
cmp r14d, 1
je 0x1401c5240
cmp qword [rsi + 0x18], 0
jne 0x1401c12dd
cmp byte [rdi + 0x6d], 0
je 0x1401c12dd
mov r13d, 1
cmp r14d, r13d
jne 0x1401c12e0
mov rbx, qword [rbp + 0x280]
mov rax, qword [rbx]
mov rcx, qword [rax + 0x2f8]
add rcx, qword [rax + 0x2f0]
test rcx, rcx
jg 0x1401c52b0
mov rcx, rbx
mov byte [rdi + 0x65], r13b
call fcn.1401c6a40
cmp eax, 5
je 0x1401c5261
mov r9d, dword [rbx + 0x38]
mov dword [rbp + 0x298], r9d
test r9d, r9d
je 0x1401c12d4
mov byte [rdi + 0x65], 0
jmp 0x1401c1402
mov byte [rdi + 0x6d], 0
jmp 0x1401c140b
mov r13d, r11d
mov eax, dword [rdi + 0x2e8]
sub eax, r12d
lea r12d, [rax - 1]
cmp r14d, 2
jne 0x1401c1360
mov r15d, dword [rdi + 0x2c]
mov rax, qword [rsp + 0x38]
mov edi, r11d
and r15d, 1
cmp dword [rax + 0x28], 0
jle 0x1401c1366
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.140183000
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c124b
mov rax, qword [rsp + 0x38]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x1401c1320
mov r14d, dword [rbp - 0x80]
xor r11d, r11d
jmp 0x1401c136d
mov r15d, r11d
mov rax, rdi
mov r9d, dword [rbp + 0x298]
cmp dword [rax + 0x28], 0
mov edi, r11d
jle 0x1401c13b5
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.140182000
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c124b
mov rax, qword [rsp + 0x38]
inc edi
add rbx, 0x20
cmp edi, dword [rax + 0x28]
jl 0x1401c1380
mov rdi, qword [rsp + 0x38]
test r15d, r15d
je 0x1401c13fa
mov rax, qword [rdi + 8]
test rax, rax
je 0x1401c13e7
nop dword [rax + rax]
and dword [rax + 0xd0], 0xfffffffd
or dword [rax + 0xd0], 1
mov rax, qword [rax + 0x10]
test rax, rax
jne 0x1401c13d0
mov rcx, rdi
call fcn.1401b0010
or dword [rdi + 0x2c], 1
mov r9d, dword [rbp + 0x298]
movzx r15d, byte [rbp + 0x288]
test r9d, r9d
jne 0x1401c5161
cmp qword [rdi + 0x2d8], rsi
je 0x1401c1449
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.140188a30
dec dword [rdi + 0x2e8]
cmp qword [rdi + 0x2d8], rsi
jne 0x1401c1420
cmp r14d, 1
jne 0x1401c148c
mov rax, qword [rsi + 0x18]
mov rdx, rsi
mov rcx, rdi
mov qword [rdi + 0x2d8], rax
call fcn.140188a30
test r13d, r13d
jne 0x1401c11e2
dec dword [rdi + 0x2e8]
jmp 0x1401c14b1
mov r12d, dword [rbp + 0x298]
mov r14, qword [rsp + 0x58]
mov rdi, qword [rsp + 0x38]
jmp 0x1401bf117
mov rax, qword [rsi + 8]
mov qword [rdi + 0x2f0], rax
mov rax, qword [rsi + 0x10]
mov qword [rdi + 0x2f8], rax
test r13d, r13d
je 0x1401c14b1
cmp r14d, 2
jne 0x1401c11e2
mov r8d, r12d
mov edx, r14d
mov rcx, rdi
call fcn.1401ccd30
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5161
mov r14, qword [rsp + 0x58]
mov r12d, eax
jmp 0x1401bf117
mov r12, qword [rsp + 0x30]
mov dword [rsp + 0x78], r11d
mov edx, dword [r12 + 8]
test edx, edx
je 0x1401c1504
movabs rax, 0x200100000
test qword [rdi + 0x30], rax
jne 0x1401c52ef
movsxd rcx, dword [r12 + 4]
mov rax, qword [rdi + 0x20]
shl rcx, 5
mov rbx, qword [rcx + rax + 8]
test rbx, rbx
je 0x1401c15c0
lea r8, [rsp + 0x78]
mov rcx, rbx
call fcn.14017eb50
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5312
test byte [r13 + 0xd0], 0x40
je 0x1401c15d0
cmp dword [r12 + 8], eax
je 0x1401c15d0
cmp byte [rdi + 0x65], al
je 0x1401c1560
cmp dword [rdi + 0xdc], 1
jle 0x1401c15d0
cmp dword [r13 + 0x48], 0
jne 0x1401c157d
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.1401ccd30
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c15aa
mov edx, dword [r13 + 0x48]
mov rcx, rbx
call fcn.14017eae0
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 0x1401c5166
cmp word [r12 + 2], 0
je 0x1401bfaaa
mov eax, dword [r12 + 0xc]
cmp dword [rsp + 0x78], eax
jne 0x1401c535a
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 0x1401c535a
mov r12d, dword [rbp + 0x298]
jmp 0x1401bf117
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.14017ffc0
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 0x1401c166d
call fcn.140168ef0
mov r8d, 0x2400
mov rcx, rax
jmp 0x1401c1676
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 0x1401bfb25
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.140183190
mov r9d, eax
mov dword [rbp + 0x298], eax
mov eax, dword [r12 + 8]
cmp eax, 1
jne 0x1401c16f3
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.140195340
mov r9d, dword [rbp + 0x298]
jmp 0x1401c1705
cmp eax, 2
jne 0x1401c1705
mov rcx, qword [rbx + 0x18]
movzx eax, byte [r12 + 0xc]
mov byte [rcx + 0x70], al
cmp dword [r12 + 4], 1
jne 0x1401c171f
xor edx, edx
mov rcx, rdi
call fcn.14018c2a0
and dword [r13 + 0xd0], 0xfffffffc
test r9d, r9d
jne 0x1401c5166
mov r12d, dword [rbp + 0x298]
jmp 0x1401bf117
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 0x1401c177f
mov eax, dword [r12 + 8]
cmp dword [rdi + 0x44], eax
jne 0x1401c177f
mov rbx, qword [rdi + 0x30]
add rdi, 0x30
mov rcx, qword [rbx + 0x18]
call fcn.140122460
mov r9d, dword [rbp + 0x298]
xor r11d, r11d
mov qword [rbx + 0x18], r11
mov byte [rbx], 1
jmp 0x1401c18b4
mov rdi, qword [rsp + 0x38]
jmp 0x1401c178b
mov r12, qword [rsp + 0x30]
mov eax, dword [r13 + 0xd0]
and al, 3
cmp al, 1
je 0x1401c53c6
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 0x1401c17f3
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 0x1401c17f6
mov byte [rax + 0xcb], cl
jmp 0x1401c17f6
mov esi, r11d
mov rcx, qword [rsp + 0x30]
test byte [rcx + 2], 0x10
je 0x1401c181d
imul rbx, r15, 0x38
mov rax, r15
add rbx, qword [rsp + 0x58]
mov rcx, rbx
call fcn.1401c85c0
mov r15d, dword [rbx]
mov rcx, qword [rsp + 0x30]
movzx eax, byte [rcx + 1]
cmp al, 0xf7
jne 0x1401c1830
mov r14, qword [rcx + 0x10]
movzx edi, word [r14 + 8]
jmp 0x1401c1837
cmp al, 0xfd
jne 0x1401c1837
mov edi, dword [rcx + 0x10]
mov edx, dword [rcx + 4]
mov rcx, qword [rbp + 0x280]
xor r9d, r9d
mov r8d, edi
call fcn.14012da30
mov rbx, rax
test rax, rax
je 0x1401c0980
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.14017f7e0
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 0x1401c5166
mov r12d, dword [rbp + 0x298]
mov r9, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1401bfb1f
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.14012da30
mov r10, rax
test rax, rax
je 0x1401c0991
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.14017f7e0
mov r12d, eax
mov dword [rbp + 0x298], eax
jmp 0x1401bf117
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x1401c19b4
imul rcx, rax, 0x38
mov dword [rcx + r14 + 0xc], r11d
movsxd rax, dword [r12 + 0xc]
imul rcx, rax, 0x38
lea rax, [0x140227070]
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 0x1401c19ff
test byte [rbx + 8], 8
jne 0x1401c19ff
movsx eax, word [rbx + 0x48]
cmp dword [r12 + 8], eax
jg 0x1401c19ff
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.14017ef60
mov r9d, eax
mov dword [rbp + 0x298], eax
jmp 0x1401c1b42
mov r8d, dword [r12 + 8]
xor r9d, r9d
mov rcx, r13
call fcn.14012da30
mov rbx, rax
test rax, rax
je 0x1401c0991
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.140181560
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c25a4
mov rcx, qword [rbx + 0x10]
mov r13d, 1
xor r8d, r8d
mov edx, r13d
call fcn.14017eb50
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c1b0c
mov rsi, qword [r12 + 0x10]
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 0x38], rsi
test rsi, rsi
je 0x1401c1ae3
movzx r8d, word [r12 + 2]
lea rdx, [rbx + 0x44]
or r8d, 2
call fcn.14017f770
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c1ad8
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.14017f7e0
mov r9d, eax
mov dword [rbp + 0x298], eax
mov r14, qword [rsp + 0x58]
mov byte [rbx + 4], 0
jmp 0x1401c1b0c
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.14017f7e0
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 0x1401c1b4e
mov rcx, qword [rbx + 0x10]
call fcn.14017f050
mov r9d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
test r9d, r9d
jne 0x1401c5166
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 0x1401bfb1f
mov r12, qword [rsp + 0x30]
mov r9b, 1
mov rcx, r13
mov r8d, dword [r12 + 8]
mov edx, dword [r12 + 4]
call fcn.14012da30
test rax, rax
je 0x1401c0991
mov rcx, qword [r12 + 0x10]
mov r8, rax
mov qword [rax + 0x38], rcx
mov edx, dword [r12 + 0xc]
mov rcx, rdi
call fcn.1401cab50
mov dword [rbp + 0x298], eax
mov r9d, eax
test eax, eax
jne 0x1401c5166
mov r12d, dword [rbp + 0x298]
jmp 0x1401bf117
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 0x1401bfb25
mov rsi, qword [rsp + 0x30]
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x1401c4ff1
mov rax, qword [rsp + 0x30]
mov r9b, 3
mov rcx, r13
mov r8d, dword [rax + 0xc]
mov edx, dword [rax + 4]
call fcn.14012da30
test rax, rax
je 0x1401c5803
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, [0x140539b5c]
mov qword [rax + 0x30], rcx
jmp 0x1401bf117
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.1401c68d0
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 0x1401bfb1f
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 0x1401c1da8
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 0x1401c1ce1
xor edx, edx
mov rcx, rdi
call fcn.14012fac0
mov rcx, rdi
call fcn.1401c7140
movzx edx, word [rdi + 8]
mov word [rdi + 8], si
mov r15, rax
test dl, 0x24
jne 0x1401c1d75
test dl, 8
jne 0x1401c1d53
test dl, 1
jne 0x1401c1d47
cmp ebx, 0x19
jge 0x1401c1d47
mov rcx, qword [r14 + 0x30]
lea rdx, [rsp + 0x68]
call fcn.1401812a0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c124b
xor r11d, r11d
cmp dword [rsp + 0x68], 0
je 0x1401c1ece
mov r12d, dword [rbp + 0x298]
mov r10d, 1
jmp 0x1401c4fe7
mov r12d, dword [rbp + 0x298]
jmp 0x1401c03fa
movsd xmm1, qword [rdi]
mov rcx, rax
call fcn.1401a2e00
test eax, eax
jle 0x1401c1d6c
test bl, 1
jne 0x1401c1d75
dec ebx
jmp 0x1401c1d75
jns 0x1401c1d75
test bl, 1
je 0x1401c1d75
inc ebx
mov rcx, qword [r14 + 0x30]
lea r9, [rsp + 0x68]
xor r8d, r8d
mov rdx, r15
call fcn.1401828d0
mov rdi, qword [rsp + 0x38]
mov qword [r14 + 0x50], r15
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5161
jmp 0x1401c1e2c
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.140180230
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5161
test r12d, r12d
je 0x1401c1e2c
cmp byte [rbp + 0x8e], al
je 0x1401c1d27
mov eax, dword [rsp + 0x68]
cmp ebx, 0x19
jl 0x1401c1e93
test eax, eax
js 0x1401c1e4d
jne 0x1401c1e40
cmp ebx, 0x1a
je 0x1401c1e4d
xor r11d, r11d
mov dword [rsp + 0x68], r11d
jmp 0x1401c1ece
mov rcx, qword [r14 + 0x30]
xor r15d, r15d
xor edx, edx
mov dword [rsp + 0x68], r15d
call fcn.140181520
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
je 0x1401c1ecb
cmp eax, 0x65
jne 0x1401c5817
xor r11d, r11d
mov r10d, 1
mov r12d, r11d
mov dword [rbp + 0x298], r11d
mov dword [rsp + 0x68], r10d
jmp 0x1401c4fe7
test eax, eax
jg 0x1401c1eb6
jne 0x1401c1e9e
cmp ebx, 0x17
je 0x1401c1eb6
mov rax, qword [r14 + 0x30]
xor r11d, r11d
mov ecx, r11d
cmp byte [rax], cl
setne cl
mov dword [rsp + 0x68], ecx
jmp 0x1401c1d2a
mov rcx, qword [r14 + 0x30]
xor r15d, r15d
xor edx, edx
mov dword [rsp + 0x68], r15d
call fcn.140181d40
jmp 0x1401c1e60
xor r11d, r11d
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
mov r10d, 1
test r12d, r12d
je 0x1401c2a1e
add qword [rsp + 0x30], 0x18
mov r12d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
jmp 0x1401bfb1f
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 0x1401bf8b9
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.1401c6de0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c25a4
mov eax, dword [rbp - 0x54]
test eax, eax
jg 0x1401c1fe0
je 0x1401c23c1
test ebx, ebx
jle 0x1401c2a15
mov rcx, qword [rdi + 0x30]
xor edx, edx
dec ebx
call fcn.140181520
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
je 0x1401c1f70
cmp eax, 0x65
jne 0x1401c25a4
xor r11d, r11d
mov r12d, r11d
mov dword [rbp + 0x298], r11d
jmp 0x1401c1fea
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 0x1401c4ff1
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 0x1401c2045
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 0x1401be9db
cmp eax, dword [rsi + 0xc]
jle case.0x1401bea15.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 0x1401be9db
mov rax, qword [rsp + 0x30]
movsxd rcx, dword [rax + 4]
mov rax, qword [r13 + 0x80]
cmp qword [rax + rcx*8], 0
je case.0x1401bea15.11
jmp 0x1401bfb25
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.0x1401bea15.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 0x1401c2108
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 0x1401c2155
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1401c2123
mov rcx, rbx
call fcn.1401c7ff0
test eax, eax
jne 0x1401c0991
mov rcx, qword [rsi + 0x38]
call fcn.1401bd730
mov rdi, rax
mov r14, rax
test rax, rax
je 0x1401c551a
mov r8, qword [rbx + 0x10]
mov edx, dword [rbx + 0xc]
mov rcx, qword [rsi + 0x38]
mov r9, rax
call fcn.1401ca140
xor r11d, r11d
lea r10d, [r11 + 1]
mov byte [rdi + 0x12], 0
cmp byte [r12], 0x1d
mov ebx, r11d
jne 0x1401c218a
movzx edx, word [rdi + 0x10]
mov ecx, r11d
test edx, edx
jle 0x1401c218a
mov rax, qword [rdi + 8]
add rax, 8
test byte [rax], 1
jne 0x1401c2187
inc ecx
add rax, 0x38
cmp ecx, edx
jl 0x1401c2176
jmp 0x1401c218a
mov ebx, r10d
mov rcx, qword [rsi + 0x30]
lea r8, [rbp - 0x20]
mov rdx, rdi
call fcn.140180230
mov rdi, qword [rsp + 0x38]
mov r9d, eax
mov dword [rbp + 0x298], eax
test r14, r14
je 0x1401c21bf
mov rdx, r14
mov rcx, rdi
call fcn.140188a90
mov r9d, dword [rbp + 0x298]
test r9d, r9d
jne 0x1401c5166
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 0x1401c2211
mov r12d, dword [rbp + 0x298]
test ecx, ecx
jne 0x1401c4fe7
mov r9, qword [rsp + 0x40]
jmp 0x1401bfb1a
test ebx, ebx
jne 0x1401c23ca
test ecx, ecx
je 0x1401c23ca
mov r14, qword [rsp + 0x58]
cmp al, 0x1c
jne 0x1401c2a1e
movzx eax, word [r12 + 0x10]
mov r9, qword [rsp + 0x40]
mov r12d, dword [rbp + 0x298]
mov word [rsi + 0xc], ax
jmp 0x1401bfb1f
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 0xc]
imul rcx, rax, 0x38
add rcx, r14
test byte [rcx + 8], 0x24
jne case.0x1401bea15.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 0x1401c2330
test dl, 8
jne 0x1401c22cc
test dl, 2
je 0x1401c2327
lea rcx, [rbp + 0xb8]
mov edx, r10d
call fcn.14012fac0
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x1401c2320
movsd xmm4, qword [rbp + 0xb8]
movaps xmm0, xmm4
call fcn.14013d2d0
xorps xmm3, xmm3
cvtsi2sd xmm3, rax
ucomisd xmm4, xmm3
jp 0x1401c2327
jne 0x1401c2327
movabs rcx, 0x7fffffffffffffff
add rcx, rax
cmp rcx, 0xfffffffffffffffd
ja 0x1401c2327
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 0x1401c4fec
mov rdi, qword [rbp + 0xb8]
mov r12, qword [rsp + 0x30]
jmp 0x1401c2350
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.1401828d0
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 0x1401c18c3
cmp dword [r12 + 8], r11d
jne 0x1401c23c4
mov ecx, 0x16952
call fcn.140186b40
xor r11d, r11d
mov r9d, eax
mov dword [rbp + 0x298], eax
jmp 0x1401c18c3
xor r11d, r11d
mov r10d, 1
mov r12d, dword [rbp + 0x298]
jmp 0x1401c4fe7
mov rbx, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rbx
call fcn.140168ec0
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 0x1401bec24
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.140168ec0
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 0x1401c24ba
mov rcx, qword [rsi + 0x30]
lea rdx, [rsp + 0x64]
call fcn.1401812a0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5166
cmp dword [rsp + 0x64], eax
je 0x1401c2488
mov eax, 1
mov ebx, eax
mov qword [rsp + 0x70], rax
jmp 0x1401c24ba
mov rbx, qword [rsi + 0x30]
mov rcx, rbx
call fcn.14015c2f0
mov rbx, qword [rbx + 0x30]
movabs rax, 0x7fffffffffffffff
mov qword [rsp + 0x70], rbx
cmp rbx, rax
jl 0x1401c24b2
or dword [rsi + 8], 2
jmp 0x1401c24ba
inc rbx
mov qword [rsp + 0x70], rbx
movsxd rdx, dword [r12 + 0xc]
test edx, edx
je 0x1401c2531
mov rcx, qword [r13 + 0x110]
test rcx, rcx
je 0x1401c24f6
mov rax, qword [rcx + 8]
test rax, rax
je 0x1401c24ec
nop dword [rax + rax]
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401c24e0
imul rdi, rdx, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x1401c24ff
imul rdi, rdx, 0x38
add rdi, qword [rsp + 0x58]
mov rcx, rdi
call fcn.1401c85c0
mov rax, qword [rdi]
movabs rcx, 0x7fffffffffffffff
cmp rax, rcx
je 0x1401c2597
test byte [rsi + 8], 2
jne 0x1401c2597
inc rax
cmp rbx, rax
cmovl rbx, rax
mov qword [rsp + 0x70], rbx
mov qword [rdi], rbx
test byte [rsi + 8], 2
je 0x1401c25ae
xor eax, eax
mov edi, eax
nop dword [rax + rax]
lea rdx, [rsp + 0x70]
mov ecx, 8
call fcn.140123020
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.1401828d0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c25a4
cmp dword [rsp + 0x64], eax
jne 0x1401c25ae
inc edi
cmp edi, 0x64
jl 0x1401c2540
mov r9d, reloc.ODBC32.dll_SQLFetch
mov dword [rbp + 0x298], r9d
mov rdi, qword [rsp + 0x38]
jmp 0x1401c5166
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 0x1401bfb1f
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 0x1401c263a
cmp qword [rdi + 0x140], 0
je 0x1401c263a
mov rax, qword [rdi + 0x20]
movsx rcx, byte [rbx + 1]
mov rdi, qword [r12 + 0x10]
shl rcx, 5
mov rsi, qword [rcx + rax]
jmp 0x1401c2640
mov rdi, r11
mov rsi, r11
test byte [r12 + 2], 1
je 0x1401c264c
inc qword [r13 + 0x40]
test byte [r12 + 2], 0x20
je 0x1401c265d
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 0x1401c2683
mov r9d, dword [rbx + 0x24]
jmp 0x1401c2686
mov r9d, r11d
mov eax, 0x4000
test word [rdx + 8], ax
je 0x1401c269b
mov eax, dword [rdx]
mov dword [rbp + 0x1b0], eax
jmp 0x1401c26a2
mov dword [rbp + 0x1b0], r11d
mov qword [rbp + 0x188], r11
mov rcx, qword [rbx + 0x30]
lea rdx, [rbp + 0x188]
and r8d, 0x8a
call fcn.1401805f0
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 0x1401c25a4
test rdi, rdi
je 0x1401c2a18
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 0x1401bf117
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 0x1401c2769
mov rdx, qword [rdx + 0x30]
imul rcx, rax, 0x38
mov r8, qword [rcx + r14]
mov rcx, qword [r9 + 0x30]
call fcn.140182b50
jmp 0x1401c1baa
mov rdx, qword [rdx + 0x30]
mov rcx, qword [r9 + 0x30]
mov r8, r11
call fcn.140182b50
jmp 0x1401c1baa
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 0x1401c27ed
cmp qword [r12 + 0x140], 0
je 0x1401c27ed
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 0x1401c27f8
cmp byte [rdi + 4], 0
je 0x1401c27f8
mov rbx, qword [rdi + 0x30]
mov rcx, rbx
call fcn.14015c2f0
mov rax, qword [rbx + 0x30]
mov qword [rdi + 0x50], rax
jmp 0x1401c27f3
mov r14, r11
mov rsi, r11
mov rax, qword [rsp + 0x30]
movzx edx, byte [rax + 2]
mov rcx, qword [rdi + 0x30]
call fcn.14017f950
xor r11d, r11d
mov r9d, eax
mov dword [rbp + 0x298], eax
mov qword [rdi + 0x20], r11
test eax, eax
jne 0x1401c124b
test r15b, 1
je 0x1401c2a06
inc qword [r13 + 0x40]
mov r10, qword [r12 + 0x140]
test r10, r10
je 0x1401c2a06
test rsi, rsi
je 0x1401c2a06
test byte [rsi + 0x30], 0x80
jne 0x1401c2a06
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 0x1401bf117
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 0x1401be9db
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.1401caa50
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5166
xor r11d, r11d
mov r12d, eax
lea r10d, [rax + 1]
cmp dword [rbp - 0x60], r11d
jne 0x1401c4fe7
mov r9, qword [rsp + 0x40]
jmp 0x1401bfb1f
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.1401cb140
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5166
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 0x1401bfb1f
mov r12, qword [rsp + 0x30]
mov rcx, r13
mov rdx, r12
call fcn.140168ec0
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.14015c2f0
mov rax, qword [rsp + 0x38]
mov edx, dword [rbx + 0x40]
cmp edx, dword [rax + 0x88]
ja 0x1401c5576
mov r8, rdi
mov rcx, rbx
call fcn.1401c8290
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c25a4
cmp dword [r12 + 0xc], eax
jne 0x1401c2a15
mov eax, 0x1000
test word [rdi + 8], ax
je 0x1401c2a15
mov rcx, rdi
call fcn.1401c8620
mov rdi, qword [rsp + 0x38]
test eax, eax
jne 0x1401c0991
mov r12d, dword [rbp + 0x298]
jmp 0x1401bf117
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
jmp 0x1401c2a18
xor r11d, r11d
mov r10d, 1
mov r12d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
jmp 0x1401bfb1f
mov rbx, qword [rsp + 0x30]
mov rcx, r13
mov rdx, rbx
call fcn.140168ec0
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 0x1401c2a79
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov r10d, 1
mov word [rax + 8], r10w
xor r11d, r11d
jmp 0x1401bfb1f
cmp byte [rbx + 3], 0
je 0x1401c2a94
mov rax, qword [rbx + 0x50]
mov qword [rbp - 0x28], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x38]
jmp 0x1401bf117
cmp byte [rbx], 2
jne 0x1401c2adf
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.1401cc8f0
mov r9d, dword [rbp + 0x298]
test r9d, r9d
jne 0x1401c124b
mov rax, qword [rbp - 0x28]
mov r12d, r9d
mov qword [rdi], rax
mov rdi, qword [rsp + 0x38]
jmp 0x1401bf117
mov rax, qword [rbx + 0x30]
cmp byte [rax], 0
je 0x1401c2b09
mov rcx, rbx
call fcn.14015dae0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c124b
mov r12d, eax
xor r11d, r11d
jmp 0x1401c2b16
xor r11d, r11d
mov r12d, r11d
mov dword [rbp + 0x298], r11d
cmp byte [rbx + 2], 0
je 0x1401c2b36
mov r9, qword [rsp + 0x40]
mov r10d, 1
mov word [rdi + 8], r10w
mov rdi, qword [rsp + 0x38]
jmp 0x1401bfb1f
mov rbx, qword [rbx + 0x30]
mov rcx, rbx
call fcn.14015c2f0
mov rax, qword [rbx + 0x30]
mov qword [rbp - 0x28], rax
mov qword [rdi], rax
mov rdi, qword [rsp + 0x38]
jmp 0x1401bf117
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 0x1401bfb25
mov rcx, qword [rcx + 0x30]
call fcn.14017ef30
jmp 0x1401bf117
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 0x1401c2bc6
or rax, 0xffffffffffffffff
mov dword [rdi + 0x24], eax
cmp byte [rcx], 0
jne 0x1401c2bc6
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
jmp 0x1401bfb25
lea rdx, [rbp - 0x64]
call fcn.1401812a0
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 0x1401c25a4
cmp dword [r12 + 8], r11d
jle 0x1401c33c9
mov r12d, r9d
lea r10d, [r9 + 1]
test eax, eax
jne 0x1401c4fe7
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
jmp 0x1401bfb1f
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.140165ca0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c2c68
xor eax, eax
mov rcx, rbx
mov esi, eax
mov dword [rbp - 0x68], eax
call fcn.140165a10
mov r9d, eax
mov dword [rbp + 0x298], eax
jmp 0x1401c2c8c
cmp eax, 0x10
jne 0x1401c2c89
mov r10d, 1
xor r11d, r11d
mov esi, r10d
mov dword [rbp - 0x68], r10d
mov r9d, r11d
mov dword [rbp + 0x298], r11d
jmp 0x1401c2c95
mov esi, dword [rbp - 0x68]
mov r10d, 1
xor r11d, r11d
test r9d, r9d
jne 0x1401c5166
test esi, esi
jne 0x1401c23ca
mov rcx, rbx
call fcn.140181fa0
test rax, rax
js 0x1401c33ce
mov rcx, rax
call fcn.1401a4fb0
movsx ecx, ax
cmp ecx, dword [r12 + 0xc]
jge 0x1401c33ce
mov r12d, dword [rbp + 0x298]
mov r10d, 1
mov dword [rbp - 0x68], r10d
jmp 0x1401c4fe7
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 0x1401c2d27
lea rdx, [rbp - 0x58]
mov rcx, rdi
call fcn.1401cb0b0
mov ebx, dword [rbp - 0x58]
xor r11d, r11d
mov r9d, eax
mov dword [rbp + 0x298], eax
jmp 0x1401c2d60
mov rsi, qword [rdi + 0x30]
mov rcx, rsi
call fcn.140165ca0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c2d8e
xor eax, eax
mov rcx, rsi
mov ebx, eax
call fcn.140165a10
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 0x1401c25a4
mov r12d, dword [rbp + 0x298]
mov byte [rdi + 2], bl
lea r10d, [r9 + 1]
test ebx, ebx
jne 0x1401c4fe7
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
jmp 0x1401bfb1f
cmp eax, 0x10
jne 0x1401c2d55
xor r11d, r11d
lea ebx, [rax - 0xf]
mov r9d, r11d
mov dword [rbp + 0x298], r11d
jmp 0x1401c2d58
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.1401cad50
jmp 0x1401c2dea
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 0x1401c2e15
mov byte [rbx + 2], r11b
movzx eax, word [r12 + 2]
inc dword [r13 + rax*4 + 0xdc]
jmp 0x1401c4a35
cmp r9d, 0x65
jne 0x1401c5166
mov r12d, r11d
mov dword [rbp + 0x298], r11d
mov byte [rbx + 2], 1
jmp 0x1401c37a6
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 0x1401c2e5f
inc qword [r13 + 0x40]
mov eax, 0x4000
test word [rbx + 8], ax
je 0x1401c2e86
mov rcx, rbx
call fcn.1401c7ff0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c25a4
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 0x1401c2ece
mov r9d, dword [rdi + 0x24]
jmp 0x1401c2ed1
mov r9d, r11d
mov rcx, qword [rdi + 0x30]
lea rdx, [rbp + 0x1f0]
and r8d, 0x8a
call fcn.1401805f0
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 0x1401c5166
mov r9, qword [rsp + 0x40]
mov r12d, eax
lea r10d, [rax + 1]
jmp 0x1401bfb1f
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 0x1401c2f5b
mov rcx, rbx
call fcn.1401c7ff0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c25a4
mov rdx, rbx
mov rcx, rdi
call fcn.1401cb210
mov rdi, qword [rsp + 0x38]
jmp 0x1401c1baa
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.140180230
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c25a4
cmp dword [rbp - 0x1c], eax
jne 0x1401c301c
mov dl, 4
mov rcx, rbx
call fcn.14017f950
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c25a4
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 0x1401bfb1f
cmp word [r12 + 2], 0
je 0x1401c303c
mov rax, qword [rsp + 0x38]
mov eax, dword [rax + 0x30]
and eax, 0x10000001
cmp rax, 1
jne 0x1401c53d8
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 0x1401bfb1f
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 0x1401c30ab
mov rcx, rbx
call fcn.14015dae0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5166
mov r9, qword [rsp + 0x40]
mov r12d, eax
xor r11d, r11d
lea r10d, [rax + 1]
mov r8d, 0x2400
jmp 0x1401c30b5
mov r12d, r11d
mov dword [rbp + 0x298], r11d
cmp byte [rbx + 2], 0
jne 0x1401c3141
mov rdx, qword [rbx + 0x30]
lea r8, [rbp - 0x70]
mov rcx, rdi
mov qword [rbp - 0x70], r11
call fcn.1401c6f10
mov r12, qword [rsp + 0x30]
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5166
cmp byte [r12], 0x8c
jne 0x1401c3123
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 0x1401bf117
mov rdx, r12
mov rcx, r13
call fcn.140168ec0
mov rcx, qword [rbp - 0x70]
mov r12d, dword [rbp + 0x298]
mov qword [rax], rcx
jmp 0x1401bf117
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
imul rcx, rax, 0x38
add rcx, r14
test word [rcx + 8], r8w
je 0x1401c3162
call fcn.1401de980
jmp 0x1401bf117
mov word [rcx + 8], r10w
jmp 0x1401bfb25
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 0x1401bfb25
call fcn.1401c6530
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5161
mov r12d, eax
jmp 0x1401bf117
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.14015c2f0
mov eax, dword [rbx + 0x40]
test rax, rax
jle 0x1401c5421
cmp rax, 0x7fffffff
jg 0x1401c5421
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.1401c8290
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5166
mov rdx, qword [rbp + 0x1c8]
mov ecx, dword [rbp + 0x1c4]
lea r8, [rbp + 0x108]
call fcn.1401c9900
mov r8d, 0x2400
mov ebx, eax
test word [rbp + 0x1c0], r8w
jne 0x1401c3283
cmp dword [rbp + 0x1d8], 0
je 0x1401c3295
lea rcx, [rbp + 0x1b8]
call fcn.1401de8b0
mov r8d, 0x2400
test byte [r12], 1
je 0x1401c32a0
neg ebx
jmp 0x1401c32a2
inc ebx
mov r12d, dword [rbp + 0x298]
xor r11d, r11d
lea r10d, [r11 + 1]
test ebx, ebx
jg 0x1401c4fe7
mov r9, qword [rsp + 0x40]
jmp 0x1401bfb25
mov r12, qword [rsp + 0x30]
mov rcx, r13
mov rdx, r12
call fcn.140168ec0
mov rsi, rax
mov eax, 1
mov word [rsi + 8], ax
mov ecx, dword [rdi + 0xe8]
inc ecx
cmp dword [rdi + 0xdc], ecx
jg 0x1401c5439
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 0x1401c332d
inc dword [rbx + 0x14]
cmp byte [rbx + 0x12], 0
jne 0x1401c332d
mov rcx, rbx
call fcn.140133680
lea r8, [rbp - 0x78]
mov edx, edi
mov rcx, rbx
call fcn.140132e20
cmp byte [rbx + 0x11], 0
mov r9d, eax
mov dword [rbp + 0x298], eax
je 0x1401c335e
dec dword [rbx + 0x14]
jne 0x1401c335e
mov rcx, rbx
call fcn.1401dafc0
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 0x1401c25a4
mov rdi, qword [rsp + 0x38]
test r8d, r8d
je 0x1401c33ac
mov r9d, dword [r12 + 4]
mov edx, r14d
mov rcx, rdi
call fcn.1401b0bd0
mov r12d, dword [rbp + 0x298]
lea eax, [r14 + 1]
mov r14, qword [rsp + 0x58]
mov byte [rbp + 0x290], al
jmp 0x1401bf117
mov r14, qword [rsp + 0x58]
mov r12d, dword [rbp + 0x298]
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x1401bfb1f
mov rdi, qword [rsp + 0x38]
mov r12d, dword [rbp + 0x298]
mov r9, qword [rsp + 0x40]
mov r10d, 1
jmp 0x1401bfb1f
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.14017ef60
cmp dword [r12 + 0xc], 0
mov r9d, eax
mov dword [rbp + 0x298], eax
je 0x1401c3438
mov rdx, qword [rbp]
add qword [r13 + 0x40], rdx
movsxd rax, dword [r12 + 0xc]
test eax, eax
jle 0x1401c3438
imul rcx, rax, 0x38
add qword [rcx + r14], rdx
test r9d, r9d
jmp 0x1401c1bb5
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 0x1401c346a
mov rdx, qword [rcx + 0x30]
mov rcx, rdi
call fcn.1401cae00
jmp 0x1401bf117
mov rcx, qword [rcx + 0x30]
xor r8d, r8d
mov edx, dword [rcx + 0x50]
mov rcx, qword [rcx + 8]
call fcn.14017ef60
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5161
mov r12d, eax
jmp 0x1401bf117
mov r12, qword [rsp + 0x30]
mov rcx, r13
mov rdx, r12
call fcn.140168ec0
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.14017f770
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c5166
mov eax, dword [rbp - 0x80]
mov r12d, r9d
mov qword [rbx], rax
jmp 0x1401bf117
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.14011a9d0
dec byte [rdi + 0x70]
jmp 0x1401c1baa
mov r12, qword [rsp + 0x30]
mov r9, qword [r12 + 0x10]
movsxd rbx, dword [r12 + 4]
test r9, r9
jne 0x1401c3572
mov rcx, qword [rdi + 0x20]
mov rax, rbx
shl rax, 5
mov rcx, qword [rax + rcx + 0x18]
call fcn.1401b1dd0
and dword [rdi + 0x2c], 0xffffffef
movzx r9d, word [r12 + 2]
lea r8, [r13 + 0xb0]
mov edx, ebx
mov rcx, rdi
call fcn.1401a1360
or dword [rdi + 0x2c], 1
and dword [r13 + 0xd0], 0xfffffffc
mov r9d, eax
mov dword [rbp + 0x298], eax
jmp 0x1401c365a
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.1401a5280
mov rbx, rax
test rax, rax
je 0x1401c5453
xor eax, eax
lea r9, [rbp + 0x90]
lea r8, [fcn.1401a1100]
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.14011a9d0
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c3641
mov eax, dword [rbp + 0xa4]
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c3641
cmp dword [rbp + 0xac], eax
jne 0x1401c3641
mov ecx, 0x16f3a
call fcn.140186b40
mov dword [rbp + 0x298], eax
mov rdx, rbx
mov rcx, rdi
call fcn.140188a90
mov r9d, dword [rbp + 0x298]
mov byte [rdi + 0xc5], 0
test r9d, r9d
jne 0x1401c545e
mov r12d, dword [rbp + 0x298]
jmp 0x1401bf117
mov r12, qword [rsp + 0x30]
mov rcx, rdi
mov edx, dword [r12 + 4]
call fcn.14017c550
jmp 0x1401c1baa
mov rax, qword [rsp + 0x30]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1401b9040
jmp 0x1401bf117
mov rax, qword [rsp + 0x30]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1401b8f30
jmp 0x1401bf117
mov rax, qword [rsp + 0x30]
mov rcx, rdi
mov r8, qword [rax + 0x10]
mov edx, dword [rax + 4]
call fcn.1401b9120
jmp 0x1401bf117
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.140180c20
mov edx, 0x2400
mov rsi, rax
test word [rbx + 8], dx
je 0x1401c3744
mov rcx, rbx
call fcn.1401de980
jmp 0x1401c374d
mov eax, 1
mov word [rbx + 8], ax
mov eax, dword [rbp - 0x14]
test eax, eax
je 0x1401c3784
test rsi, rsi
je 0x1401c57fe
dec eax
mov r9b, 1
or r8, 0xffffffffffffffff
movsxd rcx, eax
lea rax, [fcn.140122460]
mov rdx, rsi
sub qword [rdi + r14], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1401c8a10
test byte [rbx + 8], 2
movzx ecx, r15b
je 0x1401c37a1
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x1401c37a1
movzx edx, cl
mov rcx, rbx
call fcn.1401c8e80
mov rdi, qword [rsp + 0x38]
mov eax, dword [rdi + 0x198]
test eax, eax
jne 0x1401c57f4
mov r14, qword [rsp + 0x48]
mov rbx, qword [rsp + 0x50]
cmp rbx, r14
jb 0x1401c4df4
nop word [rax + rax]
mov rdx, qword [rdi + 0x208]
test rdx, rdx
je 0x1401c4df4
mov eax, dword [rdi + 0x218]
mov rcx, qword [rdi + 0x210]
add r14, rax
mov qword [rsp + 0x48], r14
call rdx
test eax, eax
jne 0x1401c553b
cmp rbx, r14
jae 0x1401c37d0
mov r14, qword [rsp + 0x58]
jmp 0x1401bf117
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 0x1401c383c
mov rcx, rbx
call fcn.1401c89a0
test eax, eax
jne 0x1401c57fe
mov rdx, qword [rdi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.1401b0ea0
mov rdi, qword [rsp + 0x38]
jmp 0x1401bf117
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r14
test byte [rdi + 8], 0x10
je 0x1401c38f5
mov rbx, qword [rdi + 0x10]
movzx eax, word [rbx + 0x32]
test al, 2
jne 0x1401c389b
test al, 1
jne 0x1401c3896
mov rcx, qword [rbx + 0x10]
call fcn.140176320
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 0x1401c38f5
mov rdi, qword [rax]
mov rax, qword [rax + 8]
mov qword [rbx + 0x10], rax
test rax, rax
jne 0x1401c38bc
mov rcx, rbx
call fcn.1401b0c30
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 0x1401c38e4
mov rdx, rdi
call fcn.1401dfec0
jmp 0x1401c37a1
mov eax, 4
mov qword [rcx], rdi
mov word [rcx + 8], ax
jmp 0x1401c37a1
test word [rdi + 8], r8w
je 0x1401c390e
mov rcx, rdi
call fcn.1401de980
mov rdi, qword [rsp + 0x38]
jmp case.0x1401bea15.11
mov word [rdi + 8], r10w
mov rdi, qword [rsp + 0x38]
jmp case.0x1401bea15.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 0x1401c394e
mov rcx, rbx
call fcn.1401c89a0
test eax, eax
jne 0x1401c57fe
test edi, edi
je 0x1401c396b
mov r8, qword [rsi + r14]
mov rcx, qword [rbx + 0x10]
mov edx, edi
call fcn.1401b0f90
test eax, eax
jne 0x1401c484b
test edi, edi
js 0x1401bf202
mov rdx, qword [rsi + r14]
mov rcx, qword [rbx + 0x10]
call fcn.1401b0ea0
mov rdi, qword [rsp + 0x38]
jmp 0x1401bf117
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 0x1401c39c8
mov rax, qword [r13 + 0x110]
mov rcx, qword [r15 + 0x20]
test rax, rax
je 0x1401c39c8
cmp qword [rax + 0x38], rcx
je 0x1401bfb12
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401c39b5
mov eax, dword [rdi + 0xb0]
cmp dword [r13 + 0x120], eax
jge 0x1401c548f
test byte [r14 + 8], 0x10
jne 0x1401c3be0
mov edx, dword [r15 + 0x10]
mov ebx, dword [r15 + 0xc]
add ebx, edx
test edx, edx
jne 0x1401c39f6
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.140188cc0
mov rsi, rax
test rax, rax
je 0x1401c57fe
mov edx, 0x2400
test word [r14 + 8], dx
jne 0x1401c3a3d
cmp dword [r14 + 0x20], 0
je 0x1401c3a45
mov rcx, r14
call fcn.1401de8b0
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, [0x1401c6800]
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 0x1401c3b11
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 0x1401c3b00
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 0x1401c37a6
mov rsi, qword [r14 + 0x10]
jmp 0x1401c3b14
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140168ec0
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.1401c8ce0
jmp 0x1401bf117
mov eax, dword [rdi + 0x30]
bt rax, 0x13
mov rax, qword [rsp + 0x30]
jae 0x1401c3c54
movsxd rax, dword [rax + 8]
add qword [rdi + 0x2f8], rax
jmp 0x1401bfb25
cmp dword [rax + 4], 0
mov rsi, qword [rsp + 0x30]
movsxd rax, dword [rax + 8]
je 0x1401c3c7f
add qword [rdi + 0x2f0], rax
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x1401be9db
add qword [r13 + 0x58], rax
mov rbx, qword [rsp + 0x50]
mov r13, qword [rbp + 0x280]
add rsi, 0x18
jmp 0x1401be9db
cmp dword [rsi + 4], 0
je 0x1401c3ccf
cmp qword [rdi + 0x2f0], 0
jne case.0x1401bea15.88
cmp qword [rdi + 0x2f8], 0
je 0x1401c4ff1
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x1401be9db
cmp qword [r13 + 0x58], 0
jne case.0x1401bea15.88
cmp qword [rdi + 0x2f8], 0
je 0x1401c4ff1
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x1401be9db
mov rcx, qword [r13 + 0x110]
test rcx, rcx
je 0x1401c3d31
mov rax, qword [rcx + 8]
test rax, rax
je 0x1401c3d1e
mov rcx, rax
mov rax, qword [rax + 8]
test rax, rax
jne 0x1401c3d12
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, qword [rcx + 0x20]
jmp 0x1401c3d41
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rdi, rax, 0x38
add rdi, r14
mov rcx, rdi
call fcn.1401c85c0
mov rcx, qword [rsp + 0x30]
movsxd rax, dword [rcx + 8]
imul rbx, rax, 0x38
add rbx, r14
mov rcx, rbx
call fcn.1401c85c0
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 0x1401c3d83
mov qword [rdi], rax
mov rdi, qword [rsp + 0x38]
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x1401be9db
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.0x1401bea15.88
mov rax, rsi
movsxd rax, dword [rax + 0xc]
sub rdx, rax
mov qword [rcx + r14], rdx
jmp 0x1401c4ff1
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.140168ec0
mov rcx, qword [rbx + r14]
xor r11d, r11d
mov r10, rax
mov qword [rbp - 0x40], rcx
test rcx, rcx
jle 0x1401c3e37
mov rcx, qword [rdi + r14]
mov edx, r11d
test rcx, rcx
cmovg rdx, rcx
lea rcx, [rbp - 0x40]
call fcn.14017a6c0
test eax, eax
jne 0x1401c3e37
mov rax, qword [rbp - 0x40]
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
mov qword [r10], rax
lea r10d, [r11 + 1]
jmp 0x1401bfb1f
mov rdi, qword [rsp + 0x38]
mov r9, qword [rsp + 0x40]
or rax, 0xffffffffffffffff
mov qword [r10], rax
lea r10d, [rax + 2]
jmp 0x1401bfb1f
mov rax, qword [rsp + 0x30]
movsxd rax, dword [rax + 4]
imul rcx, rax, 0x38
mov rax, qword [rcx + r14]
test rax, rax
je 0x1401bfb25
mov rsi, qword [rsp + 0x30]
jle 0x1401c4ff1
dec rax
mov qword [rcx + r14], rax
jmp 0x1401c4ff1
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 0x1401c3ea9
dec rax
mov qword [rcx + r14], rax
cmp qword [rcx + r14], 0
mov rsi, qword [rsp + 0x30]
je 0x1401c4ff1
mov r13, qword [rbp + 0x280]
mov rbx, qword [rsp + 0x50]
add rsi, 0x18
jmp 0x1401be9db
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.140188bc0
mov r8, rax
test rax, rax
je 0x1401c551a
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 0x1401c3f79
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 0x1401c3fcf
movzx edx, byte [rbx + 0x29]
mov qword [rbx + 0x10], r10
dec edx
movsxd r8, edx
js 0x1401c3fcf
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 0x1401c3fb0
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 0x1401c3fef
call qword [rax + 0x30]
jmp 0x1401c3ff2
call qword [rax + reloc.ODBC32.dll_SQLAllocHandle]
mov eax, dword [rbx + 0x24]
test eax, eax
je 0x1401bfaaa
jle 0x1401c4022
mov rcx, qword [rbx]
call fcn.140116d90
lea rdx, [0x1402552c4]
mov rcx, r13
mov r8, rax
call fcn.1401be820
mov eax, dword [rbx + 0x24]
mov dword [rbp + 0x298], eax
cmp byte [rbx + 0x28], 0
je 0x1401c405d
movsxd rax, dword [r12 - 0x14]
test eax, eax
je 0x1401c4059
imul rcx, rax, 0x38
mov edx, 0x2400
add rcx, r14
test word [rcx + 8], dx
je 0x1401c404d
mov rdx, rsi
call fcn.1401dfec0
jmp 0x1401c4059
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 0x1401c4073
cmp dword [rcx + 0x20], 0
je 0x1401c407e
call fcn.1401de8b0
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 0x1401c5166
mov r12d, r9d
mov r9, qword [rsp + 0x40]
jmp 0x1401bfb25
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 0x1401c40f5
mov r8, qword [r12 + 0x10]
imul rdx, rax, 0x38
add rdx, r14
call fcn.1401c7d60
mov r9d, eax
mov dword [rbp + 0x298], eax
movsxd rax, dword [r12 + 0xc]
imul rbx, rax, 0x38
add rbx, r14
jmp 0x1401c4108
mov rdx, qword [r12 + 0x10]
call fcn.1401c8050
mov r9d, eax
mov dword [rbp + 0x298], eax
test r9d, r9d
jne 0x1401c54b1
test byte [rbx + 8], 2
movzx ecx, r15b
je 0x1401c412e
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x1401c412e
movzx edx, cl
mov rcx, rbx
call fcn.1401c8e80
mov rcx, rbx
call fcn.1401c8e50
test eax, eax
jne 0x1401c558a
mov r12d, dword [rbp + 0x298]
jmp 0x1401bf117
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.1401834b0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
je 0x1401c41a2
cmp eax, 5
jne 0x1401c5166
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 0x1401c41df
mov rdx, rax
mov rcx, rbx
call fcn.1401dfec0
mov r8d, 0x2400
jmp 0x1401c41e7
mov qword [rbx], rax
mov word [rbx + 8], r12w
inc rdi
add rbx, 0x38
cmp rdi, 3
jl 0x1401c41c0
mov r12d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
jmp 0x1401c167d
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140168ec0
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 0x1401c4256
mov rax, qword [rdi + 0x50]
cmp qword [rax], 0
je 0x1401c4258
cmp qword [rdi + 0x60], 0
jle 0x1401c4258
mov ebx, esi
cmp byte [rdi + 0x13], 0
lea rcx, [0x14024d82c]
jne 0x1401c426c
mov rcx, qword [rdi + 0xd0]
cmp ebx, 5
jne 0x1401c42a3
test rcx, rcx
je 0x1401c429c
or rax, 0xffffffffffffffff
nop word [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1401c4280
and eax, 0x3fffffff
je 0x1401c429c
mov rcx, rdi
call fcn.1401a8e00
test eax, eax
jne 0x1401c42a3
mov ebx, esi
jmp 0x1401c4325
cmp ebx, esi
je 0x1401c4325
cmp esi, 5
je 0x1401c42b1
cmp ebx, 5
jne 0x1401c4325
mov rax, qword [rsp + 0x38]
cmp byte [rax + 0x65], 0
je 0x1401c54d7
cmp dword [rax + 0xdc], 1
jg 0x1401c54d7
cmp esi, 5
jne 0x1401c42f3
mov rdx, rax
mov rcx, rdi
call fcn.1401a7200
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c432a
mov edx, ebx
mov rcx, rdi
call fcn.1401a8630
jmp 0x1401c4308
cmp esi, 4
jne 0x1401c4303
lea edx, [rsi - 2]
mov rcx, rdi
call fcn.1401a8630
test r12d, r12d
jne 0x1401c432a
xor eax, eax
cmp ebx, 5
mov rcx, r14
mov edx, eax
sete dl
inc edx
call fcn.140182660
mov r12d, eax
mov dword [rbp + 0x298], eax
test r12d, r12d
je 0x1401c432c
mov ebx, esi
mov edx, ebx
mov rcx, rdi
call fcn.1401a8630
mov ecx, 0xa02
mov word [r15 + 8], cx
cmp eax, 6
jne 0x1401c434b
xor eax, eax
mov ecx, eax
jmp 0x1401c435e
cdqe
lea rcx, [0x140000000]
mov rcx, qword [rcx + rax*8 + 0x24ccc0]
xor eax, eax
mov qword [r15 + 0x10], rcx
test rcx, rcx
je 0x1401c437e
or rax, 0xffffffffffffffff
nop dword [rax + rax]
inc rax
cmp byte [rcx + rax], 0
jne 0x1401c4370
and eax, 0x3fffffff
mov dword [r15 + 0xc], eax
movzx eax, byte [rbp + 0x288]
mov byte [r15 + 0xa], 1
cmp eax, 1
je 0x1401c439e
movzx edx, al
mov rcx, r15
call fcn.1401c8e80
mov r9d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
test r9d, r9d
jne 0x1401c5161
mov r14, qword [rsp + 0x58]
movzx r15d, byte [rbp + 0x288]
mov r12d, r9d
jmp 0x1401bf117
mov r12, qword [rsp + 0x30]
movsxd rax, dword [r12 + 8]
test eax, eax
je 0x1401c43df
imul r9, rax, 0x38
add r9, r14
jmp 0x1401c43e2
mov r9, r11
mov r8d, dword [r12 + 4]
lea rcx, [r13 + 0xb0]
mov rdx, rdi
call fcn.1401b16b0
jmp 0x1401c1baa
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.1401800d0
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
je 0x1401bfaaa
cmp eax, 0x65
jne 0x1401c5166
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [rax - 0x64]
mov r12d, r11d
mov dword [rbp + 0x298], r11d
jmp 0x1401c4fec
mov rax, qword [rsp + 0x30]
cmp dword [rax + 4], 0
jne 0x1401c4467
mov edx, dword [rax + 8]
mov rcx, rdi
call fcn.14018c2a0
jmp 0x1401bfb25
mov eax, dword [rax + 8]
inc eax
xor eax, dword [r13 + 0xd0]
and eax, 3
xor dword [r13 + 0xd0], eax
jmp 0x1401bfb25
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 0x1401bfb25
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 0x1401bfb25
mov rax, qword [rsp + 0x30]
movzx r8d, byte [rax + 0xc]
test r8b, r8b
jne 0x1401c44e1
mov eax, dword [rdi + 0x30]
bt rax, 0xa
jb 0x1401bfb1f
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.140181370
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
je 0x1401bfaaa
cmp al, 6
jne 0x1401c5166
mov r8, qword [r12 + 0x10]
lea rdx, str.database_table_is_locked:__s
mov rcx, r13
call fcn.1401be820
mov r9d, dword [rbp + 0x298]
jmp 0x1401c5166
mov r12, qword [rsp + 0x30]
mov rcx, rdi
mov rbx, qword [r12 + 0x10]
mov rdx, rbx
call fcn.1401cbb50
mov r9d, eax
mov dword [rbp + 0x298], eax
test rbx, rbx
je 0x1401c4571
mov rdx, qword [rbx + 0x10]
mov rcx, r13
call fcn.1401cc8f0
mov r9d, dword [rbp + 0x298]
test r9d, r9d
jmp 0x1401c1bb5
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.1401c7f50
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 0x1401c45de
cmp byte [rbp + 0x4a], 1
jne 0x1401c45de
mov rax, qword [rbp + 0x50]
jmp 0x1401c45f9
test cl, 1
jne 0x1401c4622
lea rcx, [rbp + 0x40]
mov dl, 1
call fcn.1401dd3f0
mov rcx, qword [rbp + 0x48]
mov r9d, dword [rbp + 0x298]
test rax, rax
je 0x1401c4622
mov edx, dword [r12 + 4]
lea r9, [r13 + 0xb0]
mov r8, rax
mov rcx, rdi
call fcn.1401cbe70
mov rcx, qword [rbp + 0x48]
mov r9d, eax
mov dword [rbp + 0x298], eax
mov r8d, 0x2400
test r8w, cx
jne 0x1401c4634
cmp dword [rbp + 0x60], 0
je 0x1401c464a
lea rcx, [rbp + 0x40]
call fcn.1401de8b0
mov r9d, dword [rbp + 0x298]
mov r8d, 0x2400
test r9d, r9d
jne 0x1401c5166
mov r12d, dword [rbp + 0x298]
jmp 0x1401c167d
inc dword [rdi + 0xe8]
mov r12, qword [rsp + 0x30]
mov rcx, rdi
mov r8, qword [r12 + 0x10]
mov edx, dword [r12 + 4]
call fcn.1401cbf90
dec dword [rdi + 0xe8]
jmp 0x1401c1baa
mov r12, qword [rsp + 0x30]
mov qword [rbp - 0x48], r11
mov rax, qword [r12 + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1401c5529
mov rdi, qword [rbx]
test rdi, rdi
je 0x1401c5524
lea rdx, [rbp - 0x48]
mov rcx, rbx
call qword [rdi + 0x30]
mov rdx, rbx
mov rcx, r13
mov dword [rbp + 0x298], eax
call fcn.1401cc8f0
mov r9d, dword [rbp + 0x298]
test r9d, r9d
jne 0x1401c25a4
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.14012da30
mov rcx, qword [rbp - 0x48]
test rax, rax
je 0x1401c5517
mov r12d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
mov qword [rax + 0x30], rcx
inc dword [rbx + 8]
jmp 0x1401bf117
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.1401220c0
mov rbx, rax
test rax, rax
je 0x1401c57fe
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.140168ec0
mov ecx, 1
lea r9, [fcn.140122460]
mov word [rax + 8], cx
lea r8, str.ValueList
mov rdx, rbx
mov rcx, rax
call fcn.1401c8930
mov rdi, qword [rsp + 0x38]
jmp 0x1401bf117
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 0x1401c47fa
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 0x1401c47e0
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.1401cc8f0
mov r9d, dword [rbp + 0x298]
test r9d, r9d
jne 0x1401c25a4
mov rcx, rsi
call qword [r14 + 0x50]
mov byte [r13 + 2], 0
test eax, eax
je 0x1401bfe02
mov r12d, dword [rbp + 0x298]
xor r11d, r11d
lea r10d, [r11 + 1]
jmp 0x1401c4fe7
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 0x1401c48a4
test word [rbx + 8], r8w
je 0x1401c4895
mov rcx, rbx
call fcn.1401de980
mov rdi, qword [rsp + 0x38]
jmp 0x1401bf117
mov rdi, qword [rsp + 0x38]
mov word [rbx + 8], r10w
jmp 0x1401bfb25
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 0x1401c4928
test word [rbx + 8], r8w
je 0x1401c4915
mov rcx, rbx
call fcn.1401de980
xor r11d, r11d
mov eax, 0x4001
mov word [rbx + 8], ax
mov dword [rbx], r11d
jmp 0x1401c4936
mov eax, 0x4001
mov word [rbx + 8], r10w
mov dword [rbx], r11d
mov word [rbx + 8], ax
jmp 0x1401c4936
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.1401cc8f0
cmp dword [rbp + 0x15c], 0
jle 0x1401c498a
mov rcx, rbx
call fcn.140116d90
lea rdx, [0x1402552c4]
mov rcx, r13
mov r8, rax
call fcn.1401be820
mov eax, dword [rbp + 0x15c]
mov dword [rbp + 0x298], eax
test byte [rbx + 8], 2
movzx ecx, r15b
je 0x1401c49a7
movzx eax, byte [rbx + 0xa]
cmp eax, ecx
je 0x1401c49a7
movzx edx, cl
mov rcx, rbx
call fcn.1401c8e80
mov rcx, rbx
call fcn.1401c8e50
mov rdi, qword [rsp + 0x38]
test eax, eax
jne 0x1401c558a
mov r9d, dword [rbp + 0x298]
test r9d, r9d
jne 0x1401c5166
mov r14, qword [rsp + 0x58]
mov r12d, r9d
jmp 0x1401bf117
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 0x1401bf8b9
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.1401cc8f0
mov r9d, dword [rbp + 0x298]
test r9d, r9d
jne 0x1401c124b
mov rcx, qword [rdi + 0x30]
call qword [rsi + 0x50]
mov rdi, qword [rsp + 0x38]
test eax, eax
jne 0x1401c4a5f
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 0x1401c37a6
mov r12d, dword [rbp + 0x298]
jmp 0x1401c37a6
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 0x1401c4ac2
cmp byte [rbx + 0xa], 1
je 0x1401c4ac2
mov dl, 1
mov rcx, rbx
call fcn.1401c8e80
mov r9d, eax
mov dword [rbp + 0x298], eax
test eax, eax
jne 0x1401c25a4
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 0x1401c4ae9
and qword [rdi + 0x30], 0xfffffffffbffffff
mov rdx, rsi
mov rcx, r13
call fcn.1401cc8f0
mov r9d, dword [rbp + 0x298]
and dword [r13 + 0xd0], 0xfffffffc
test r9d, r9d
jmp 0x1401c1bb5
cmp byte [rdi + 0x67], 0
mov qword [rbp - 0x10], r11
jne 0x1401c5803
mov rax, qword [rsp + 0x30]
mov rax, qword [rax + 0x10]
mov rbx, qword [rax + 0x10]
test rbx, rbx
je 0x1401c5564
mov r10, qword [rbx]
test r10, r10
je 0x1401c5564
cmp qword [r10 + 0x68], 0
mov rdx, qword [rsp + 0x30]
movsxd rdx, dword [rdx + 8]
je 0x1401c00a4
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 0x1401c4b80
nop
mov qword [r8 + rax*8], rcx
inc rax
add rcx, 0x38
cmp rax, rdx
jl 0x1401c4b70
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.1401cc8f0
mov r9d, dword [rbp + 0x298]
mov rdi, rsi
test r9d, r9d
jne 0x1401c4bcc
cmp dword [r12 + 4], r9d
je 0x1401c4bcc
mov rax, qword [rbp - 0x10]
mov qword [rsi + 0x38], rax
cmp r9b, 0x13
jne 0x1401c4c30
mov rax, qword [r12 + 0x10]
cmp byte [rax + 0x1c], 0
je 0x1401c4c30
movzx eax, word [r12 + 2]
cmp ax, 4
jne 0x1401c4c04
mov r9, qword [rsp + 0x40]
xor r11d, r11d
lea r10d, [r11 + 1]
mov r12d, r11d
mov dword [rbp + 0x298], r11d
jmp 0x1401bfb1f
cmp ax, 5
jne 0x1401c4c1e
mov eax, 2
test r9d, r9d
mov byte [r13 + 0xca], al
jmp 0x1401c1bb5
movzx eax, ax
test r9d, r9d
mov byte [r13 + 0xca], al
jmp 0x1401c1bb5
inc qword [r13 + 0x40]
test r9d, r9d
jmp 0x1401c1bb5
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140168ec0
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 0x1401bf117
mov rdx, qword [rsp + 0x30]
mov rcx, r13
call fcn.140168ec0
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 0x1401c4cad
mov rdx, qword [rcx + 8]
mov edx, dword [rdx + 0x40]
cmp edx, r8d
cmovb edx, r8d
call fcn.140181450
mov eax, eax
mov qword [rbx], rax
jmp 0x1401bf117
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 0x1401c4d26
movzx edx, byte [rbx + 0x29]
mov qword [rbx + 0x18], r13
mov qword [rbx], rdi
dec edx
movsxd r8, edx
js 0x1401c4d26
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 0x1401c4d00
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 0x1401c4da9
jle 0x1401c4d72
mov rcx, rdi
call fcn.140116d90
lea rdx, [0x1402552c4]
mov rcx, r13
mov r8, rax
call fcn.1401be820
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.1401be190
mov r9d, dword [rbp + 0x298]
xor eax, eax
mov dword [rbx + 0x24], eax
test r9d, r9d
jne 0x1401c25a4
mov r12d, r9d
movzx eax, word [rdi + 8]
test al, 0x12
je 0x1401c4de3
movzx edx, r15b
test al, 2
je 0x1401c4dc9
movzx eax, byte [rdi + 0xa]
cmp eax, edx
je 0x1401c4dc9
mov rcx, rdi
call fcn.1401c8e80
mov rcx, rdi
call fcn.1401c8e50
mov rdi, qword [rsp + 0x38]
test eax, eax
jne 0x1401c5585
jmp 0x1401bf117
mov rdi, qword [rsp + 0x38]
mov r12d, dword [rbp + 0x298]
jmp 0x1401bf117
mov r14, qword [rsp + 0x58]
mov r12d, dword [rbp + 0x298]
jmp 0x1401bf117
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r14
imul rbx, rax, 0x38
call fcn.140142070
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 0x1401bfb1f
mov rcx, qword [rsp + 0x30]
mov rdx, rcx
movsxd rax, dword [rcx + 4]
mov rcx, r14
imul rbx, rax, 0x38
call fcn.140142070
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 0x1401c4eb5
inc dword [r13 + 0xfc]
xor r11d, r11d
jmp 0x1401c4ff1
inc dword [r13 + 0xf8]
jmp 0x1401bec2a
movzx eax, byte [rdi + 0x6e]
test al, 0x41
je 0x1401c4f8a
cmp byte [r13 + 0xcd], 0
jne 0x1401c4f8a
mov r9, qword [rsi + 0x10]
test r9, r9
jne 0x1401c4ef4
mov r9, qword [r13 + 0x100]
test r9, r9
je 0x1401c4f85
test al, 0x40
je 0x1401c4f20
mov rdx, r9
mov rcx, r13
call fcn.1401c5d60
mov rcx, qword [rdi + 0x100]
mov rdx, rax
mov rbx, rax
call qword [rdi + 0xf8]
mov rcx, rbx
call fcn.140122460
jmp 0x1401c4f76
cmp dword [rdi + 0xe4], 1
jle 0x1401c4f63
lea rdx, str.____s
mov r8, r9
mov rcx, rdi
call fcn.1401a5280
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.140188a30
jmp 0x1401c4f76
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 [0x1404b2618]
cmp dword [rsi + 4], eax
jl 0x1401c4fd5
cmp byte [rsi], 0xb3
je case.0x1401bea15.88
cmp dword [r13 + 0x98], 1
mov edx, r10d
jle 0x1401c4fd1
mov eax, reloc.ODBC32.dll_SQLAllocHandle
mov rcx, qword [r13 + 0x90]
cmp byte [rax + rcx], 0x11
jne 0x1401c4fc2
mov dword [rax + rcx + 4], r11d
inc edx
add rax, 0x18
cmp edx, dword [r13 + 0x98]
jl 0x1401c4fb0
mov dword [rsi + 4], r11d
inc dword [rsi + 4]
inc dword [r13 + 0xf4]
jmp 0x1401c4ff1
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 0x1401bfb0d
mov r12d, dword [rbp + 0x298]
jmp 0x1401bfb1a
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 0x1401c50c5
movzx eax, word [r12 + 2]
mov rcx, r13
test ax, ax
je 0x1401c508d
movzx r8d, ax
lea rax, [0x140000000]
lea rdx, str._s_constraint_failed
mov r8, qword [rax + r8*8 + 0x24e8a8]
call fcn.1401be820
mov r9, qword [r12 + 0x10]
test r9, r9
je 0x1401c509e
mov r8, qword [r13 + 0xb0]
lea rdx, str._z:__s
mov rcx, rdi
call fcn.1401a5280
mov qword [r13 + 0xb0], rax
jmp 0x1401c509e
mov r8, qword [r12 + 0x10]
lea rdx, [0x1402552c4]
call fcn.1401be820
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.1401138b0
mov rcx, r13
call fcn.1401c6a40
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov ebx, eax
cmp eax, 5
jne 0x1401c50e7
mov dword [r13 + 0x38], eax
jmp 0x1401c59e0
cmp dword [r13 + 0x38], 0
mov ebx, 0x65
mov eax, 1
cmovne ebx, eax
jmp 0x1401c59e0
mov rax, qword [rsi + 0x28]
mov rdi, qword [rsp + 0x38]
test rax, rax
je 0x1401c5585
mov rax, qword [rax + 0x160]
mov r12, qword [rsp + 0x30]
test rax, rax
je 0x1401c558a
inc dword [rax + 0x30]
mov dword [rax + 0x18], reloc.WS2_32.dll_select
jmp 0x1401c558a
lea rdx, str.FOREIGN_KEY_constraint_failed
mov rcx, r13
mov dword [r13 + 0x38], 0x313
mov byte [r13 + 0xca], 2
call fcn.1401be820
mov eax, 1
mov r9d, eax
mov dword [rbp + 0x298], eax
mov r12, qword [rsp + 0x30]
lea rbx, [0x140000000]
lea r13, [0x14025b6d4]
mov rsi, qword [rsp + 0x48]
xor r15d, r15d
mov r14, qword [rsp + 0x50]
cmp byte [rdi + 0x67], 0
je 0x1401c585c
mov r9d, 7
jmp 0x1401c588e
mov ecx, 0x160ef
call fcn.140186b40
jmp 0x1401c5158
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 + 0x24dbe0]
mov rax, qword [r15 + rcx*8]
shr r9d, 4
mov r8, qword [rbx + r8*8 + 0x4b2440]
and r9d, 0xf
mov qword [rsp + 0x28], rax
mov rax, qword [r14]
dec r9d
mov rcx, r13
mov r9, qword [rbx + r9*8 + 0x4b2628]
mov qword [rsp + 0x20], rax
call fcn.1401be820
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
mov r9d, 0xc13
mov dword [rbp + 0x298], r9d
jmp 0x1401c516d
lea rdx, str.cannot_open_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.1401be820
mov r9d, 5
mov dword [rbp + 0x298], r9d
mov rdi, rsi
jmp 0x1401c5166
lea rdx, str.cannot_release_savepoint___SQL_statements_in_progress
mov rcx, r13
call fcn.1401be820
mov r9d, 5
mov dword [rbp + 0x298], r9d
jmp 0x1401c5161
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 0x1401c59e0
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.1401be820
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov ebx, 1
jmp 0x1401c59e0
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 0x1401c5166
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
cmp al, 5
jne 0x1401c5846
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 0x1401c59e0
mov rdx, qword [r13 + 0xb0]
mov rcx, rdi
call fcn.140188a30
lea rdx, str.database_schema_has_changed
mov rcx, rdi
call fcn.140188f80
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 0x1401c53a4
mov rcx, rdi
call fcn.1401b0100
and dword [r13 + 0xd0], 0xfffffffd
or dword [r13 + 0xd0], 1
mov r9d, reloc.OLEAUT32.dll_SafeArrayGetElemsize
mov dword [rbp + 0x298], r9d
jmp 0x1401c5166
mov r9d, 0x204
mov dword [rbp + 0x298], r9d
jmp 0x1401c5166
mov eax, 0x30b
lea r13, [0x14025b6d4]
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.1401138b0
mov rdi, qword [rsp + 0x38]
mov r9d, 0x30b
lea rbx, [0x140000000]
jmp 0x1401c5174
mov ecx, 0x16e3e
call fcn.140186b40
mov r9d, eax
mov dword [rbp + 0x298], eax
jmp 0x1401c5166
mov r9d, 6
mov byte [r13 + 0xca], 2
mov dword [rbp + 0x298], r9d
jmp 0x1401c5166
mov eax, 7
mov dword [rbp + 0x298], eax
mov rcx, rdi
call fcn.1401b0010
mov r9d, dword [rbp + 0x298]
mov rsi, qword [rsp + 0x48]
cmp r9d, 7
je 0x1401c0996
lea rbx, [0x140000000]
lea r13, [0x14025b6d4]
jmp 0x1401c5179
lea rdx, str.too_many_levels_of_trigger_recursion
mov rcx, r13
mov dword [rbp + 0x298], r10d
call fcn.1401be820
mov r9d, dword [rbp + 0x298]
jmp 0x1401c5161
mov rcx, rbx
call fcn.140116d90
lea rdx, [0x1402552c4]
mov rcx, r13
mov r8, rax
call fcn.1401be820
mov r9d, dword [rbp + 0x298]
jmp 0x1401c5166
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.1401be820
mov r9d, dword [rbp + 0x298]
mov rdi, qword [rsp + 0x38]
jmp 0x1401c5161
call qword [rdi + gethostname]
mov rdi, qword [rsp + 0x38]
jmp 0x1401c0991
mov rdi, qword [rsp + 0x38]
mov r9d, 6
mov dword [rbp + 0x298], r9d
jmp 0x1401c5166
or rsi, 0xffffffffffffffff
mov r12, qword [rsp + 0x30]
mov r9d, 9
mov dword [rbp + 0x298], r9d
lea rbx, [0x140000000]
lea r13, [0x14025b6d4]
jmp 0x1401c5179
mov r9d, 6
mov dword [rbp + 0x298], r9d
jmp 0x1401c5161
mov rdi, rax
jmp 0x1401c558a
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.1401be820
mov r9d, reloc.WS2_32.dll_select
mov dword [rbp + 0x298], r9d
jmp 0x1401c5166
mov rdi, qword [rsp + 0x38]
mov r12, rbx
jmp 0x1401c558a
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 0x1401c5634
lea rbx, [rsi + 8]
mov r14d, 0x202
mov eax, 0x1000
test word [rbx], ax
je 0x1401c5611
movsxd rax, edi
imul rcx, rax, 0x38
add rcx, rsi
call fcn.1401c8620
test eax, eax
jne 0x1401c551a
movzx eax, word [rbx]
and ax, r14w
cmp ax, 2
jne 0x1401c5627
lea rcx, [rbx - 8]
call fcn.1401de850
inc edi
add rbx, 0x38
cmp edi, dword [r12 + 8]
jl 0x1401c55f0
mov rdi, qword [rsp + 0x38]
cmp byte [rdi + 0x67], 0
jne 0x1401c0991
test byte [rdi + 0x6e], 4
je 0x1401c5660
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 0x1401c59e0
mov r12, qword [rsp + 0x30]
movzx eax, byte [rdi + 0x65]
mov ebx, dword [r12 + 4]
mov ecx, dword [r12 + 8]
cmp ebx, eax
je 0x1401c57b8
test ecx, ecx
je 0x1401c56cf
mov edx, 0x204
mov rcx, rdi
call fcn.1401b0a60
mov byte [rdi + 0x65], 1
jmp 0x1401c574a
test ebx, ebx
je 0x1401c56fd
cmp dword [rdi + 0xe0], 0
jle 0x1401c56fd
lea rdx, str.cannot_commit_transaction___SQL_statements_in_progress
mov rcx, r13
call fcn.1401be820
mov r9d, 5
mov dword [rbp + 0x298], r9d
jmp 0x1401c5166
mov rax, qword [r13]
mov rcx, qword [rax + 0x2f8]
add rcx, qword [rax + 0x2f0]
test rcx, rcx
jle 0x1401c5747
lea rdx, str.FOREIGN_KEY_constraint_failed
mov rcx, r13
mov dword [r13 + 0x38], 0x313
mov byte [r13 + 0xca], 2
call fcn.1401be820
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
mov ebx, 1
jmp 0x1401c59e0
mov byte [rdi + 0x65], bl
mov rcx, r13
call fcn.1401c6a40
cmp eax, 5
jne 0x1401c578d
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 0x1401c5298
mov rcx, rdi
call fcn.140183920
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 0x1401c59e0
test ebx, ebx
jne 0x1401c57c5
lea rdx, str.cannot_start_a_transaction_within_a_transaction
jmp 0x1401c57d9
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.1401be820
mov eax, 1
mov r9d, eax
mov dword [rbp + 0x298], eax
jmp 0x1401c5166
mov rsi, qword [rsp + 0x48]
jmp 0x1401c553f
mov rdi, qword [rsp + 0x38]
mov r12, qword [rsp + 0x30]
jmp 0x1401c0991
mov r12, qword [rsp + 0x30]
jmp 0x1401c0996
mov r12, qword [rsp + 0x30]
mov rsi, qword [rsp + 0x48]
lea rbx, [0x140000000]
lea r13, [0x14025b6d4]
jmp 0x1401c517c
mov r12, rbx
jmp 0x1401c5166
mov rsi, qword [rsp + 0x48]
mov r14, qword [rsp + 0x50]
lea r13, [0x14025b6d4]
lea rbx, [0x140000000]
xor r15d, r15d
jmp 0x1401c5181
cmp r9d, 0x210a
jne 0x1401c5895
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.1401138b0
mov r9d, reloc.WS2_32.dll_inet_addr
mov dword [rbp + 0x298], r9d
mov r13, qword [rbp + 0x280]
cmp qword [r13 + 0xb0], 0
jne 0x1401c590d
cmp r9d, 0xc0a
je 0x1401c590d
mov ecx, r9d
lea r8, str.unknown_error
sub ecx, 0x64
je 0x1401c58f7
dec ecx
je 0x1401c58ee
cmp ecx, 0x19f
je 0x1401c58e5
movzx eax, r9b
cmp eax, 0x1c
ja 0x1401c58fe
mov rcx, qword [rbx + rax*8 + 0x24e350]
test rcx, rcx
je 0x1401c58fe
mov r8, rcx
jmp 0x1401c58fe
lea r8, str.abort_due_to_ROLLBACK
jmp 0x1401c58fe
lea r8, str.no_more_rows_available
jmp 0x1401c58fe
lea r8, str.another_row_available
lea rdx, [0x1402552c4]
mov rcx, r13
call fcn.1401be820
mov ebx, dword [rbp + 0x298]
mov dword [r13 + 0x38], ebx
cmp ebx, 0xc0a
je 0x1401c594a
movzx eax, bl
add eax, 0xfffffff6
test eax, 0xfffffffb
jne 0x1401c594a
mov rcx, qword [rdi]
mov rax, qword [rcx + 0x80]
test rax, rax
je 0x1401c5944
xor r8d, r8d
xor edx, edx
call rax
jmp 0x1401c5947
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.1401138b0
mov rcx, r13
call fcn.1401c6a40
cmp ebx, 0xc0a
jne 0x1401c59a8
mov rcx, rdi
call fcn.1401a6020
jmp 0x1401c59c1
cmp ebx, 0xb
jne 0x1401c59c1
cmp byte [rdi + 0x65], 0
jne 0x1401c59c1
movabs rax, 0x200000000
or qword [rdi + 0x30], rax
mov eax, 1
mov ebx, eax
movzx eax, byte [rbp + 0x290]
test al, al
je 0x1401c59e0
movzx edx, al
mov rcx, rdi
dec edx
call fcn.1401b0100
cmp r14, rsi
jb 0x1401c5a2e
mov rdx, qword [rdi + 0x208]
test rdx, rdx
je 0x1401c5a2e
mov eax, dword [rdi + 0x218]
mov rcx, qword [rdi + 0x210]
add rsi, rax
call rdx
test eax, eax
je 0x1401c59e0
mov r9d, 9
or rsi, 0xffffffffffffffff
lea rbx, [0x140000000]
xor r15d, r15d
lea r13, [0x14025b6d4]
mov dword [rbp + 0x298], r9d
jmp 0x1401c5181
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 0x1401c5a77
mov rcx, r13
call fcn.1401de7c0
mov eax, ebx
add rsp, 0x360
pop r13
pop rbx
pop rbp
ret