Function at 0x1401aa540
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x20], rbx
mov qword [rsp + 8], rcx
push rbp
push rsi
push rdi
push r13
push r15
lea rbp, [rsp - 0x30]
sub rsp, 0x130
mov rbx, qword [rcx + 0x10]
mov rsi, qword [rcx]
mov r15, r9
mov r13, r8
mov rdi, rdx
mov qword [rsp + 0x60], rsi
test rbx, rbx
jne 0x1401aa59f
cmp qword [rcx + 0xa0], rbx
jne 0x1401aa58a
test byte [rsi + 0x60], 8
jne 0x1401aa58a
mov byte [rcx + 0x23], 1
call fcn.1401bded0
mov rcx, qword [rbp + 0x60]
mov rbx, rax
test rax, rax
je 0x1401aaaab
or dword [rbx + 0xd0], 0x20
mov rax, qword [rcx]
mov dword [rcx + 0x38], 2
cmp dword [r13 + 8], 0
mov qword [rsp + 0x170], r14
jbe 0x1401aa609
cmp byte [rax + 0xc5], 0
je 0x1401aa5d9
lea rdx, str.corrupt_database
call fcn.14018bbc0
jmp 0x1401aaaa3
mov rdx, rdi
mov rcx, rax
mov r14, r13
call fcn.140192a20
mov rcx, qword [rbp + 0x60]
mov edx, eax
mov dword [rsp + 0x68], eax
test eax, eax
jns 0x1401aa617
lea rdx, str.unknown_database__T
mov r8, rdi
call fcn.14018bbc0
jmp 0x1401aaaa3
movzx edx, byte [rax + 0xc4]
mov r14, rdi
mov dword [rsp + 0x68], edx
test edx, edx
js 0x1401aaaa3
mov rsi, qword [rsi + 0x20]
mov qword [rsp + 0x168], r12
movsxd r12, edx
mov rdi, r12
mov qword [rbp - 0x58], r12
shl rdi, 5
add rsi, rdi
mov qword [rsp + 0x70], rdi
mov qword [rbp - 0x48], rsi
cmp edx, 1
jne 0x1401aa657
call fcn.1401a65e0
test eax, eax
jne 0x1401aaa9b
mov rdx, r14
mov r14, qword [rsp + 0x60]
mov rcx, r14
call fcn.1401a5d10
mov qword [rbp - 0x28], rax
test rax, rax
je 0x1401aaa9b
cmp dword [rbp + 0x80], 0
mov rcx, r14
je 0x1401aa691
lea rdx, [0x1402585c4]
mov r8, r15
call fcn.1401a5280
jmp 0x1401aa699
mov rdx, r15
call fcn.1401a5d10
xor r14d, r14d
mov qword [rsp + 0x78], rax
cmp dword [r13 + 8], r14d
jbe 0x1401aa6ac
mov r15, qword [rsi]
jmp 0x1401aa6af
mov r15, r14
mov r8, qword [rbp - 0x28]
mov rcx, qword [rbp + 0x60]
mov r9, rax
mov edx, reloc.OLEAUT32.dll_SafeArrayGetLBound
mov qword [rbp - 0x80], r15
mov qword [rsp + 0x20], r15
call fcn.14017d0e0
test eax, eax
jne 0x1401aaa7d
mov rax, qword [rbp - 0x28]
mov rcx, qword [rsp + 0x78]
mov qword [rbp - 8], r14
mov qword [rbp], rax
mov rax, qword [rsp + 0x60]
mov qword [rbp + 8], rcx
mov ecx, 1
mov qword [rbp + 0x10], r14
mov dword [rax + 0x290], r14d
mov r14d, ecx
mov qword [rbp - 0x38], rcx
mov rcx, qword [rax + 0x18]
test rcx, rcx
je 0x1401aa71a
call qword [0x1404b24f0]
mov rax, qword [rsp + 0x60]
test r15, r15
je 0x1401aa734
mov rdx, r15
mov rcx, rax
call fcn.140192b50
test eax, eax
js 0x1401aa7bf
jmp 0x1401aa736
xor eax, eax
movsxd rcx, eax
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x20]
shl rcx, 5
mov rdi, qword [rcx + rax + 8]
test rdi, rdi
je 0x1401aa7ba
cmp byte [rdi + 0x11], 0
je 0x1401aa767
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x1401aa767
mov rcx, rdi
call fcn.140133680
mov rax, qword [rdi + 8]
mov rcx, qword [rax]
mov rax, qword [rsp + 0x60]
mov rcx, qword [rcx + 0x48]
mov r15d, dword [rax + 0x290]
mov rax, qword [rcx]
test rax, rax
jne 0x1401aa78c
lea r14d, [rax + 0xc]
jmp 0x1401aa79b
lea r8, [rbp - 8]
mov edx, recvfrom
call qword [rax + 0x50]
mov r14d, eax
mov rax, qword [rsp + 0x60]
mov dword [rax + 0x290], r15d
cmp byte [rdi + 0x11], 0
je 0x1401aa7ba
dec dword [rdi + 0x14]
jne 0x1401aa7ba
mov rcx, rdi
call fcn.1401dafc0
mov rdi, qword [rsp + 0x70]
mov r15, qword [rsp + 0x60]
mov rcx, qword [r15 + 0x18]
test rcx, rcx
je 0x1401aa7d3
call qword [0x1404b2500]
test r14d, r14d
jne 0x1401aa8f5
mov edi, 1
mov rcx, rbx
mov edx, edi
call fcn.1401ca780
mov rax, qword [rbx]
mov r14, qword [rbp - 8]
cmp byte [rax + 0x67], 0
jne 0x1401aa8db
mov rsi, qword [rbx + 0xa0]
test r14, r14
jne 0x1401aa829
mov eax, 0x2400
test word [rsi + 8], ax
je 0x1401aa820
mov rcx, rsi
call fcn.1401de980
jmp 0x1401aa8db
mov word [rsi + 8], di
jmp 0x1401aa8db
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x1401aa83a
mov edx, dword [rcx + 0x88]
jmp 0x1401aa83f
mov edx, 0x3b9aca00
mov rax, qword [rbp - 8]
or r15, 0xffffffffffffffff
nop word [rax + rax]
inc r15
cmp byte [rax + r15], 0
jne 0x1401aa850
movsxd rax, edx
lea rdi, [r15 + 1]
cmp r15, rax
jle 0x1401aa883
test rcx, rcx
je 0x1401aa8db
mov rax, qword [rcx + 0x160]
test rax, rax
je 0x1401aa8db
inc dword [rax + 0x30]
mov dword [rax + 0x18], reloc.WS2_32.dll_select
jmp 0x1401aa8db
mov eax, 0x20
cmp rdi, rax
cmovg eax, edi
cmp dword [rsi + 0x20], eax
jge 0x1401aa8a6
xor r8d, r8d
mov edx, eax
mov rcx, rsi
call fcn.1401c82f0
test eax, eax
je 0x1401aa8b3
jmp 0x1401aa8db
mov rax, qword [rsi + 0x18]
and word [rsi + 8], 0x2d
mov qword [rsi + 0x10], rax
mov rcx, qword [rsi + 0x10]
mov r8, rdi
mov rdx, r14
call sub.msvcrt.dll_memcpy
mov edi, 0x7fffffff
mov eax, 0x202
and r15d, edi
mov word [rsi + 8], ax
mov byte [rsi + 0xa], 1
mov dword [rsi + 0xc], r15d
mov rdx, qword [rbp - 8]
mov rcx, rbx
call fcn.140176160
mov rcx, qword [rbp - 8]
call fcn.140122460
jmp 0x1401aaa7d
cmp r14d, 0xc
je 0x1401aa930
mov r8, qword [rbp - 8]
test r8, r8
je 0x1401aa91d
mov rcx, qword [rbp + 0x60]
lea rdx, [0x1402552c4]
call fcn.14018bbc0
mov rcx, qword [rbp - 8]
call fcn.140122460
mov rax, qword [rbp + 0x60]
mov r12, r15
inc dword [rax + 0x30]
mov dword [rax + 0x18], r14d
jmp 0x1401aaa82
mov rcx, qword [rbp - 0x28]
call fcn.14016f350
mov r15, rax
test rax, rax
je 0x1401aaa7d
test byte [rax + 9], 1
mov r14, qword [rbp + 0x60]
je 0x1401aa95f
mov rcx, r14
call fcn.1401aeb80
test eax, eax
jne 0x1401aaa7d
movzx eax, byte [r15 + 9]
test al, 2
jne 0x1401aa981
test al, 4
je 0x1401aa976
mov r11, qword [rsp + 0x78]
test r11, r11
jne 0x1401aa986
mov rdx, r15
mov rcx, rbx
call fcn.140179300
mov r11, qword [rsp + 0x78]
movzx eax, byte [r15 + 8]
dec eax
cmp eax, 0x2a
ja case.0x1401aa9aa.5
lea r10, [0x140000000]
cdqe
mov eax, dword [r10 + rax*4 + 0x1add9c]
add rax, r10
jmp rax
mov r15d, dword [rsp + 0x68]
mov rcx, rbx
mov edx, r15d
call fcn.1401cb790
test r11, r11
jne 0x1401aa9f3
add dword [r14 + 0x38], 2
lea r8, [0x14024d0c8]
lea edx, [r11 + 9]
xor r9d, r9d
mov rcx, rbx
call fcn.1401bd4d0
mov dword [rax + 4], r15d
mov dword [rax + 0x1c], r15d
mov dword [rax + 0x94], 0xfffff830
jmp 0x1401aaa7d
lea rdx, [rbp + 0x60]
mov rcx, r11
mov dword [rbp + 0x60], 0
call fcn.14019f760
mov edi, dword [rbp + 0x60]
test edi, edi
jns 0x1401aaa1e
cmp edi, 0x80000000
jne 0x1401aaa1c
mov edi, 0x7fffffff
jmp 0x1401aaa1e
neg edi
mov r8d, r15d
xor edx, edx
mov rcx, r14
call fcn.14017df80
mov r9d, 3
mov r8d, r15d
lea edx, [r9 + 0x60]
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.1401bd2b0
mov rax, qword [rsi + 0x18]
mov dword [rax + 0x74], edi
mov rax, qword [rsi + 0x18]
mov rcx, qword [rsi + 8]
mov edx, dword [rax + 0x74]
call fcn.140182340
jmp 0x1401aaa7d
mov rdi, qword [rsi + 8]
test r11, r11
jne 0x1401aaac6
test rdi, rdi
je 0x1401aaac2
mov rax, qword [rdi + 8]
mov eax, dword [rax + 0x34]
movsxd rdx, eax
mov rcx, rbx
call fcn.140176000
mov r12, qword [rsp + 0x60]
mov rdx, qword [rbp - 0x28]
mov rcx, r12
call fcn.140188a30
mov rdx, qword [rsp + 0x78]
mov rcx, r12
call fcn.140188a30
mov r12, qword [rsp + 0x168]
mov r14, qword [rsp + 0x170]
mov rbx, qword [rsp + 0x178]
add rsp, 0x130
pop r15
pop r13
pop rdi
pop rsi
pop rbp
ret
xor eax, eax
jmp 0x1401aaa72
lea rdx, [rbp + 0x60]
mov rcx, r11
mov dword [rbp + 0x60], 0
call fcn.14019f760
mov edx, dword [rbp + 0x60]
mov r12, qword [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
mov rcx, rdi
mov dword [r12 + 0x74], edx
call fcn.140182450
cmp eax, 7
jne 0x1401aaa82
mov rcx, r12
call fcn.1401a6020
jmp 0x1401aaa82
mov rsi, qword [rsi + 8]
or r15, 0xffffffffffffffff
test r11, r11
je 0x1401aab37
lea r9, str.fast
mov rdx, r11
sub r9, r11
movzx r8d, byte [rdx]
movzx eax, byte [r9 + rdx]
cmp r8d, eax
jne 0x1401aab9b
test r8d, r8d
jne 0x1401aabb1
lea r15d, [r8 + 2]
xor r14d, r14d
cmp dword [r13 + 8], 0
mov r12, qword [rsp + 0x60]
jne 0x1401aab80
test r15d, r15d
js 0x1401aab80
cmp dword [r12 + 0x28], 0
jle 0x1401aab80
mov rdi, r14
nop word [rax + rax]
mov rcx, qword [r12 + 0x20]
mov edx, r15d
mov rcx, qword [rdi + rcx + 8]
call fcn.140182230
inc r14d
lea rdi, [rdi + 0x20]
cmp r14d, dword [r12 + 0x28]
jl 0x1401aab60
mov edx, r15d
mov rcx, rsi
call fcn.140182230
mov rcx, rbx
movsxd rdx, eax
call fcn.140176000
jmp 0x1401aaa82
movzx ecx, byte [rax + r10 + 0x24e440]
movzx eax, byte [r8 + r10 + 0x24e440]
cmp eax, ecx
jne 0x1401aabb9
inc rdx
jmp 0x1401aab20
xor r8d, r8d
mov rcx, r11
lea edx, [r8 + 1]
call fcn.14015d5b0
xor r14d, r14d
mov ecx, r14d
test al, al
setne cl
mov r15d, ecx
jmp 0x1401aab3a
mov r15d, dword [rsp + 0x68]
xor esi, esi
mov rcx, r14
mov edx, r15d
mov qword [rbp + 0x60], rsi
call fcn.140184f10
inc dword [r14 + 0x38]
mov rax, qword [rbp - 0x28]
movzx eax, byte [rax]
mov edi, dword [r14 + 0x38]
lea rcx, [0x140000000]
cmp byte [rax + rcx + 0x24e440], 0x70
jne 0x1401aac26
mov r9d, edi
mov r8d, r15d
mov edx, reloc.ODBC32.dll_SQLSetStmtAttrW
mov rcx, rbx
call fcn.1401bd240
jmp 0x1401aac71
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x1401aac57
lea rdx, [rbp + 0x60]
mov rcx, rax
call fcn.140189050
test eax, eax
jne 0x1401aac57
mov rax, qword [rbp + 0x60]
test rax, rax
js 0x1401aac57
mov ecx, 0xfffffffe
cmp rax, rcx
jle 0x1401aac5a
mov eax, ecx
jmp 0x1401aac5a
mov rax, rsi
mov r9d, edi
mov r8d, r15d
mov edx, 0xb1
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401bd2b0
mov r9d, 1
mov r8d, edi
mov rcx, rbx
lea edx, [r9 + 0x52]
call fcn.1401bd240
jmp 0x1401aaa7d
mov rcx, r11
lea rdi, str.normal
call fcn.14015c4a0
mov r8d, eax
mov eax, dword [r13 + 8]
test eax, eax
jne 0x1401aad2a
cmp r8d, 0xffffffff
jne 0x1401aacbf
mov r12, qword [rsp + 0x60]
movzx eax, byte [r12 + 0x69]
jmp 0x1401aad5f
test eax, eax
jne 0x1401aad2a
mov r12, qword [rsp + 0x60]
cmp dword [r12 + 0x28], 2
jle 0x1401aad23
mov edx, IsNetDrive
lea esi, [rax + 2]
nop dword [rax + rax]
mov rax, qword [r12 + 0x20]
mov rcx, qword [rdx + rax + 8]
mov rax, qword [rcx + 8]
mov rcx, qword [rax]
test r8d, r8d
js 0x1401aad12
cmp byte [rcx + 0x10], 0
jne 0x1401aad12
mov rax, qword [rcx + 0x120]
test rax, rax
je 0x1401aad0e
cmp byte [rax + 0x3f], 2
je 0x1401aad12
mov byte [rcx + 8], r8b
inc esi
add rdx, 0x20
cmp esi, dword [r12 + 0x28]
jl 0x1401aace0
mov rsi, qword [rbp - 0x48]
mov byte [r12 + 0x69], r8b
jmp 0x1401aad2f
mov r12, qword [rsp + 0x60]
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
test r8d, r8d
js 0x1401aad5b
cmp byte [rax + 0x10], 0
jne 0x1401aad5b
mov rcx, qword [rax + 0x120]
test rcx, rcx
je 0x1401aad57
cmp byte [rcx + 0x3f], 2
je 0x1401aad5b
mov byte [rax + 8], r8b
movzx eax, byte [rax + 8]
cmp eax, 1
lea rdx, str.exclusive
mov rcx, rbx
cmovne rdx, rdi
call fcn.140176160
jmp 0x1401aaa82
test r11, r11
jne 0x1401aad84
or esi, 0xffffffff
jmp 0x1401aadf0
or r15, 0xffffffffffffffff
mov rdi, r15
nop dword [rax + rax]
inc rdi
cmp byte [r11 + rdi], 0
jne 0x1401aad90
and edi, 0x3fffffff
lea r14, str.delete
lea r12, [0x14024ccf0]
xor esi, esi
cmp r14, r12
je 0x1401aaded
mov rdx, qword [r14]
test rdx, rdx
je 0x1401aaded
mov r8d, edi
mov rcx, r11
call fcn.140112f60
test eax, eax
je 0x1401aadd9
mov r11, qword [rsp + 0x78]
inc esi
add r14, 8
jmp 0x1401aadb0
cmp esi, 2
jne 0x1401aae03
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x30]
bt rax, 0x1c
jae 0x1401aae08
mov esi, r15d
cmp dword [r13 + 8], 0
jne 0x1401aae08
xor eax, eax
mov dword [r13 + 8], 1
jmp 0x1401aae0c
cmp esi, 0xffffffff
je 0x1401aadf0
mov eax, dword [rsp + 0x68]
mov r12, qword [rsp + 0x60]
mov edi, dword [r12 + 0x28]
dec edi
js 0x1401aae80
movsxd r15, edi
movsxd r12, eax
mov r14, r15
shl r14, 5
nop word [rax + rax]
mov rax, qword [rsp + 0x60]
mov rax, qword [rax + 0x20]
cmp qword [r14 + rax + 8], 0
je 0x1401aae70
cmp r15, r12
je 0x1401aae4d
cmp dword [r13 + 8], 0
jne 0x1401aae70
mov edx, edi
mov rcx, rbx
call fcn.1401cb790
mov r9d, 1
mov r8d, edi
lea edx, [r9 + 6]
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.1401bd2b0
dec r15
sub r14, 0x20
dec edi
jns 0x1401aae30
mov r12, qword [rsp + 0x60]
mov eax, 1
mov rcx, rbx
lea edx, [rax + 0x52]
mov r9d, eax
mov r8d, eax
call fcn.1401bd240
jmp 0x1401aaa82
mov rax, qword [rsi + 8]
mov qword [rbp + 0x60], 0xfffffffffffffffe
mov rcx, qword [rax + 8]
mov rdi, qword [rcx]
test r11, r11
je 0x1401aaee5
lea rdx, [rbp + 0x60]
mov rcx, r11
call fcn.140189050
mov rax, qword [rbp + 0x60]
or rcx, 0xffffffffffffffff
cmp rax, rcx
cmovl rax, rcx
mov rcx, qword [rdi + 0x120]
mov qword [rdi + 0xc8], rax
test rcx, rcx
je 0x1401aaee5
mov qword [rcx + 0x20], rax
mov rdx, qword [rdi + 0xc8]
jmp 0x1401aaa75
mov rdi, qword [rsi + 8]
test r11, r11
jne 0x1401aaf07
mov rcx, rdi
call fcn.14017ff30
jmp 0x1401aaa72
mov rcx, r11
call fcn.14015c1f0
mov r12, qword [rsp + 0x60]
mov rcx, rdi
mov edx, eax
mov byte [r12 + 0x6a], al
mov esi, eax
call fcn.1401822b0
test eax, eax
jne 0x1401aaa82
lea ecx, [rsi - 1]
cmp ecx, 1
ja 0x1401aaa82
mov edi, dword [rbx + 0x98]
lea r8, [0x14024d218]
lea edx, [rax + 5]
xor r9d, r9d
mov rcx, rbx
call fcn.1401bd4d0
mov edx, dword [rsp + 0x68]
lea ecx, [rdi + 4]
mov dword [rax + 0x38], ecx
lea ecx, [rsi - 1]
mov dword [rax + 4], edx
mov dword [rax + 0x6c], ecx
mov rcx, rbx
mov dword [rax + 0x1c], edx
mov dword [rax + 0x64], edx
call fcn.1401cb790
jmp 0x1401aaa82
test r11, r11
je 0x1401aaf96
lea rdx, [rbp + 0x60]
mov rcx, r11
call fcn.14019f760
test eax, eax
je 0x1401aaf96
mov edi, dword [rbp + 0x60]
test edi, edi
jg 0x1401aaf9b
mov edi, 0x7fffffff
mov r8d, dword [rsp + 0x68]
xor edx, edx
mov rcx, r14
call fcn.14017df80
mov esi, 1
mov r8d, edi
lea edx, [rsi + 0x46]
mov r9d, esi
mov rcx, rbx
call fcn.1401bd240
mov r8d, dword [rsp + 0x68]
lea edx, [rsi + 0x3c]
mov rcx, rbx
call fcn.1401bd1d0
lea edx, [rsi + 0x52]
mov r8d, esi
mov rcx, rbx
mov edi, eax
call fcn.1401bd1d0
lea edx, [rsi + 0x54]
or r9d, 0xffffffff
mov r8d, esi
mov rcx, rbx
call fcn.1401bd240
lea edx, [rsi + 0x30]
mov r9d, edi
mov r8d, esi
mov rcx, rbx
call fcn.1401bd240
mov edx, edi
mov rcx, rbx
call fcn.1401c71c0
jmp 0x1401aaa7d
test r11, r11
jne 0x1401ab024
mov rax, qword [rsi + 0x18]
movsxd rdx, dword [rax + 0x74]
jmp 0x1401aaa75
lea rdx, [rbp + 0x60]
mov rcx, r11
mov dword [rbp + 0x60], 0
call fcn.14019f760
mov rcx, qword [rsi + 0x18]
mov eax, dword [rbp + 0x60]
mov dword [rcx + 0x74], eax
jmp 0x1401aaa4b
test r11, r11
jne 0x1401ab085
mov r12, qword [rsp + 0x60]
test byte [r12 + 0x30], 0x20
jne 0x1401ab06a
xor eax, eax
mov rcx, rbx
movsxd rdx, eax
call fcn.140176000
jmp 0x1401aaa82
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.1401825a0
mov rcx, rbx
movsxd rdx, eax
call fcn.140176000
jmp 0x1401aaa82
lea rdx, [rbp + 0x60]
mov edi, 1
mov rcx, r11
mov dword [rbp + 0x60], edi
call fcn.14019f760
mov ebx, dword [rbp + 0x60]
test eax, eax
je 0x1401ab0ab
mov rcx, qword [rsi + 8]
mov edx, ebx
call fcn.1401825a0
mov rcx, qword [rsp + 0x78]
test ebx, ebx
mov edx, edi
setne r8b
call fcn.14015d5b0
mov r12, qword [rsp + 0x60]
test al, al
je 0x1401ab0d9
or qword [r12 + 0x30], 0x20
mov rcx, r12
call fcn.140178f70
jmp 0x1401aaa82
and qword [r12 + 0x30], 0xffffffffffffffdf
mov rcx, r12
call fcn.140178f70
jmp 0x1401aaa82
test r11, r11
je 0x1401ab1af
lea rdx, [rsp + 0x70]
mov rcx, r11
call fcn.140189050
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
test rax, rax
cmovs rax, qword [0x1404b2598]
cmp dword [r13 + 8], 0
mov qword [rsp + 0x70], rax
jne 0x1401ab127
mov qword [rcx + 0x40], rax
mov eax, dword [rcx + 0x28]
dec eax
movsxd rsi, eax
js 0x1401ab1af
mov r14, rsi
shl r14, 5
nop dword [rax + rax]
mov rax, qword [rcx + 0x20]
mov rdi, qword [r14 + rax + 8]
test rdi, rdi
je 0x1401ab1a6
cmp rsi, r12
je 0x1401ab15a
cmp dword [r13 + 8], 0
jne 0x1401ab1a6
cmp byte [rdi + 0x11], 0
mov r15, qword [rsp + 0x70]
mov r12, qword [rdi + 8]
je 0x1401ab17a
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x1401ab17a
mov rcx, rdi
call fcn.140133680
mov rcx, qword [r12]
mov qword [rcx + 0xa0], r15
call fcn.140169950
cmp byte [rdi + 0x11], 0
je 0x1401ab19d
dec dword [rdi + 0x14]
jne 0x1401ab19d
mov rcx, rdi
call fcn.1401dafc0
mov r12, qword [rbp - 0x58]
mov rcx, qword [rsp + 0x60]
sub r14, 0x20
dec rsi
jns 0x1401ab140
mov r12, qword [rsp + 0x60]
mov qword [rsp + 0x70], 0xffffffffffffffff
mov rcx, qword [r12 + 0x18]
test rcx, rcx
je 0x1401ab1cd
call qword [0x1404b24f0]
mov r14, qword [rbp - 0x80]
test r14, r14
je 0x1401ab1eb
mov rdx, r14
mov rcx, r12
call fcn.140192b50
test eax, eax
js 0x1401ab269
jmp 0x1401ab1ed
xor eax, eax
movsxd rcx, eax
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rdi, qword [rcx + rax + 8]
test rdi, rdi
je 0x1401ab269
cmp byte [rdi + 0x11], 0
je 0x1401ab21a
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x1401ab21a
mov rcx, rdi
call fcn.140133680
mov rax, qword [rdi + 8]
mov esi, dword [r12 + 0x290]
mov rcx, qword [rax]
mov rcx, qword [rcx + 0x48]
mov rax, qword [rcx]
test rax, rax
jne 0x1401ab23e
mov dword [rbp - 0x38], recvfrom
jmp 0x1401ab24e
lea r8, [rsp + 0x70]
mov edx, reloc.WS2_32.dll_select
call qword [rax + 0x50]
mov dword [rbp - 0x38], eax
mov dword [r12 + 0x290], esi
cmp byte [rdi + 0x11], 0
je 0x1401ab269
dec dword [rdi + 0x14]
jne 0x1401ab269
mov rcx, rdi
call fcn.1401dafc0
mov rcx, qword [r12 + 0x18]
test rcx, rcx
je 0x1401ab279
call qword [0x1404b2500]
mov rcx, qword [rbp - 0x38]
test ecx, ecx
jne 0x1401ab293
mov rdx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.140176000
jmp 0x1401aaa82
cmp ecx, 0xc
je 0x1401aaa82
mov rax, qword [rbp + 0x60]
inc dword [rax + 0x30]
mov dword [rax + 0x18], ecx
jmp 0x1401aaa82
test r11, r11
jne 0x1401ab2c8
mov r12, qword [rsp + 0x60]
mov rcx, rbx
movzx edx, byte [r12 + 0x66]
call fcn.140176000
jmp 0x1401aaa82
mov rcx, r11
call fcn.14015d6f0
mov rdi, qword [r14]
movzx ecx, byte [rdi + 0x66]
mov ebx, eax
cmp ecx, eax
je 0x1401aaa7d
mov rcx, r14
call fcn.14015f010
mov r12, qword [rsp + 0x60]
test eax, eax
jne 0x1401aaa82
mov byte [rdi + 0x66], bl
jmp 0x1401aaa82
test r11, r11
jne 0x1401ab317
mov rdx, qword [0x140539b78]
mov rcx, rbx
call fcn.140176160
jmp 0x1401aaa7d
cmp byte [r11], 0
mov r12, qword [rsp + 0x60]
je 0x1401ab356
mov rax, qword [r12]
lea r9, [rbp + 0x60]
mov r8d, 1
mov rcx, rax
mov rdx, r11
call qword [rax + gethostname]
test eax, eax
jne 0x1401ab342
cmp dword [rbp + 0x60], eax
jne 0x1401ab356
lea rdx, str.not_a_writable_directory
mov rcx, r14
call fcn.14018bbc0
jmp 0x1401aaa82
cmp byte [r12 + 0x66], 1
ja 0x1401ab366
mov rcx, r14
call fcn.14015f010
mov rcx, qword [0x140539b78]
call fcn.140122460
mov rax, qword [rsp + 0x78]
cmp byte [rax], 0
je 0x1401ab397
lea rcx, [0x1402552c4]
mov rdx, rax
call fcn.140121da0
mov qword [0x140539b78], rax
jmp 0x1401aaa82
mov qword [0x140539b78], 0
jmp 0x1401aaa82
test r11, r11
jne 0x1401ab3c0
mov rdx, qword [0x140539b80]
mov rcx, rbx
call fcn.140176160
jmp 0x1401aaa7d
cmp byte [r11], 0
mov r12, qword [rsp + 0x60]
je 0x1401ab3f3
mov rax, qword [r12]
lea r9, [rbp + 0x60]
mov r8d, 1
mov rcx, rax
mov rdx, r11
call qword [rax + gethostname]
test eax, eax
jne 0x1401ab342
cmp dword [rbp + 0x60], eax
je 0x1401ab342
mov rcx, qword [0x140539b80]
call fcn.140122460
mov rax, qword [rsp + 0x78]
cmp byte [rax], 0
je 0x1401ab424
lea rcx, [0x1402552c4]
mov rdx, rax
call fcn.140121da0
mov qword [0x140539b80], rax
jmp 0x1401aaa82
mov qword [0x140539b80], 0
jmp 0x1401aaa82
test r11, r11
jne 0x1401ab444
movzx eax, byte [rsi + 0x10]
dec eax
jmp 0x1401aaa72
mov r12, qword [rsp + 0x60]
cmp byte [r12 + 0x65], 0
jne 0x1401ab465
lea rdx, str.Safety_level_may_not_be_changed_inside_a_transaction
mov rcx, r14
call fcn.14018bbc0
jmp 0x1401aaa82
cmp dword [rsp + 0x68], 1
je 0x1401aaa82
mov r8b, 1
xor edx, edx
mov rcx, r11
call fcn.14015d5b0
mov ecx, 1
inc eax
mov byte [rsi + 0x11], cl
and eax, 7
cmove eax, ecx
mov rcx, r12
mov byte [rsi + 0x10], al
call fcn.140178f70
jmp 0x1401aaa82
test r11, r11
jne 0x1401ab4d3
mov rdx, r15
mov rcx, rbx
call fcn.140179300
mov rax, qword [r15 + 0x10]
mov r12, qword [rsp + 0x60]
test qword [r12 + 0x30], rax
mov eax, 0
mov rcx, rbx
setne al
mov rdx, rax
call fcn.140176000
jmp 0x1401aaa82
mov r12, qword [rsp + 0x60]
mov rdi, qword [r15 + 0x10]
cmp byte [r12 + 0x65], 0
jne 0x1401ab4e9
btr rdi, 0xe
xor r8d, r8d
mov rcx, r11
lea edx, [r8 + 1]
call fcn.14015d5b0
test al, al
je 0x1401ab503
or qword [r12 + 0x30], rdi
jmp 0x1401ab55b
mov rax, rdi
not rax
and qword [r12 + 0x30], rax
cmp rdi, 0x80000
jne 0x1401ab523
mov qword [r12 + 0x2f8], 0
test dil, 1
je 0x1401ab55b
mov rdx, qword [rsp + 0x78]
lea r9, str.reset
sub r9, rdx
nop dword [rax + rax]
movzx r8d, byte [rdx]
movzx eax, byte [r9 + rdx]
cmp r8d, eax
jne 0x1401ab575
test r8d, r8d
jne 0x1401ab592
mov rcx, r12
call fcn.1401b0010
mov edx, 0xa5
mov rcx, rbx
call fcn.1401bd160
mov rcx, r12
call fcn.140178f70
jmp 0x1401aaa82
lea r10, [0x140000000]
movzx ecx, byte [rax + r10 + 0x24e440]
movzx eax, byte [r8 + r10 + 0x24e440]
cmp eax, ecx
jne 0x1401ab55b
inc rdx
jmp 0x1401ab540
test r11, r11
je 0x1401aaa7d
mov rdi, qword [rbp + 0x60]
mov rdx, qword [rbp - 0x80]
mov rcx, rdi
call fcn.140184e40
mov r9, qword [rbp - 0x80]
mov r8, qword [rsp + 0x78]
mov edx, 2
mov rcx, rdi
call fcn.1401a4ba0
mov r13, rax
test rax, rax
je 0x1401aaa7d
mov r14, qword [rax + 0x10]
xor r12d, r12d
mov dword [rbp + 0x60], r12d
test r14, r14
je 0x1401ab5f7
mov ecx, dword [r14 + 0x64]
and cl, 3
cmp cl, 2
je 0x1401ab5f7
mov r14, qword [r14 + 0x28]
test r14, r14
jne 0x1401ab5e2
mov rdx, rax
mov rcx, rdi
mov dword [rdi + 0x38], 7
call fcn.1401cb880
movsx eax, word [r13 + 0x36]
mov rsi, qword [r13 + 8]
xor ecx, ecx
mov edi, ecx
test eax, eax
jle 0x1401aaa7d
nop
movzx r9d, word [rsi + 0x12]
mov r11d, ecx
test r9b, 0x62
je 0x1401ab65f
cmp qword [r15 + 0x10], 0
jne 0x1401ab641
inc r12d
mov dword [rbp + 0x60], r12d
jmp 0x1401ab767
test r9b, 0x20
je 0x1401ab64f
mov r11d, 2
jmp 0x1401ab65f
movzx r11d, r9b
and r11d, 0x40
or r11d, 0x20
shr r11d, 5
test r9b, 1
jne 0x1401ab66a
mov r10d, ecx
jmp 0x1401ab6a6
test r14, r14
jne 0x1401ab675
lea r10d, [r14 + 1]
jmp 0x1401ab6a6
mov ecx, 1
mov r10d, ecx
mov edx, ecx
cmp eax, ecx
jl 0x1401ab6a6
mov rcx, qword [r14 + 8]
movsxd r8, eax
nop word [rax + rax]
movsx eax, word [rcx]
cmp eax, edi
je 0x1401ab6a6
inc rdx
inc r10d
add rcx, 2
cmp rdx, r8
jle 0x1401ab690
mov rdx, rsi
mov rcx, r13
call fcn.1401852f0
cmp r11d, 2
jge 0x1401ab6c2
test rax, rax
je 0x1401ab6c2
mov r12, qword [rax + 8]
jmp 0x1401ab6c5
xor r12d, r12d
test r9b, 4
je 0x1401ab6e4
mov rcx, qword [rsi]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x1401ab6d2
lea rdx, [rcx + 1]
add rdx, rax
jmp 0x1401ab70a
mov eax, dword [rsi + 8]
shr eax, 4
and eax, 0xf
je 0x1401ab703
lea ecx, [rax - 1]
lea rax, [0x140000000]
mov rdx, qword [rax + rcx*8 + 0x4b2628]
jmp 0x1401ab70a
lea rdx, [0x140227070]
test byte [rsi + 8], 0xf
mov dword [rsp + 0x48], r11d
mov dword [rsp + 0x40], r10d
mov eax, 0
setne al
mov qword [rsp + 0x38], r12
mov dword [rsp + 0x30], eax
mov rax, qword [rsi]
mov qword [rsp + 0x28], rdx
mov r9d, edi
lea rcx, str.issisii
lea r8, str.issisi
sub r9d, dword [rbp + 0x60]
cmp qword [r15 + 0x10], 0
mov edx, 1
cmovne r8, rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1401c9400
mov r12d, dword [rbp + 0x60]
xor ecx, ecx
movsx eax, word [r13 + 0x36]
inc edi
add rsi, 0x18
cmp edi, eax
jl 0x1401ab620
jmp 0x1401aaa7d
mov rdi, qword [rbp - 0x80]
mov rcx, r14
mov dword [r14 + 0x38], 6
mov rdx, rdi
call fcn.140184e40
mov r12, qword [rsp + 0x60]
xor r15d, r15d
mov dword [rbp + 0x60], r15d
cmp dword [r12 + 0x28], r15d
jle 0x1401aaa82
mov r14d, r15d
mov qword [rbp - 0x58], r15
or r13, 0xffffffffffffffff
test rdi, rdi
je 0x1401ab7d6
mov rdx, qword [r12 + 0x20]
mov rcx, rdi
mov rdx, qword [r14 + rdx]
call fcn.140112f10
test eax, eax
jne 0x1401ab991
mov rax, qword [r12 + 0x20]
mov rcx, qword [r14 + rax + 0x18]
mov esi, dword [rcx + 0xc]
add rcx, 8
test esi, esi
je 0x1401ab8b0
nop
mov rax, qword [rcx + 8]
dec esi
test rax, rax
je 0x1401ab8b0
nop
mov r8, qword [rax + 0x10]
cmp word [r8 + 0x36], 0
je 0x1401ab819
mov rax, qword [rax]
test rax, rax
jne 0x1401ab800
jmp 0x1401ab8b0
mov r8, qword [r8]
lea rdx, str.SELECTFROM__w_
mov rcx, r12
call fcn.1401a5280
mov rdi, rax
test rax, rax
je 0x1401ab86f
lea rax, [rbp - 0x40]
mov qword [rsp + 0x30], r15
xor r9d, r9d
mov qword [rsp + 0x28], rax
mov r8d, r13d
mov rdx, rdi
mov rcx, r12
mov qword [rbp - 0x40], r15
mov qword [rsp + 0x20], r15
call fcn.1401a4dd0
mov rcx, qword [rbp - 0x40]
call fcn.140114f70
mov rdx, rdi
mov rcx, r12
call fcn.140188a30
cmp byte [r12 + 0x67], 0
je 0x1401ab89a
mov rcx, qword [r12 + 0x160]
lea rdx, [0x140240410]
call fcn.14018bbc0
mov rax, qword [r12 + 0x160]
mov dword [rax + 0x18], 7
mov rax, qword [r12 + 0x20]
mov rcx, qword [r14 + rax + 0x18]
add rcx, 8
test esi, esi
jne 0x1401ab7f0
mov r13, qword [rcx + 8]
test r13, r13
je 0x1401ab98d
nop dword [rax]
mov rax, qword [rsp + 0x78]
mov r15, qword [r13 + 0x10]
test rax, rax
je 0x1401ab8e1
mov rdx, qword [r15]
mov rcx, rax
call fcn.140112f10
test eax, eax
jne 0x1401ab978
movzx eax, byte [r15 + 0x3f]
cmp al, 2
jne 0x1401ab8f3
lea r12, str.view
jmp 0x1401ab91a
cmp al, 1
jne 0x1401ab900
lea r12, str.virtual
jmp 0x1401ab91a
test dword [r15 + 0x30], 0x1000
lea r12, str.shadow
lea rax, str.table
cmove r12, rax
mov r14d, dword [r15 + 0x30]
mov rcx, qword [r15]
movsx edi, word [r15 + 0x36]
mov esi, r14d
shr r14d, 7
shr esi, 0x10
and r14d, 1
and esi, 1
call fcn.1401adeb0
mov rcx, qword [rsp + 0x60]
mov r9, qword [rcx + 0x20]
mov dword [rsp + 0x40], esi
mov dword [rsp + 0x38], r14d
mov r14, qword [rbp - 0x58]
mov dword [rsp + 0x30], edi
lea r8, str.sssiii
mov r9, qword [r14 + r9]
mov edx, 1
mov rcx, rbx
mov qword [rsp + 0x28], r12
mov qword [rsp + 0x20], rax
call fcn.1401c9400
mov r13, qword [r13]
test r13, r13
jne 0x1401ab8c0
mov r12, qword [rsp + 0x60]
xor r15d, r15d
or r13, 0xffffffffffffffff
mov eax, dword [rbp + 0x60]
mov rdi, qword [rbp - 0x80]
add r14, 0x20
inc eax
mov qword [rbp - 0x58], r14
mov dword [rbp + 0x60], eax
cmp eax, dword [r12 + 0x28]
jl 0x1401ab7b8
jmp 0x1401aaa82
mov r12, qword [rsp + 0x60]
test r11, r11
je 0x1401aaa82
mov r14, qword [rbp - 0x80]
mov rdx, r11
mov rcx, r12
mov r8, r14
call fcn.140193880
mov rsi, qword [rbp + 0x60]
mov rdi, rax
test rax, rax
jne 0x1401aba2f
mov r8, qword [rsp + 0x78]
lea edx, [rax + 2]
mov r9, r14
mov rcx, rsi
call fcn.1401a4ba0
test rax, rax
je 0x1401aaa82
test byte [rax + 0x30], 0x80
je 0x1401aaa82
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x1401aaa82
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
je 0x1401aba26
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x1401aba14
test rdi, rdi
je 0x1401aaa82
mov rdx, qword [rdi + 0x30]
mov rcx, r12
call fcn.1401b22d0
cmp qword [r15 + 0x10], 0
je 0x1401aba50
movzx r12d, word [rdi + 0x60]
mov dword [rsi + 0x38], 6
jmp 0x1401aba5c
movzx r12d, word [rdi + 0x5e]
mov dword [rsi + 0x38], 3
mov r13, qword [rdi + 0x18]
mov edx, eax
mov rcx, rsi
call fcn.140184f10
xor ecx, ecx
movsxd r12, r12d
mov r14d, ecx
mov esi, ecx
test r12, r12
jle 0x1401aaa7d
nop dword [rax]
mov rax, qword [rdi + 8]
movzx edx, word [rax + rsi*2]
test dx, dx
js 0x1401aba9d
movsx rax, dx
lea rcx, [rax + rax*2]
mov rax, qword [r13 + 8]
mov rcx, qword [rax + rcx*8]
movsx eax, dx
mov qword [rsp + 0x28], rcx
lea r8, str.iisX
mov r9d, r14d
mov edx, 1
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401c9400
cmp qword [r15 + 0x10], 0
je 0x1401abb01
movzx eax, word [rdi + 0x5e]
mov rcx, qword [rdi + 0x40]
xor edx, edx
cmp r14d, eax
mov rax, qword [rdi + 0x38]
lea r8, str.isiX
movzx r9d, byte [rax + rsi]
mov rax, qword [rcx + rsi*8]
setl dl
mov dword [rsp + 0x28], edx
mov rcx, rbx
mov edx, 4
mov qword [rsp + 0x20], rax
call fcn.1401c9400
mov rax, qword [rbp + 0x60]
mov edx, 0x53
mov rcx, rbx
mov r9d, dword [rax + 0x38]
lea r8d, [rdx - 0x52]
call fcn.1401bd240
inc rsi
inc r14d
mov ecx, 0
cmp rsi, r12
jl 0x1401aba80
jmp 0x1401aaa7d
mov r12, qword [rsp + 0x60]
test r11, r11
je 0x1401aaa82
mov r8, qword [rbp - 0x80]
mov rdx, r11
mov rcx, r12
call fcn.1401939a0
mov rdi, rax
test rax, rax
je 0x1401aaa82
mov rdx, qword [rax + 0x60]
mov rcx, r12
call fcn.1401b22d0
mov rcx, qword [rbp + 0x60]
mov edx, eax
mov dword [rcx + 0x38], 5
call fcn.140184f10
mov rdi, qword [rdi + 0x10]
xor ecx, ecx
mov esi, ecx
test rdi, rdi
je 0x1401aaa82
lea r14, [0x140258670]
lea r15, [0x140258674]
lea r13, [0x140255004]
lea r12d, [rcx + 1]
nop dword [rax]
nop dword [rax + rax]
cmp qword [rdi + 0x48], 0
mov eax, dword [rdi + 0x64]
mov edx, ecx
setne dl
and eax, 3
cmp byte [rdi + 0x62], 0
mov dword [rsp + 0x38], edx
setne cl
mov qword [rbp + 0x18], r14
mov qword [rbp + 0x20], r15
mov qword [rbp + 0x28], r13
mov rax, qword [rbp + rax*8 + 0x18]
mov qword [rsp + 0x30], rax
mov rax, qword [rdi]
mov dword [rsp + 0x28], ecx
lea r8, str.isisi
mov r9d, esi
mov edx, r12d
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1401c9400
mov rdi, qword [rdi + 0x28]
inc esi
mov ecx, 0
test rdi, rdi
jne 0x1401abbb0
jmp 0x1401aaa7d
mov r12, qword [rsp + 0x60]
mov dword [r14 + 0x38], 3
cmp dword [r12 + 0x28], 0
jle 0x1401aaa82
xor esi, esi
lea r14, [0x14024d82c]
mov edi, esi
nop dword [rax + rax]
mov rdx, qword [r12 + 0x20]
mov rax, qword [rdx + rdi + 8]
test rax, rax
je 0x1401abc8b
mov rax, qword [rax + 8]
mov rcx, qword [rax]
mov rax, r14
cmp byte [rcx + 0x13], 0
jne 0x1401abc66
mov rax, qword [rcx + 0xd0]
mov qword [rsp + 0x28], rax
mov rax, qword [rdx + rdi]
lea r8, [0x140258680]
mov r9d, esi
mov edx, 1
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1401c9400
inc esi
add rdi, 0x20
cmp esi, dword [r12 + 0x28]
jl 0x1401abc40
jmp 0x1401aaa82
mov r12, qword [rsp + 0x60]
mov dword [r14 + 0x38], 2
mov rdi, qword [r12 + 0x270]
test rdi, rdi
je 0x1401aaa82
xor esi, esi
lea r12d, [rsi + 1]
mov rax, qword [rdi + 0x10]
lea r8, [0x140258684]
mov r9d, esi
mov rcx, qword [rax]
mov edx, r12d
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call fcn.1401c9400
mov rdi, qword [rdi]
inc esi
test rdi, rdi
jne 0x1401abcc1
jmp 0x1401aaa7d
mov r12, qword [rsp + 0x60]
lea r15, [0x140539cc8]
mov esi, dword [r12 + 0x2c]
mov dword [r14 + 0x38], 6
lea r14, [0x140539c10]
shr esi, 5
mov r12d, 1
and esi, 1
nop dword [rax]
mov rdi, qword [r14]
test rdi, rdi
je 0x1401abd4a
nop dword [rax + rax]
mov r9d, esi
mov r8d, r12d
mov rdx, rdi
mov rcx, rbx
call fcn.14016f260
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x1401abd30
add r14, 8
cmp r14, r15
jl 0x1401abd20
mov r12, qword [rsp + 0x60]
mov rdi, qword [r12 + 0x258]
test rdi, rdi
je 0x1401aaa82
nop dword [rax]
mov rdx, qword [rdi + 0x10]
mov r9d, esi
xor r8d, r8d
mov rcx, rbx
call fcn.14016f260
mov rdi, qword [rdi]
test rdi, rdi
jne 0x1401abd70
jmp 0x1401aaa82
mov r12, qword [rsp + 0x60]
mov dword [r14 + 0x38], 1
mov rdi, qword [r12 + 0x228]
test rdi, rdi
je 0x1401aaa82
mov r12d, 1
nop dword [rax]
nop word [rax + rax]
mov r9, qword [rdi + 0x10]
lea r8, reloc.WS2_32.dll_WSAStartup
mov edx, r12d
mov r9, qword [r9 + 8]
mov rcx, rbx
call fcn.1401c9400
mov rdi, qword [rdi]
test rdi, rdi
jne 0x1401abdc0
jmp 0x1401aaa7d
lea rdi, str.analysis_limit
lea rsi, str.BCDE
nop word [rax + rax]
mov r9, qword [rdi]
lea r8, reloc.WS2_32.dll_WSAStartup
mov edx, 1
mov rcx, rbx
call fcn.1401c9400
add rdi, 0x18
cmp rdi, rsi
jl 0x1401abe00
jmp 0x1401aaa7d
mov r12, qword [rsp + 0x60]
test r11, r11
je 0x1401aaa82
mov r8, qword [rbp - 0x80]
mov rdx, r11
mov rcx, r12
call fcn.1401939a0
mov r13, rax
test rax, rax
je 0x1401aaa82
cmp byte [rax + 0x3f], 0
jne 0x1401aaa82
mov rdi, qword [rax + 0x48]
test rdi, rdi
je 0x1401aaa82
mov rdx, qword [rax + 0x60]
mov rcx, r12
call fcn.1401b22d0
mov rcx, qword [rbp + 0x60]
xor r15d, r15d
mov edx, eax
mov dword [rcx + 0x38], 8
call fcn.140184f10
lea r9, [0x140258688]
lea r12d, [r15 + 1]
xor esi, esi
cmp dword [rdi + 0x28], esi
jle 0x1401abf1c
lea r14, [rdi + 0x40]
movzx ecx, byte [rdi + 0x2d]
call fcn.14012c9f0
movzx ecx, byte [rdi + 0x2e]
mov r8, rax
call fcn.14012c9f0
movsxd rcx, dword [r14]
mov qword [rsp + 0x50], r9
mov qword [rsp + 0x48], r8
mov qword [rsp + 0x40], rax
mov rax, qword [r14 + 8]
lea rdx, [rcx + rcx*2]
mov rcx, qword [r13 + 8]
mov qword [rsp + 0x38], rax
mov rax, qword [rcx + rdx*8]
lea r8, str.iissssss
mov qword [rsp + 0x30], rax
mov rax, qword [rdi + 0x10]
mov r9d, r15d
mov qword [rsp + 0x28], rax
mov edx, r12d
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.1401c9400
inc esi
lea r14, [r14 + 0x10]
lea r9, [0x140258688]
cmp esi, dword [rdi + 0x28]
jl 0x1401abea0
lea r9, [0x140258688]
mov rdi, qword [rdi + 8]
inc r15d
test rdi, rdi
jne 0x1401abe91
jmp 0x1401aaa7d
mov eax, dword [r14 + 0x38]
mov r12, qword [rsp + 0x60]
lea esi, [rax + 5]
lea ecx, [rax + 1]
mov dword [rbp - 0x4c], esi
inc esi
mov dword [rbp - 0x78], ecx
mov dword [r14 + 0x38], esi
mov rax, qword [r12 + 0x20]
mov dword [rsp + 0x6c], esi
mov rcx, qword [rdi + rax + 0x18]
mov rax, qword [rcx + 0x10]
test rax, rax
je 0x1401aaa82
mov r14, qword [rbp - 0x80]
nop dword [rax + rax]
test r11, r11
je 0x1401abf91
mov rcx, qword [rbp + 0x60]
mov r9, r14
mov r8, r11
xor edx, edx
call fcn.1401a4ba0
mov rdi, rax
mov qword [rbp - 0x70], rax
xor eax, eax
jmp 0x1401abf9c
mov rdi, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x58], rax
test rdi, rdi
je 0x1401ac424
cmp byte [rdi + 0x3f], 0
jne 0x1401ac424
cmp qword [rdi + 0x48], 0
je 0x1401ac424
mov rdx, qword [rdi + 0x60]
mov rcx, r12
call fcn.1401b22d0
movsxd r14, eax
mov rax, qword [rsp + 0x60]
mov rcx, qword [rax + 0x20]
mov r15, r14
mov edx, r14d
shl r15, 5
mov r13, qword [r15 + rcx]
mov rcx, qword [rbp + 0x60]
mov qword [rbp - 0x80], r13
call fcn.140184f10
cmp r14d, 1
je 0x1401ac027
mov r10, qword [rbp + 0x60]
mov rcx, qword [r10]
mov rdx, qword [rcx + 0x20]
mov rax, qword [rdx + r15 + 8]
cmp byte [rax + 0x11], 0
je 0x1401ac027
mov rax, qword [rdi]
mov r8d, dword [rdi + 0x28]
xor r9d, r9d
mov edx, r14d
mov rcx, r10
mov qword [rsp + 0x20], rax
call fcn.140163990
movsx ecx, word [rdi + 0x36]
mov rax, qword [rbp + 0x60]
add ecx, esi
cmp ecx, dword [rax + 0x38]
jle 0x1401ac039
mov dword [rax + 0x38], ecx
mov r9, rdi
mov r8d, r14d
xor edx, edx
mov rcx, rax
mov dword [rsp + 0x20], SQLConnectW
call fcn.1401a61c0
mov r8, qword [rdi]
mov edx, dword [rbp - 0x78]
mov rcx, rbx
call fcn.1401c7730
mov rsi, qword [rdi + 0x48]
mov r15d, 1
test rsi, rsi
je 0x1401ac15c
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsp + 0x60]
mov r8, r13
call fcn.1401939a0
mov rdi, rax
test rax, rax
je 0x1401ac148
mov rax, qword [rbp + 0x60]
xor r13d, r13d
mov qword [rsp + 0x70], r13
cmp r14d, 1
je 0x1401ac0d9
mov rcx, qword [rax]
mov rdx, r14
mov rcx, qword [rcx + 0x20]
shl rdx, 5
mov rdx, qword [rcx + rdx + 8]
cmp byte [rdx + 0x11], r13b
je 0x1401ac0d9
mov rax, qword [rdi]
mov r8d, dword [rdi + 0x28]
mov rcx, qword [rbp + 0x60]
xor r9d, r9d
mov edx, r14d
mov qword [rsp + 0x20], rax
call fcn.140163990
mov rax, qword [rbp + 0x60]
lea r9, [rsp + 0x70]
mov r8, rsi
mov rdx, rdi
mov rcx, rax
mov qword [rsp + 0x20], r13
call fcn.1401958a0
test eax, eax
jne 0x1401aaa7d
mov r13, qword [rsp + 0x70]
test r13, r13
jne 0x1401ac11f
mov rcx, qword [rbp + 0x60]
mov r9, rdi
mov r8d, r14d
mov edx, r15d
mov dword [rsp + 0x20], SQLConnectW
call fcn.1401a61c0
jmp 0x1401ac144
mov r9d, dword [r13 + 0x58]
mov r8d, r15d
mov edx, 0x65
mov rcx, rbx
mov dword [rsp + 0x20], r14d
call fcn.1401bd2b0
mov rcx, qword [rbp + 0x60]
mov rdx, r13
call fcn.1401ca890
mov r13, qword [rbp - 0x80]
mov rsi, qword [rsi + 8]
inc r15d
test rsi, rsi
jne 0x1401ac072
mov rdi, qword [rbp - 0x70]
mov rax, qword [rbp + 0x60]
cmp dword [rax + 0x34], r15d
jge 0x1401ac16a
mov dword [rax + 0x34], r15d
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x26]
call fcn.1401bd1d0
mov rsi, qword [rdi + 0x48]
mov r12, qword [rsp + 0x60]
mov r14d, 1
mov r15d, eax
mov dword [rbp - 0x60], eax
mov dword [rbp - 0x50], r14d
test rsi, rsi
je 0x1401ac3fa
nop dword [rax + rax]
mov rdx, qword [rsi + 0x10]
mov r8, r13
mov rcx, r12
call fcn.1401939a0
mov r15, rax
mov qword [rbp - 0x48], rax
xor eax, eax
mov qword [rsp + 0x70], rax
mov r12d, eax
mov qword [rbp - 0x40], rax
test r15, r15
je 0x1401ac1ea
mov rcx, qword [rbp + 0x60]
lea rax, [rbp - 0x40]
lea r9, [rsp + 0x70]
mov r8, rsi
mov rdx, r15
mov qword [rsp + 0x20], rax
call fcn.1401958a0
mov r12, qword [rbp - 0x40]
mov rdx, qword [rbp + 0x60]
mov r8d, dword [rsp + 0x6c]
dec dword [rdx + 0x44]
mov ecx, dword [rsi + 0x28]
mov r13d, dword [rdx + 0x44]
add ecx, r8d
cmp ecx, dword [rdx + 0x38]
jle 0x1401ac208
mov dword [rdx + 0x38], ecx
cmp dword [rsi + 0x28], 0
jle 0x1401ac278
mov eax, r8d
mov edi, r8d
mov r14, r12
neg eax
lea r15, [rsi + 0x40]
mov dword [rbp - 0x64], eax
test r12, r12
je 0x1401ac22a
mov r9d, dword [r14]
jmp 0x1401ac22d
mov r9d, dword [r15]
mov rdx, qword [rbp - 0x70]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.14018d370
mov r9d, r13d
mov r8d, edi
mov edx, gethostbyaddr
mov rcx, rbx
call fcn.1401bd240
mov eax, dword [rbp - 0x64]
inc edi
add eax, edi
add r15, 0x10
add r14, 4
cmp eax, dword [rsi + 0x28]
jl 0x1401ac220
mov rdi, qword [rbp - 0x70]
mov r14d, dword [rbp - 0x50]
mov r15, qword [rbp - 0x48]
mov r8d, dword [rsp + 0x6c]
mov rdx, qword [rsp + 0x70]
test rdx, rdx
je 0x1401ac33d
mov rcx, qword [rsp + 0x60]
call fcn.1401a0e50
mov ecx, dword [rsi + 0x28]
mov r15d, dword [rbp - 0x4c]
mov r8d, dword [rsp + 0x6c]
mov dword [rsp + 0x30], ecx
mov r9d, ecx
mov qword [rsp + 0x28], rax
mov rcx, rbx
mov edx, 0x60
mov dword [rsp + 0x20], r15d
call fcn.1401bd330
movsxd rdx, dword [rbx + 0x98]
cmp dword [rbx + 0x9c], edx
jg 0x1401ac2e8
mov r9d, r13d
mov r8d, r14d
mov edx, reloc.ODBC32.dll_SQLFreeHandle
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.14015d860
xor r8d, r8d
mov edx, eax
jmp 0x1401ac31a
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
xor r8d, r8d
mov dword [rbx + 0x98], eax
mov rax, qword [rbx + 0x90]
mov dword [rax + rcx*8], reloc.ODBC32.dll_SQLFreeHandle
mov dword [rax + rcx*8 + 4], r14d
mov dword [rax + rcx*8 + 8], r13d
mov dword [rax + rcx*8 + 0xc], r15d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rbx]
cmp byte [rax + 0x67], 0
jne 0x1401ac36d
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r8d
jmp 0x1401ac36d
test r15, r15
je 0x1401ac36d
mov r9d, dword [rbx + 0x98]
mov dword [rsp + 0x20], r8d
mov edx, 0x20
mov r8d, r14d
mov rcx, rbx
add r9d, 2
call fcn.1401bd2b0
mov edx, r13d
mov rcx, rbx
call fcn.1401c69d0
mov r15d, dword [rbp - 0x78]
xor r8d, r8d
test byte [rdi + 0x30], 0x80
mov rcx, rbx
mov edx, SQLGetDiagFieldW
lea r9d, [r15 + 1]
je 0x1401ac38a
lea edx, [r8 + 0x4a]
call fcn.1401bd240
mov r9, qword [rsi + 0x10]
lea eax, [r14 - 1]
lea r8, [0x14025869c]
lea edx, [r15 + 2]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401c9400
mov r9d, 4
lea edx, [r9 + 0x4f]
mov r8d, r15d
mov rcx, rbx
call fcn.1401bd240
mov edx, r13d
mov rcx, rbx
call fcn.1401ca480
mov rdx, r12
mov r12, qword [rsp + 0x60]
mov rcx, r12
call fcn.140188a30
mov rsi, qword [rsi + 8]
mov r13, qword [rbp - 0x80]
inc r14d
mov dword [rbp - 0x50], r14d
test rsi, rsi
jne 0x1401ac1a0
mov r15d, dword [rbp - 0x60]
xor r8d, r8d
lea r9d, [r15 + 1]
mov rcx, rbx
lea edx, [r8 + 5]
call fcn.1401bd240
mov edx, r15d
mov rcx, rbx
call fcn.1401c71c0
mov esi, dword [rsp + 0x6c]
mov r14, qword [rbp - 0x80]
mov rax, qword [rbp - 0x58]
mov r11, qword [rsp + 0x78]
test rax, rax
jne 0x1401abf70
jmp 0x1401aaa82
test r11, r11
je 0x1401aaa7d
xor r8d, r8d
mov rcx, r11
lea edx, [r8 + 1]
call fcn.14015d5b0
mov r12, qword [rsp + 0x60]
test al, al
mov eax, 0
mov rcx, r12
setne al
mov edx, eax
call fcn.1401af780
jmp 0x1401aaa82
mov r15d, dword [rsp + 0x68]
mov rax, qword [rbp - 0x28]
mov r12, qword [rsp + 0x78]
movzx eax, byte [rax]
xor esi, esi
cmp byte [rax + r10 + 0x24e440], 0x71
mov edi, esi
mov qword [rbp - 0x38], rsi
sete dil
or rax, 0xffffffffffffffff
cmp qword [r13], rsi
cmove r15d, eax
mov eax, 0x64
mov dword [r14 + 0x38], 6
mov dword [rbp - 0x78], eax
mov dword [rsp + 0x6c], eax
mov dword [rsp + 0x68], r15d
test r12, r12
je 0x1401ac514
lea rdx, [rsp + 0x6c]
mov rcx, r12
call fcn.14019f760
test eax, eax
je 0x1401ac4de
mov eax, dword [rsp + 0x6c]
mov dword [rbp - 0x78], eax
test eax, eax
jg 0x1401ac514
lea eax, [rsi + 0x64]
jmp 0x1401ac511
test r15d, r15d
js 0x1401ac4f9
mov rax, qword [rsp + 0x60]
movsxd rcx, r15d
mov rax, qword [rax + 0x20]
shl rcx, 5
mov r9, qword [rcx + rax]
jmp 0x1401ac4fc
mov r9, rsi
mov r8, r12
xor edx, edx
mov rcx, r14
call fcn.1401a4ba0
mov qword [rbp - 0x38], rax
mov eax, dword [rsp + 0x6c]
mov dword [rbp - 0x78], eax
mov esi, 1
lea r8d, [rax - 1]
mov rcx, rbx
lea edx, [rsi + 0x46]
mov r9d, esi
call fcn.1401bd240
mov r12, qword [rsp + 0x60]
xor r13d, r13d
movsxd rax, edi
mov dword [rsp + 0x6c], r13d
lea rdi, [0x140539bf8]
mov qword [rbp - 0x40], rax
cmp dword [r12 + 0x28], r13d
jle 0x1401ad4ab
movsxd rax, r15d
mov edi, r13d
mov qword [rbp - 0x58], rax
nop dword [rax + rax]
mov esi, r13d
test rax, rax
js 0x1401ac571
cmp edi, r15d
jne 0x1401ad48e
mov edx, edi
mov rcx, r14
call fcn.140184f10
mov rax, qword [r12 + 0x20]
movsxd r14, edi
shl r14, 5
mov edx, r13d
mov r15, qword [r14 + rax + 0x18]
mov r8, qword [r15 + 0x10]
test r8, r8
je 0x1401ad481
mov r9, qword [rbp - 0x38]
mov rax, qword [r8 + 0x10]
test r9, r9
je 0x1401ac5ae
cmp r9, rax
jne 0x1401ac5d4
test byte [rax + 0x30], 0x80
jne 0x1401ac5b6
inc edx
mov rax, qword [rax + 0x10]
mov ecx, r13d
test rax, rax
je 0x1401ac5cf
mov rax, qword [rax + 0x28]
inc edx
inc ecx
test rax, rax
jne 0x1401ac5c2
cmp ecx, esi
cmovg esi, ecx
mov r8, qword [r8]
test r8, r8
jne 0x1401ac5a0
test edx, edx
je 0x1401ad481
test r9, r9
je 0x1401ac5eb
inc edx
lea eax, [rdx + 1]
mov rcx, r12
movsxd rdx, eax
shl rdx, 2
call fcn.140188bc0
mov rdi, rax
test rax, rax
je 0x1401ad49f
mov r11, qword [rbp - 0x38]
mov r8d, r13d
mov rdx, r13
mov r10d, 1
test r11, r11
je 0x1401ac628
mov r8d, r10d
mov edx, r10d
mov dword [rax + 4], r13d
mov r9, qword [r15 + 0x10]
test r9, r9
je 0x1401ac67d
mov rcx, qword [r9 + 0x10]
test r11, r11
je 0x1401ac63f
cmp r11, rcx
jne 0x1401ac675
test byte [rcx + 0x30], 0x80
jne 0x1401ac651
mov eax, dword [rcx + 0x28]
inc r8d
inc rdx
mov dword [rdi + rdx*4], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x1401ac675
nop word [rax + rax]
mov eax, dword [rcx + 0x58]
inc rdx
inc r8d
mov dword [rdi + rdx*4], eax
mov rcx, qword [rcx + 0x28]
test rcx, rcx
jne 0x1401ac660
mov r9, qword [r9]
test r9, r9
jne 0x1401ac631
mov rdx, qword [rbp + 0x60]
mov dword [rdi], r8d
lea ecx, [rsi + 8]
cmp dword [rdx + 0x38], ecx
mov byte [rdx + 0x1f], r13b
mov dword [rdx + 0x28], r13d
cmovg ecx, dword [rdx + 0x38]
mov esi, 2
mov dword [rdx + 0x38], ecx
movsxd rdx, dword [rbx + 0x98]
cmp dword [rbx + 0x9c], edx
jg 0x1401ac6c9
mov r9d, r8d
mov edx, 0x9a
mov rcx, rbx
mov r8d, esi
mov dword [rsp + 0x20], r10d
call fcn.14015d860
mov edx, eax
jmp 0x1401ac6f7
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x98], eax
mov rax, qword [rbx + 0x90]
mov dword [rax + rcx*8], 0x9a
mov dword [rax + rcx*8 + 4], esi
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r13
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], r13b
je 0x1401ac70f
mov r8, rdi
mov edx, 0xfffffff1
call fcn.140145c20
jmp 0x1401ac74f
test edx, edx
jns 0x1401ac71b
mov edx, dword [rbx + 0x98]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
cmp byte [rax + rcx*8 + 1], r13b
lea rdx, [rax + rcx*8]
je 0x1401ac747
mov r9d, 0xfffffff1
mov r8, rdi
mov rcx, rbx
call fcn.1401dd4c0
jmp 0x1401ac74f
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf1
movsxd rax, dword [rbx + 0x98]
test eax, eax
jle 0x1401ac771
mov ecx, dword [rsp + 0x6c]
movzx edx, cl
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
mov word [rax + rcx*8 - 0x16], dx
mov r8d, esi
mov edx, gethostbyaddr
mov rcx, rbx
call fcn.1401bd1d0
mov r8, qword [r12 + 0x20]
lea rdx, str._in_database__s__n
mov r8, qword [r14 + r8]
mov rcx, r12
mov esi, eax
call fcn.1401a5280
movsxd rdx, dword [rbx + 0x98]
mov rdi, rax
cmp dword [rbx + 0x9c], edx
jg 0x1401ac7cb
mov r9d, 3
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0x72]
mov dword [rsp + 0x20], r13d
call fcn.14015d860
mov edx, eax
jmp 0x1401ac7f5
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x98], eax
mov rax, qword [rbx + 0x90]
mov qword [rax + rcx*8], 0x75
mov qword [rax + rcx*8 + 8], 3
mov qword [rax + rcx*8 + 0x10], r13
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], r13b
je 0x1401ac80d
mov r8, rdi
mov edx, 0xfffffff9
call fcn.140145c20
jmp 0x1401ac852
test edx, edx
jns 0x1401ac819
mov edx, dword [rbx + 0x98]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
cmp byte [rax + rcx*8 + 1], r13b
lea rdx, [rax + rcx*8]
je 0x1401ac845
mov r9d, 0xfffffff9
mov r8, rdi
mov rcx, rbx
call fcn.1401dd4c0
jmp 0x1401ac852
test rdi, rdi
je 0x1401ac852
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf9
mov edx, reloc.ODBC32.dll_SQLExecDirectW
mov rcx, rbx
mov dword [rsp + 0x20], 3
lea r9d, [rdx - 0x6c]
lea r8d, [rdx - 0x6d]
call fcn.1401bd2b0
mov rcx, rbx
call fcn.14015ee60
mov edx, esi
mov rcx, rbx
call fcn.1401c71c0
mov r15, qword [r15 + 0x10]
mov qword [rbp - 0x48], r15
test r15, r15
je 0x1401ad47d
nop dword [rax]
nop word [rax + rax]
mov r15, qword [r15 + 0x10]
mov qword [rbp - 0x10], r13
mov dword [rbp - 0x68], 0xffffffff
mov qword [rbp - 0x70], r15
cmp byte [r15 + 0x3f], r13b
jne 0x1401ad464
mov r9, qword [rbp - 0x38]
test r9, r9
je 0x1401ac8cf
cmp r9, r15
jne 0x1401ad464
test byte [r15 + 0x30], 0x80
jne 0x1401ac8dd
mov qword [rsp + 0x70], r13
jmp 0x1401ac907
mov rsi, qword [r15 + 0x10]
mov qword [rsp + 0x70], rsi
test rsi, rsi
je 0x1401ac907
nop dword [rax + rax]
mov eax, dword [rsi + 0x64]
and al, 3
cmp al, 2
je 0x1401ac902
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x1401ac8f0
mov qword [rsp + 0x70], rsi
mov r14, qword [rbp + 0x60]
lea rax, [rbp - 0x64]
mov r12d, 1
mov qword [rsp + 0x38], rax
lea rax, [rbp - 0x60]
lea r8d, [r12 + 0x64]
mov qword [rsp + 0x30], rax
xor r9d, r9d
mov rdx, r15
mov rcx, r14
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r12d
call fcn.1401a6310
lea r9d, [r12 + 6]
lea edx, [r12 + 0x46]
xor r8d, r8d
mov rcx, rbx
call fcn.1401bd240
mov rdi, qword [r15 + 0x10]
test rdi, rdi
je 0x1401ac980
mov esi, 8
xor r8d, r8d
mov r9d, esi
mov rcx, rbx
lea edx, [r8 + 0x47]
call fcn.1401bd240
mov rdi, qword [rdi + 0x28]
inc esi
test rdi, rdi
jne 0x1401ac963
mov edi, dword [rbp - 0x60]
xor r9d, r9d
mov rcx, rbx
lea edx, [r9 + 0x26]
mov r8d, edi
call fcn.1401bd240
mov edx, 0x55
mov r9d, r12d
lea r8d, [rdx - 0x4e]
mov rcx, rbx
call fcn.1401bd240
mov dword [rbp - 0x30], eax
cmp qword [rbp - 0x40], r13
jne 0x1401ac9f2
movsx r9d, word [r15 + 0x38]
mov r8d, edi
mov edx, 0x5d
mov rcx, rbx
dec r9d
mov dword [rsp + 0x20], 3
call fcn.1401bd2b0
movsxd rcx, dword [rbx + 0x98]
test ecx, ecx
jle 0x1401ac9f2
mov rax, qword [rbx + 0x90]
lea rcx, [rcx + rcx*2]
mov edx, pe_nt_image_headers64
mov word [rax + rcx*8 - 0x16], dx
mov r12d, r13d
cmp r13w, word [r15 + 0x36]
jge 0x1401acd63
movzx ecx, word [r15 + 0x32]
mov rdi, r13
mov qword [rbp - 0x18], r13
and ecx, 1
mov qword [rbp - 0x20], rcx
nop dword [rax]
nop word [rax + rax]
mov rsi, qword [r15 + 8]
movsx eax, word [r15 + 0x34]
add rsi, rdi
cmp r12d, eax
je 0x1401acd46
test byte [rsi + 8], 0xf
jne 0x1401aca4e
test rcx, rcx
je 0x1401acd46
dec dword [r14 + 0x44]
mov r15d, dword [r14 + 0x44]
jmp 0x1401aca60
test rcx, rcx
je 0x1401aca5d
dec dword [r14 + 0x44]
mov r15d, dword [r14 + 0x44]
jmp 0x1401aca60
mov r15d, r13d
mov r8d, dword [rbp - 0x60]
mov rdx, qword [rbp - 0x70]
mov r9d, r12d
mov rcx, rbx
mov dword [rsp + 0x20], 3
call fcn.14018d370
or edx, 0xffffffff
mov rcx, rbx
call fcn.1401c6990
cmp byte [rax], 0x5d
jne 0x1401acaab
movsxd rax, dword [rbx + 0x98]
test eax, eax
jle 0x1401acaab
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
mov edx, pe_nt_image_headers64
mov word [rax + rcx*8 - 0x16], dx
test byte [rsi + 8], 0xf
je 0x1401acbce
mov edx, reloc.WS2_32.dll_gethostbyaddr
mov rcx, rbx
lea r8d, [rdx - 0x30]
call fcn.1401bd1d0
mov r9, qword [rsi]
mov rcx, qword [rsp + 0x60]
mov r14d, eax
mov rax, qword [rbp - 0x70]
lea rdx, str.NULL_value_in__s._s
mov r8, qword [rax]
call fcn.1401a5280
movsxd rdx, dword [rbx + 0x98]
mov rdi, rax
cmp dword [rbx + 0x9c], edx
jg 0x1401acb14
mov r9d, 3
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0x72]
mov dword [rsp + 0x20], r13d
call fcn.14015d860
mov edx, eax
jmp 0x1401acb3e
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x98], eax
mov rax, qword [rbx + 0x90]
mov qword [rax + rcx*8], 0x75
mov qword [rax + rcx*8 + 8], 3
mov qword [rax + rcx*8 + 0x10], r13
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], r13b
je 0x1401acb56
mov r8, rdi
mov edx, 0xfffffff9
call fcn.140145c20
jmp 0x1401acb9b
test edx, edx
jns 0x1401acb62
mov edx, dword [rbx + 0x98]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
cmp byte [rax + rcx*8 + 1], r13b
lea rdx, [rax + rcx*8]
je 0x1401acb8e
mov r9d, 0xfffffff9
mov r8, rdi
mov rcx, rbx
call fcn.1401dd4c0
jmp 0x1401acb9b
test rdi, rdi
je 0x1401acb9b
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf9
cmp qword [rbp - 0x20], r13
je 0x1401acbb7
mov eax, dword [rsi + 8]
and al, 0xf0
cmp al, 0x10
je 0x1401acbb7
mov edx, r15d
mov rcx, rbx
call fcn.1401c69d0
jmp 0x1401acbbf
mov rcx, rbx
call fcn.14015ee60
mov edx, r14d
mov rcx, rbx
call fcn.1401c71c0
mov rdi, qword [rbp - 0x18]
mov rax, qword [rbp - 0x70]
test dword [rax + 0x30], 0x10000
je 0x1401acd3f
mov eax, dword [rsi + 8]
shr eax, 4
and eax, 0xf
cmp eax, 1
je 0x1401acd39
lea ecx, [rax - 1]
xor r9d, r9d
lea rax, [0x140000000]
movsx eax, byte [rcx + rax + 0x24dbd8]
lea edx, [r9 + 0x15]
lea r8d, [r9 + 3]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401bd2b0
mov r8d, dword [rsi + 8]
shr r8d, 4
mov r14d, eax
mov rax, qword [rbp - 0x70]
mov rdx, qword [rax + 8]
mov r9, qword [rax]
and r8d, 0xf
mov rcx, qword [rdx + rdi]
lea rax, [0x140000000]
dec r8d
mov r8, qword [rax + r8*8 + 0x4b2628]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x60]
lea rdx, str.non__s_value_in__s._s
call fcn.1401a5280
movsxd rdx, dword [rbx + 0x98]
mov rdi, rax
cmp dword [rbx + 0x9c], edx
jg 0x1401acc90
mov r9d, 3
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0x72]
mov dword [rsp + 0x20], r13d
call fcn.14015d860
mov edx, eax
jmp 0x1401accba
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x98], eax
mov rax, qword [rbx + 0x90]
mov qword [rax + rcx*8], 0x75
mov qword [rax + rcx*8 + 8], 3
mov qword [rax + rcx*8 + 0x10], r13
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], r13b
je 0x1401accd2
mov r8, rdi
mov edx, 0xfffffff9
call fcn.140145c20
jmp 0x1401acd17
test edx, edx
jns 0x1401accde
mov edx, dword [rbx + 0x98]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
cmp byte [rax + rcx*8 + 1], r13b
lea rdx, [rax + rcx*8]
je 0x1401acd0a
mov r9d, 0xfffffff9
mov r8, rdi
mov rcx, rbx
call fcn.1401dd4c0
jmp 0x1401acd17
test rdi, rdi
je 0x1401acd17
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf9
mov edx, r15d
mov rcx, rbx
call fcn.1401ca480
mov rcx, rbx
call fcn.14015ee60
mov edx, r14d
mov rcx, rbx
call fcn.1401c71c0
mov rdi, qword [rbp - 0x18]
mov r15, qword [rbp - 0x70]
jmp 0x1401acd42
mov r15, rax
mov rcx, qword [rbp - 0x20]
movsx eax, word [r15 + 0x36]
mov r14, qword [rbp + 0x60]
add rdi, 0x18
inc r12d
mov qword [rbp - 0x18], rdi
cmp r12d, eax
jl 0x1401aca20
mov rdx, qword [r15 + 0x20]
test rdx, rdx
je 0x1401acf16
mov rdi, qword [rsp + 0x60]
mov eax, dword [rdi + 0x30]
bt rax, 9
jb 0x1401acf16
xor r8d, r8d
mov rcx, rdi
call fcn.140192030
mov r15, rax
cmp byte [rdi + 0x67], r13b
jne 0x1401acf02
mov r14d, dword [r14 + 0x44]
mov rsi, qword [rbp + 0x60]
mov ecx, dword [rbp - 0x60]
inc ecx
lea r12d, [r14 - 2]
mov dword [rsi + 0x40], ecx
mov dword [rsi + 0x44], r12d
mov ecx, dword [rax]
dec ecx
movsxd rdi, ecx
test ecx, ecx
jle 0x1401acdf6
mov r12, qword [rbp + 0x60]
mov rsi, rdi
shl rsi, 5
add rsi, 8
add rsi, rax
mov rdx, qword [rsi]
lea r8d, [r14 - 1]
xor r9d, r9d
mov rcx, r12
call fcn.140190d90
dec rdi
lea rsi, [rsi - 0x20]
test rdi, rdi
jg 0x1401acdd0
mov rsi, qword [rbp + 0x60]
lea r12d, [r14 - 2]
mov rdx, qword [r15 + 8]
mov r9d, reloc.WS2_32.dll_recv
mov r8d, r12d
mov rcx, rsi
call fcn.140191290
lea edx, [r14 - 1]
mov rcx, rbx
call fcn.1401ca480
mov rax, qword [rbp - 0x70]
mov rcx, qword [rsp + 0x60]
mov dword [rsi + 0x40], r13d
mov r8, qword [rax]
lea rdx, str.CHECK_constraint_failed_in__s
call fcn.1401a5280
movsxd rdx, dword [rbx + 0x98]
mov rdi, rax
cmp dword [rbx + 0x9c], edx
jg 0x1401ace63
mov r9d, 3
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0x72]
mov dword [rsp + 0x20], r13d
call fcn.14015d860
mov edx, eax
jmp 0x1401ace8d
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x98], eax
mov rax, qword [rbx + 0x90]
mov qword [rax + rcx*8], 0x75
mov qword [rax + rcx*8 + 8], 3
mov qword [rax + rcx*8 + 0x10], r13
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], r13b
je 0x1401acea5
mov r8, rdi
mov edx, 0xfffffff9
call fcn.140145c20
jmp 0x1401aceea
test edx, edx
jns 0x1401aceb1
mov edx, dword [rbx + 0x98]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
cmp byte [rax + rcx*8 + 1], r13b
lea rdx, [rax + rcx*8]
je 0x1401acedd
mov r9d, 0xfffffff9
mov r8, rdi
mov rcx, rbx
call fcn.1401dd4c0
jmp 0x1401aceea
test rdi, rdi
je 0x1401aceea
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf9
mov rcx, rbx
call fcn.14015ee60
mov edx, r12d
mov rcx, rbx
call fcn.1401ca480
mov rdi, qword [rsp + 0x60]
test r15, r15
je 0x1401acf12
mov rdx, r15
mov rcx, rdi
call fcn.140140e00
mov r15, qword [rbp - 0x70]
mov rsi, qword [rbp - 0x40]
test rsi, rsi
jne 0x1401ad302
mov r14, qword [r15 + 0x10]
test r14, r14
je 0x1401ad302
mov eax, dword [rbp - 0x64]
mov rcx, qword [rsp + 0x70]
mov edi, 8
sub edi, eax
mov r12d, eax
mov dword [rbp - 0x4c], eax
mov rax, qword [rbp + 0x60]
mov dword [rbp - 0x50], edi
nop dword [rax]
dec dword [rax + 0x44]
mov esi, dword [rax + 0x44]
cmp rcx, r14
je 0x1401ad2e6
mov ecx, dword [rbp - 0x68]
mov r8d, dword [rbp - 0x60]
xor r9d, r9d
mov dword [rsp + 0x38], ecx
mov rcx, qword [rbp - 0x10]
mov rdx, r14
mov qword [rsp + 0x30], rcx
lea rcx, [rbp - 0x80]
mov qword [rsp + 0x28], rcx
mov rcx, rax
mov dword [rsp + 0x20], r13d
call fcn.14019e990
mov edx, 0x55
lea r8d, [rdi + r12]
lea r9d, [rdx - 0x54]
mov rcx, rbx
mov qword [rbp - 0x10], r14
mov dword [rbp - 0x68], eax
call fcn.1401bd240
movsxd rdi, dword [rbx + 0x98]
movzx r15d, word [r14 + 0x60]
cmp dword [rbx + 0x9c], edi
jg 0x1401acfdd
mov eax, dword [rbp - 0x68]
mov r9d, esi
mov r8d, r12d
mov edx, reloc.ODBC32.dll_SQLFreeHandle
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.14015d860
mov edi, eax
jmp 0x1401ad00d
mov edx, dword [rbp - 0x68]
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [rbx + 0x98], eax
mov rax, qword [rbx + 0x90]
mov dword [rax + rcx*8], reloc.ODBC32.dll_SQLFreeHandle
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r13
mov rax, qword [rbx]
cmp byte [rax + 0x67], r13b
jne 0x1401ad02e
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], r15d
lea r8, str.row
mov edx, 3
mov rcx, rbx
call fcn.1401c7730
mov edx, reloc.ODBC32.dll_SQLExecDirectW
mov rcx, rbx
lea r9d, [rdx - 0x6c]
lea r8d, [rdx - 0x68]
mov dword [rsp + 0x20], 3
call fcn.1401bd2b0
lea r8, str._missing_from_index
mov edx, 4
mov rcx, rbx
call fcn.1401c7730
mov edx, reloc.ODBC32.dll_SQLExecDirectW
mov rcx, rbx
lea r9d, [rdx - 0x6c]
lea r8d, [rdx - 0x6b]
mov dword [rsp + 0x20], 3
call fcn.1401bd2b0
mov r8, qword [r14]
mov edx, 4
mov rcx, rbx
call fcn.1401c7730
mov edx, reloc.ODBC32.dll_SQLExecDirectW
mov rcx, rbx
lea r9d, [rdx - 0x6c]
lea r8d, [rdx - 0x6b]
mov dword [rbp - 0x20], eax
mov dword [rsp + 0x20], 3
call fcn.1401bd2b0
mov rcx, rbx
call fcn.14015ee60
mov edx, edi
mov rcx, rbx
mov esi, eax
mov dword [rbp - 0x18], eax
call fcn.1401c71c0
cmp byte [r14 + 0x62], r13b
je 0x1401ad26b
mov rax, qword [rbp + 0x60]
mov edi, r13d
dec dword [rax + 0x44]
mov r15d, dword [rax + 0x44]
cmp r13w, word [r14 + 0x5e]
jae 0x1401ad14a
mov r12, qword [rbp - 0x70]
mov rsi, r13
nop dword [rax]
mov rax, qword [r14 + 8]
movsx rcx, word [rax + rsi]
test ecx, ecx
js 0x1401ad11d
mov rax, qword [r12 + 8]
lea rcx, [rcx + rcx*2]
test byte [rax + rcx*8 + 8], 0xf
jne 0x1401ad134
mov r8d, dword [rbp - 0x68]
mov r9d, r15d
mov edx, gethostbyaddr
add r8d, edi
mov rcx, rbx
call fcn.1401bd240
movzx eax, word [r14 + 0x5e]
inc edi
add rsi, 2
cmp edi, eax
jl 0x1401ad100
mov r12d, dword [rbp - 0x4c]
mov esi, dword [rbp - 0x18]
mov r8d, r12d
mov edx, 5
mov rcx, rbx
call fcn.1401bd1d0
mov edx, r15d
mov rcx, rbx
mov edi, eax
call fcn.1401c69d0
mov edx, dword [rbx + 0x98]
test edi, edi
jns 0x1401ad174
lea edi, [rdx - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x67], r13b
je 0x1401ad186
lea rax, [0x140539bf8]
jmp 0x1401ad198
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd rdx, dword [rbx + 0x98]
movzx edi, word [r14 + 0x5e]
cmp dword [rbx + 0x9c], edx
jg 0x1401ad1cd
mov eax, dword [rbp - 0x68]
mov r9d, r15d
mov r8d, r12d
mov edx, SQLGetData
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.14015d860
mov edx, eax
jmp 0x1401ad200
mov r8d, dword [rbp - 0x68]
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rbx + 0x98], eax
mov rax, qword [rbx + 0x90]
mov dword [rax + rcx*8], SQLGetData
mov dword [rax + rcx*8 + 4], r12d
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r13
mov rax, qword [rbx]
cmp byte [rax + 0x67], r13b
jne 0x1401ad220
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
mov byte [rax + rcx*8 + 1], 0xfd
mov dword [rax + rcx*8 + 0x10], edi
lea r8, str.non_unique_entry_in_index
mov edx, 3
mov rcx, rbx
call fcn.1401c7730
mov edx, dword [rbp - 0x20]
mov rcx, rbx
call fcn.1401c69d0
mov rcx, qword [rbx + 0x18]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401ad25b
mov r8d, r15d
mov rdx, rbx
call fcn.140174110
jmp 0x1401ad26b
mov rcx, qword [rcx + 0x50]
mov eax, dword [rbx + 0x98]
movsxd rdx, r15d
mov dword [rcx + rdx*4], eax
mov edx, dword [rbx + 0x98]
test esi, esi
jns 0x1401ad278
lea esi, [rdx - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x67], r13b
je 0x1401ad28a
lea rax, [0x140539bf8]
jmp 0x1401ad29c
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
lea rax, [rax + rcx*8]
mov r8d, dword [rbp - 0x80]
mov dword [rax + 8], edx
mov rax, qword [rbp + 0x60]
test r8d, r8d
je 0x1401ad2de
mov r9, qword [rax + 0x10]
not r8d
mov rcx, qword [r9 + 0x18]
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401ad2c9
mov rdx, r9
call fcn.140174110
jmp 0x1401ad2da
mov rcx, qword [rcx + 0x50]
mov eax, dword [r9 + 0x98]
movsxd rdx, r8d
mov dword [rcx + rdx*4], eax
mov rax, qword [rbp + 0x60]
mov edi, dword [rbp - 0x50]
mov rcx, qword [rsp + 0x70]
mov r14, qword [r14 + 0x28]
inc r12d
mov dword [rbp - 0x4c], r12d
test r14, r14
jne 0x1401acf50
mov r15, qword [rbp - 0x70]
mov rsi, qword [rbp - 0x40]
mov edi, dword [rbp - 0x30]
mov r8d, dword [rbp - 0x60]
mov edx, 5
mov r9d, edi
mov rcx, rbx
call fcn.1401bd240
mov edx, dword [rbx + 0x98]
lea ecx, [rdi - 1]
test ecx, ecx
jns 0x1401ad329
lea ecx, [rdx - 1]
mov rax, qword [rbx]
lea r12, [0x140539bf8]
cmp byte [rax + 0x67], r13b
je 0x1401ad33e
mov rax, r12
jmp 0x1401ad350
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
test rsi, rsi
jne 0x1401ad464
lea r8, str.wrong__of_entries_in_index
lea edx, [rsi + 2]
mov rcx, rbx
call fcn.1401c7730
mov rdi, qword [r15 + 0x10]
test rdi, rdi
je 0x1401ad464
mov r15d, dword [rbp - 0x64]
mov rax, qword [rsp + 0x70]
lea r14d, [rsi + 8]
add r15d, 0xfffffff8
nop dword [rax]
cmp rax, rdi
je 0x1401ad454
mov edx, 0x61
lea r8d, [r15 + r14]
mov rcx, rbx
lea r9d, [rdx - 0x5e]
call fcn.1401bd240
xor r9d, r9d
mov r8d, r14d
lea edx, [r9 + 0x35]
mov rcx, rbx
mov dword [rsp + 0x20], 3
call fcn.1401bd2b0
mov esi, eax
movsxd rax, dword [rbx + 0x98]
test eax, eax
jle 0x1401ad3ea
mov rcx, qword [rbx + 0x90]
lea rdx, [rax + rax*2]
mov eax, 0x90
mov word [rcx + rdx*8 - 0x16], ax
mov r8, qword [rdi]
mov edx, 4
mov rcx, rbx
call fcn.1401c7730
mov edx, reloc.ODBC32.dll_SQLExecDirectW
mov rcx, rbx
lea r9d, [rdx - 0x6d]
lea r8d, [rdx - 0x6b]
mov dword [rsp + 0x20], 3
call fcn.1401bd2b0
mov rcx, rbx
call fcn.14015ee60
mov edx, dword [rbx + 0x98]
test esi, esi
jns 0x1401ad42c
lea esi, [rdx - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x67], r13b
je 0x1401ad43a
mov rax, r12
jmp 0x1401ad44c
movsxd rax, esi
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rax, qword [rsp + 0x70]
mov rdi, qword [rdi + 0x28]
inc r14d
test rdi, rdi
jne 0x1401ad390
mov r15, qword [rbp - 0x48]
mov r15, qword [r15]
mov qword [rbp - 0x48], r15
test r15, r15
jne 0x1401ac8a0
mov r12, qword [rsp + 0x60]
mov edi, dword [rsp + 0x6c]
mov rax, qword [rbp - 0x58]
mov r15d, dword [rsp + 0x68]
mov r14, qword [rbp + 0x60]
inc edi
mov dword [rsp + 0x6c], edi
cmp edi, dword [r12 + 0x28]
jl 0x1401ac560
lea rdi, [0x140539bf8]
mov esi, 1
xor r9d, r9d
lea r8, [0x140251db8]
mov rcx, rbx
lea edx, [r9 + 7]
call fcn.1401bd4d0
test rax, rax
je 0x1401ad4fb
sub esi, dword [rbp - 0x78]
lea rcx, [0x140258768]
lea rdx, str.unknown_error
mov qword [rax + 0x40], rcx
mov rcx, qword [str.database_disk_image_is_malformed]
mov byte [rax + 0x31], 0xff
test rcx, rcx
mov dword [rax + 8], esi
mov byte [rax + 0x79], 0xff
cmovne rdx, rcx
mov qword [rax + 0x88], rdx
mov rax, qword [rbx]
mov ecx, dword [rbx + 0x98]
cmp byte [rax + 0x67], r13b
jne 0x1401ad511
mov rdi, qword [rbx + 0x90]
lea eax, [rcx - 2]
mov dword [rdi + 0xc], eax
jmp 0x1401aaa82
test r11, r11
jne 0x1401ad553
mov rcx, r14
call fcn.1401aeb80
test eax, eax
jne 0x1401aaa7d
mov rax, qword [r14]
lea rdi, str.UTF8
mov rcx, rbx
movzx edx, byte [rax + 0x64]
add rdx, rdx
mov rdx, qword [rdi + rdx*8]
call fcn.140176160
jmp 0x1401aaa7d
mov r12, qword [rsp + 0x60]
test byte [r12 + 0x2c], 0x40
jne 0x1401aaa82
mov rax, qword [str.UTF8]
lea rdi, str.UTF8
test rax, rax
je 0x1401ad5cf
nop word [rax + rax]
mov rdx, rax
mov rcx, r11
call fcn.1401b7b70
test eax, eax
je 0x1401ad59e
mov rax, qword [rdi + 0x10]
add rdi, 0x10
test rax, rax
jne 0x1401ad580
jmp 0x1401ad5cf
movzx eax, byte [rdi + 8]
mov edx, 2
test al, al
cmovne edx, eax
mov rax, qword [r12 + 0x20]
mov rcx, qword [rax + 0x18]
mov byte [rcx + 0x71], dl
mov rcx, r12
call fcn.1401b6350
cmp qword [rdi], 0
jne 0x1401aaa82
mov r11, qword [rsp + 0x78]
lea rdx, str.unsupported_encoding:__s
mov r8, r11
mov rcx, r14
call fcn.14018bbc0
jmp 0x1401aaa82
mov esi, dword [rsp + 0x68]
mov edi, dword [r15 + 0x10]
mov rcx, rbx
mov edx, esi
call fcn.1401cb790
test r11, r11
je 0x1401ad64f
test byte [r15 + 9], 8
jne 0x1401ad64f
xor r9d, r9d
lea r8, [0x140252528]
mov rcx, rbx
lea edx, [r9 + 2]
call fcn.1401bd4d0
mov rcx, qword [rsp + 0x78]
lea rdx, [rbp + 0x60]
mov rbx, rax
mov dword [rbp + 0x60], 0
mov dword [rax + 4], esi
mov dword [rax + 0x1c], esi
mov dword [rax + 0x20], edi
call fcn.14019f760
mov ecx, dword [rbp + 0x60]
mov eax, 1
mov dword [rbx + 0x24], ecx
mov word [rbx + 0x1a], ax
jmp 0x1401aaa7d
xor r9d, r9d
lea r8, [0x140252530]
mov rcx, rbx
lea edx, [r9 + 3]
call fcn.1401bd4d0
mov dword [rax + 4], esi
mov dword [rax + 0x1c], esi
mov dword [rax + 0x24], edi
and dword [rbx + 0xd0], 0xffffffdf
jmp 0x1401aaa7d
mov esi, 1
xor edi, edi
mov dword [r14 + 0x38], esi
cmp rdi, 0x27
ja 0x1401ad695
mov r8, qword [r10 + rdi*8 + 0x24dc20]
jmp 0x1401ad698
xor r8d, r8d
inc rdi
test r8, r8
je 0x1401ad66e
mov edx, esi
mov rcx, rbx
call fcn.1401c7730
mov r9d, esi
mov r8d, esi
mov edx, 0x53
mov rcx, rbx
call fcn.1401bd240
lea r10, [0x140000000]
jmp 0x1401ad685
cmp qword [r13], 0
mov r10d, recvfrom
cmovne r10d, dword [rsp + 0x68]
test r11, r11
je 0x1401ad7b3
lea r9, str.full
mov rdx, r11
sub r9, r11
nop dword [rax]
movzx r8d, byte [rdx]
movzx eax, byte [rdx + r9]
cmp r8d, eax
jne 0x1401ad70c
test r8d, r8d
jne 0x1401ad728
lea eax, [r8 + 1]
jmp 0x1401ad7b5
lea rdi, [0x140000000]
movzx ecx, byte [rax + rdi + 0x24e440]
movzx eax, byte [r8 + rdi + 0x24e440]
cmp eax, ecx
jne 0x1401ad72d
inc rdx
jmp 0x1401ad6f0
lea r9, str.restart
mov rdx, r11
sub r9, r11
nop word [rax + rax]
movzx r8d, byte [rdx]
movzx eax, byte [rdx + r9]
cmp r8d, eax
jne 0x1401ad759
test r8d, r8d
jne 0x1401ad76e
lea eax, [r8 + 2]
jmp 0x1401ad7b5
movzx ecx, byte [rax + rdi + 0x24e440]
movzx eax, byte [r8 + rdi + 0x24e440]
cmp eax, ecx
jne 0x1401ad773
inc rdx
jmp 0x1401ad740
lea r9, str.truncate
mov rdx, r11
sub r9, r11
movzx r8d, byte [rdx]
movzx eax, byte [rdx + r9]
cmp r8d, eax
jne 0x1401ad799
test r8d, r8d
jne 0x1401ad7ae
lea eax, [r8 + 3]
jmp 0x1401ad7b5
movzx ecx, byte [rax + rdi + 0x24e440]
movzx eax, byte [r8 + rdi + 0x24e440]
cmp eax, ecx
jne 0x1401ad7b3
inc rdx
jmp 0x1401ad780
xor eax, eax
mov dword [r14 + 0x38], 3
mov r14d, 1
mov r9d, eax
lea edx, [r14 + 5]
mov r8d, r10d
mov rcx, rbx
mov dword [rsp + 0x20], r14d
call fcn.1401bd2b0
lea r9d, [r14 + 2]
lea edx, [r14 + 0x52]
mov r8d, r14d
mov rcx, rbx
call fcn.1401bd240
jmp 0x1401aaa7d
xor edi, edi
test r11, r11
je 0x1401ad81a
lea rdx, [rbp + 0x60]
mov rcx, r11
mov dword [rbp + 0x60], edi
call fcn.14019f760
mov r12, qword [rsp + 0x60]
mov edx, dword [rbp + 0x60]
mov rcx, r12
call fcn.1401140b0
jmp 0x1401ad81f
mov r12, qword [rsp + 0x60]
lea rax, [0x1401cd810]
cmp qword [r12 + 0x168], rax
jne 0x1401ad838
mov edi, dword [r12 + 0x170]
movsxd rdx, edi
mov rcx, rbx
call fcn.140176000
jmp 0x1401aaa82
mov r12, qword [rsp + 0x60]
mov rcx, r12
call fcn.14011d610
jmp 0x1401aaa82
test r11, r11
je 0x1401ad882
lea rdx, [rbp - 0x64]
mov rcx, r11
mov dword [rbp - 0x64], 0
call fcn.14019f760
mov r15d, dword [rbp - 0x64]
test r15b, 2
je 0x1401aaa7d
jmp 0x1401ad888
mov r15d, 0xfffe
mov eax, dword [r14 + 0x34]
mov ecx, dword [rsp + 0x68]
mov rsi, qword [rsp + 0x60]
mov dword [rbp - 0x30], eax
inc eax
mov dword [r14 + 0x34], eax
mov r14, qword [rbp - 0x80]
test r14, r14
je 0x1401ad8ab
mov eax, ecx
jmp 0x1401ad8b0
mov eax, dword [rsi + 0x28]
dec eax
movsxd rdi, eax
cmp r12, rdi
jg 0x1401adb8b
mov r13, r12
sub rdi, r12
shl r13, 5
inc rdi
mov qword [rbp - 0x48], rdi
nop dword [rax]
cmp ecx, 1
je 0x1401adb74
mov r12, qword [rbp + 0x60]
mov edx, ecx
mov rcx, r12
call fcn.140184f10
mov rax, qword [rsi + 0x20]
mov rcx, qword [r13 + rax + 0x18]
mov r14, qword [rcx + 0x10]
test r14, r14
je 0x1401adb70
nop dword [rax]
mov rdi, qword [r14 + 0x10]
test dword [rdi + 0x30], 0x100
je 0x1401adb60
movzx esi, word [rdi + 0x3a]
mov rax, qword [rdi + 0x10]
add si, 0x2e
test rax, rax
je 0x1401ad931
test byte [rax + 0x64], 0x80
je 0x1401ad981
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x1401ad922
test si, si
je 0x1401ad981
mov r8d, dword [rsp + 0x68]
mov edx, dword [rbp - 0x30]
mov rcx, qword [rbp + 0x60]
mov r9, rdi
mov dword [rsp + 0x20], SQLConnectW
call fcn.1401a61c0
mov r9d, dword [rbx + 0x98]
mov r8d, dword [rbp - 0x30]
movsx edx, si
mov ecx, r15d
and ecx, 1
mov dword [rsp + 0x20], edx
mov edx, 0x23
add ecx, 2
add r9d, ecx
mov rcx, rbx
call fcn.1401bd2b0
mov r12, qword [rbp + 0x60]
mov rsi, qword [rsp + 0x60]
mov r9, qword [rdi]
lea rdx, str.ANALYZE___w_.__w_
mov r8, qword [rsi + 0x20]
mov rcx, rsi
mov r8, qword [r13 + r8]
call fcn.1401a5280
mov rdi, rax
test r15b, 1
je 0x1401adaac
movzx eax, byte [r12 + 0x1f]
test al, al
jne 0x1401ad9c4
inc dword [r12 + 0x38]
mov esi, dword [r12 + 0x38]
jmp 0x1401ad9d6
dec al
movzx eax, al
mov byte [r12 + 0x1f], al
mov esi, dword [r12 + rax*4 + 0xd8]
movsxd rdx, dword [rbx + 0x98]
cmp dword [rbx + 0x9c], edx
jg 0x1401ada03
xor r8d, r8d
mov r9d, esi
mov rcx, rbx
lea edx, [r8 + 0x75]
mov dword [rsp + 0x20], 0
call fcn.14015d860
mov edx, eax
jmp 0x1401ada30
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
xor r8d, r8d
mov dword [rbx + 0x98], eax
mov rax, qword [rbx + 0x90]
mov qword [rax + rcx*8], 0x75
mov dword [rax + rcx*8 + 8], esi
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
je 0x1401ada48
mov r8, rdi
mov edx, 0xfffffff9
call fcn.140145c20
jmp 0x1401ada8d
test edx, edx
jns 0x1401ada54
mov edx, dword [rbx + 0x98]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1401ada80
mov r9d, 0xfffffff9
mov r8, rdi
mov rcx, rbx
call fcn.1401dd4c0
jmp 0x1401ada8d
test rdi, rdi
je 0x1401ada8d
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf9
mov r9d, 1
mov r8d, esi
mov rcx, rbx
lea edx, [r9 + 0x52]
call fcn.1401bd240
mov rsi, qword [rsp + 0x60]
jmp 0x1401adb60
movsxd rdx, dword [rbx + 0x98]
cmp dword [rbx + 0x9c], edx
jg 0x1401adada
xor r9d, r9d
xor r8d, r8d
mov edx, __WSAFDIsSet
mov rcx, rbx
mov dword [rsp + 0x20], 0
call fcn.14015d860
mov edx, eax
jmp 0x1401adb03
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
xor r8d, r8d
mov dword [rbx + 0x98], eax
mov rax, qword [rbx + 0x90]
mov qword [rax + rcx*8], __WSAFDIsSet
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
mov rcx, qword [rbx]
cmp byte [rcx + 0x67], 0
je 0x1401adb1b
mov r8, rdi
mov edx, 0xfffffff9
call fcn.140145c20
jmp 0x1401adb60
test edx, edx
jns 0x1401adb27
mov edx, dword [rbx + 0x98]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x90]
cmp byte [rax + rcx*8 + 1], 0
lea rdx, [rax + rcx*8]
je 0x1401adb53
mov r9d, 0xfffffff9
mov r8, rdi
mov rcx, rbx
call fcn.1401dd4c0
jmp 0x1401adb60
test rdi, rdi
je 0x1401adb60
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf9
mov r14, qword [r14]
test r14, r14
jne 0x1401ad900
mov rdi, qword [rbp - 0x48]
mov ecx, dword [rsp + 0x68]
inc ecx
add r13, 0x20
dec rdi
mov qword [rbp - 0x48], rdi
mov dword [rsp + 0x68], ecx
jne 0x1401ad8d0
mov edx, 0xa5
mov rcx, rbx
call fcn.1401bd160
jmp 0x1401aaa7d
test r11, r11
je 0x1401adbbb
lea rdx, [rbp + 0x60]
mov rcx, r11
call fcn.140189050
test eax, eax
jne 0x1401adbbb
mov rcx, qword [rbp + 0x60]
call fcn.14011d720
call fcn.1401d8240
test eax, eax
je 0x1401adbd0
or rax, 0xffffffffffffffff
mov rdx, rax
jmp 0x1401aaa75
mov rcx, qword [0x140539bb8]
test rcx, rcx
je 0x1401adbe9
call qword [0x1404b24f0]
mov rcx, qword [0x140539bb8]
mov rax, qword [0x140539bc0]
mov qword [rbp + 0x60], rax
test rcx, rcx
je 0x1401adc03
call qword [0x1404b2500]
mov rax, qword [rbp + 0x60]
mov rdx, rax
jmp 0x1401aaa75
or rdi, 0xffffffffffffffff
test r11, r11
je 0x1401adc74
lea rdx, [rbp + 0x60]
mov rcx, r11
call fcn.140189050
test eax, eax
jne 0x1401adc74
call fcn.1401d8240
test eax, eax
jne 0x1401adc58
mov rcx, qword [0x140539bb8]
test rcx, rcx
je 0x1401adc46
call qword [0x1404b24f0]
mov rcx, qword [0x140539bb8]
mov rdi, qword [0x140539bc8]
test rcx, rcx
je 0x1401adc58
call qword [0x1404b2500]
mov rcx, qword [rbp + 0x60]
test rcx, rcx
jle 0x1401adc70
test rdi, rdi
je 0x1401adc6b
cmp rdi, rcx
jle 0x1401adc70
call fcn.14011d880
or rdi, 0xffffffffffffffff
call fcn.1401d8240
test eax, eax
jne 0x1401adca8
mov rcx, qword [0x140539bb8]
test rcx, rcx
je 0x1401adc96
call qword [0x1404b24f0]
mov rcx, qword [0x140539bb8]
mov rdi, qword [0x140539bc8]
test rcx, rcx
je 0x1401adca8
call qword [0x1404b2500]
mov rdx, rdi
jmp 0x1401aaa75
test r11, r11
je 0x1401adcf0
lea rdx, [rbp + 0x60]
mov rcx, r11
call fcn.140189050
test eax, eax
jne 0x1401adcf0
mov rax, qword [rbp + 0x60]
test rax, rax
js 0x1401adcf0
mov r12, qword [rsp + 0x60]
mov edi, 0x7fffffff
and eax, edi
jl 0x1401adcf5
mov ecx, 8
cmp eax, ecx
cmovg eax, ecx
mov dword [r12 + 0xb4], eax
jmp 0x1401adcf5
mov r12, qword [rsp + 0x60]
movsxd rdx, dword [r12 + 0xb4]
mov rcx, rbx
call fcn.140176000
jmp 0x1401aaa82
test r11, r11
je 0x1401add3e
lea rdx, [rbp + 0x60]
mov rcx, r11
call fcn.140189050
test eax, eax
jne 0x1401add3e
mov rax, qword [rbp + 0x60]
mov r12, qword [rsp + 0x60]
test rax, rax
js 0x1401add43
mov edi, 0x7fffffff
and eax, edi
mov dword [r12 + 0x2e0], eax
jmp 0x1401add43
mov r12, qword [rsp + 0x60]
movsxd rdx, dword [r12 + 0x2e0]
mov rcx, rbx
call fcn.140176000
jmp 0x1401aaa82
test r11, r11
je 0x1401add82
lea rdx, [rbp + 0x60]
mov rcx, r11
mov dword [rbp + 0x60], 0
call fcn.14019f760
mov r12, qword [rsp + 0x60]
mov edx, dword [rbp + 0x60]
mov rcx, r12
call fcn.1401211d0
jmp 0x1401add87
mov r12, qword [rsp + 0x60]
movsxd rdx, dword [r12 + 0x2e4]
mov rcx, rbx
call fcn.140176000
jmp 0x1401aaa82