Function at 0x1401467e0
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 0x14014683f
cmp qword [rcx + 0xa0], rbx
jne 0x14014682a
test byte [rsi + 0x60], 8
jne 0x14014682a
mov byte [rcx + 0x23], 1
call fcn.14015a170
mov rcx, qword [rbp + 0x60]
mov rbx, rax
test rax, rax
je 0x140146d4b
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 0x1401468a9
cmp byte [rax + 0xc5], 0
je 0x140146879
lea rdx, str.corrupt_database
call fcn.140127e60
jmp 0x140146d43
mov rdx, rdi
mov rcx, rax
mov r14, r13
call fcn.14012ecc0
mov rcx, qword [rbp + 0x60]
mov edx, eax
mov dword [rsp + 0x68], eax
test eax, eax
jns 0x1401468b7
lea rdx, str.unknown_database__T
mov r8, rdi
call fcn.140127e60
jmp 0x140146d43
movzx edx, byte [rax + 0xc4]
mov r14, rdi
mov dword [rsp + 0x68], edx
test edx, edx
js 0x140146d43
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 0x1401468f7
call fcn.140142880
test eax, eax
jne 0x140146d3b
mov rdx, r14
mov r14, qword [rsp + 0x60]
mov rcx, r14
call fcn.140141fb0
mov qword [rbp - 0x28], rax
test rax, rax
je 0x140146d3b
cmp dword [rbp + 0x80], 0
mov rcx, r14
je 0x140146931
lea rdx, [0x1401e6d34]
mov r8, r15
call fcn.140141520
jmp 0x140146939
mov rdx, r15
call fcn.140141fb0
xor r14d, r14d
mov qword [rsp + 0x78], rax
cmp dword [r13 + 8], r14d
jbe 0x14014694c
mov r15, qword [rsi]
jmp 0x14014694f
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.140119380
test eax, eax
jne 0x140146d1d
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 0x1401469ba
call qword [0x140288bd0]
mov rax, qword [rsp + 0x60]
test r15, r15
je 0x1401469d4
mov rdx, r15
mov rcx, rax
call fcn.14012edf0
test eax, eax
js 0x140146a5f
jmp 0x1401469d6
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 0x140146a5a
cmp byte [rdi + 0x11], 0
je 0x140146a07
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x140146a07
mov rcx, rdi
call fcn.1400cf920
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 0x140146a2c
lea r14d, [rax + 0xc]
jmp 0x140146a3b
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 0x140146a5a
dec dword [rdi + 0x14]
jne 0x140146a5a
mov rcx, rdi
call fcn.140177260
mov rdi, qword [rsp + 0x70]
mov r15, qword [rsp + 0x60]
mov rcx, qword [r15 + 0x18]
test rcx, rcx
je 0x140146a73
call qword [0x140288be0]
test r14d, r14d
jne 0x140146b95
mov edi, 1
mov rcx, rbx
mov edx, edi
call fcn.140166a20
mov rax, qword [rbx]
mov r14, qword [rbp - 8]
cmp byte [rax + 0x67], 0
jne 0x140146b7b
mov rsi, qword [rbx + 0xa0]
test r14, r14
jne 0x140146ac9
mov eax, 0x2400
test word [rsi + 8], ax
je 0x140146ac0
mov rcx, rsi
call fcn.14017ac20
jmp 0x140146b7b
mov word [rsi + 8], di
jmp 0x140146b7b
mov rcx, qword [rsi + 0x28]
test rcx, rcx
je 0x140146ada
mov edx, dword [rcx + 0x88]
jmp 0x140146adf
mov edx, 0x3b9aca00
mov rax, qword [rbp - 8]
or r15, 0xffffffffffffffff
nop word [rax + rax]
inc r15
cmp byte [rax + r15], 0
jne 0x140146af0
movsxd rax, edx
lea rdi, [r15 + 1]
cmp r15, rax
jle 0x140146b23
test rcx, rcx
je 0x140146b7b
mov rax, qword [rcx + 0x160]
test rax, rax
je 0x140146b7b
inc dword [rax + 0x30]
mov dword [rax + 0x18], reloc.WS2_32.dll_select
jmp 0x140146b7b
mov eax, 0x20
cmp rdi, rax
cmovg eax, edi
cmp dword [rsi + 0x20], eax
jge 0x140146b46
xor r8d, r8d
mov edx, eax
mov rcx, rsi
call fcn.140164590
test eax, eax
je 0x140146b53
jmp 0x140146b7b
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.140112400
mov rcx, qword [rbp - 8]
call fcn.1400be700
jmp 0x140146d1d
cmp r14d, 0xc
je 0x140146bd0
mov r8, qword [rbp - 8]
test r8, r8
je 0x140146bbd
mov rcx, qword [rbp + 0x60]
lea rdx, [0x1401e3a34]
call fcn.140127e60
mov rcx, qword [rbp - 8]
call fcn.1400be700
mov rax, qword [rbp + 0x60]
mov r12, r15
inc dword [rax + 0x30]
mov dword [rax + 0x18], r14d
jmp 0x140146d22
mov rcx, qword [rbp - 0x28]
call fcn.14010b5f0
mov r15, rax
test rax, rax
je 0x140146d1d
test byte [rax + 9], 1
mov r14, qword [rbp + 0x60]
je 0x140146bff
mov rcx, r14
call fcn.14014ae20
test eax, eax
jne 0x140146d1d
movzx eax, byte [r15 + 9]
test al, 2
jne 0x140146c21
test al, 4
je 0x140146c16
mov r11, qword [rsp + 0x78]
test r11, r11
jne 0x140146c26
mov rdx, r15
mov rcx, rbx
call fcn.1401155a0
mov r11, qword [rsp + 0x78]
movzx eax, byte [r15 + 8]
dec eax
cmp eax, 0x2a
ja case.0x140146c4a.5
lea r10, [0x140000000]
cdqe
mov eax, dword [r10 + rax*4 + 0x14a03c]
add rax, r10
jmp rax
mov r15d, dword [rsp + 0x68]
mov rcx, rbx
mov edx, r15d
call fcn.140167a30
test r11, r11
jne 0x140146c93
add dword [r14 + 0x38], 2
lea r8, [0x1401db838]
lea edx, [r11 + 9]
xor r9d, r9d
mov rcx, rbx
call fcn.140159770
mov dword [rax + 4], r15d
mov dword [rax + 0x1c], r15d
mov dword [rax + 0x94], 0xfffff830
jmp 0x140146d1d
lea rdx, [rbp + 0x60]
mov rcx, r11
mov dword [rbp + 0x60], 0
call fcn.14013ba00
mov edi, dword [rbp + 0x60]
test edi, edi
jns 0x140146cbe
cmp edi, 0x80000000
jne 0x140146cbc
mov edi, 0x7fffffff
jmp 0x140146cbe
neg edi
mov r8d, r15d
xor edx, edx
mov rcx, r14
call fcn.14011a220
mov r9d, 3
mov r8d, r15d
lea edx, [r9 + 0x60]
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.140159550
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.14011e5e0
jmp 0x140146d1d
mov rdi, qword [rsi + 8]
test r11, r11
jne 0x140146d66
test rdi, rdi
je 0x140146d62
mov rax, qword [rdi + 8]
mov eax, dword [rax + 0x34]
movsxd rdx, eax
mov rcx, rbx
call fcn.1401122a0
mov r12, qword [rsp + 0x60]
mov rdx, qword [rbp - 0x28]
mov rcx, r12
call fcn.140124cd0
mov rdx, qword [rsp + 0x78]
mov rcx, r12
call fcn.140124cd0
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 0x140146d12
lea rdx, [rbp + 0x60]
mov rcx, r11
mov dword [rbp + 0x60], 0
call fcn.14013ba00
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.14011e6f0
cmp eax, 7
jne 0x140146d22
mov rcx, r12
call fcn.1401422c0
jmp 0x140146d22
mov rsi, qword [rsi + 8]
or r15, 0xffffffffffffffff
test r11, r11
je 0x140146dd7
lea r9, str.fast
mov rdx, r11
sub r9, r11
movzx r8d, byte [rdx]
movzx eax, byte [r9 + rdx]
cmp r8d, eax
jne 0x140146e3b
test r8d, r8d
jne 0x140146e51
lea r15d, [r8 + 2]
xor r14d, r14d
cmp dword [r13 + 8], 0
mov r12, qword [rsp + 0x60]
jne 0x140146e20
test r15d, r15d
js 0x140146e20
cmp dword [r12 + 0x28], 0
jle 0x140146e20
mov rdi, r14
nop word [rax + rax]
mov rcx, qword [r12 + 0x20]
mov edx, r15d
mov rcx, qword [rdi + rcx + 8]
call fcn.14011e4d0
inc r14d
lea rdi, [rdi + 0x20]
cmp r14d, dword [r12 + 0x28]
jl 0x140146e00
mov edx, r15d
mov rcx, rsi
call fcn.14011e4d0
mov rcx, rbx
movsxd rdx, eax
call fcn.1401122a0
jmp 0x140146d22
movzx ecx, byte [rax + r10 + 0x1dcbb0]
movzx eax, byte [r8 + r10 + 0x1dcbb0]
cmp eax, ecx
jne 0x140146e59
inc rdx
jmp 0x140146dc0
xor r8d, r8d
mov rcx, r11
lea edx, [r8 + 1]
call fcn.1400f9850
xor r14d, r14d
mov ecx, r14d
test al, al
setne cl
mov r15d, ecx
jmp 0x140146dda
mov r15d, dword [rsp + 0x68]
xor esi, esi
mov rcx, r14
mov edx, r15d
mov qword [rbp + 0x60], rsi
call fcn.1401211b0
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 + 0x1dcbb0], 0x70
jne 0x140146ec6
mov r9d, edi
mov r8d, r15d
mov edx, reloc.ODBC32.dll_SQLSetStmtAttrW
mov rcx, rbx
call fcn.1401594e0
jmp 0x140146f11
mov rax, qword [rsp + 0x78]
test rax, rax
je 0x140146ef7
lea rdx, [rbp + 0x60]
mov rcx, rax
call fcn.1401252f0
test eax, eax
jne 0x140146ef7
mov rax, qword [rbp + 0x60]
test rax, rax
js 0x140146ef7
mov ecx, 0xfffffffe
cmp rax, rcx
jle 0x140146efa
mov eax, ecx
jmp 0x140146efa
mov rax, rsi
mov r9d, edi
mov r8d, r15d
mov edx, 0xb1
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140159550
mov r9d, 1
mov r8d, edi
mov rcx, rbx
lea edx, [r9 + 0x52]
call fcn.1401594e0
jmp 0x140146d1d
mov rcx, r11
lea rdi, str.normal
call fcn.1400f8740
mov r8d, eax
mov eax, dword [r13 + 8]
test eax, eax
jne 0x140146fca
cmp r8d, 0xffffffff
jne 0x140146f5f
mov r12, qword [rsp + 0x60]
movzx eax, byte [r12 + 0x69]
jmp 0x140146fff
test eax, eax
jne 0x140146fca
mov r12, qword [rsp + 0x60]
cmp dword [r12 + 0x28], 2
jle 0x140146fc3
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 0x140146fb2
cmp byte [rcx + 0x10], 0
jne 0x140146fb2
mov rax, qword [rcx + 0x120]
test rax, rax
je 0x140146fae
cmp byte [rax + 0x3f], 2
je 0x140146fb2
mov byte [rcx + 8], r8b
inc esi
add rdx, 0x20
cmp esi, dword [r12 + 0x28]
jl 0x140146f80
mov rsi, qword [rbp - 0x48]
mov byte [r12 + 0x69], r8b
jmp 0x140146fcf
mov r12, qword [rsp + 0x60]
mov rax, qword [rsi + 8]
mov rcx, qword [rax + 8]
mov rax, qword [rcx]
test r8d, r8d
js 0x140146ffb
cmp byte [rax + 0x10], 0
jne 0x140146ffb
mov rcx, qword [rax + 0x120]
test rcx, rcx
je 0x140146ff7
cmp byte [rcx + 0x3f], 2
je 0x140146ffb
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.140112400
jmp 0x140146d22
test r11, r11
jne 0x140147024
or esi, 0xffffffff
jmp 0x140147090
or r15, 0xffffffffffffffff
mov rdi, r15
nop dword [rax + rax]
inc rdi
cmp byte [r11 + rdi], 0
jne 0x140147030
and edi, 0x3fffffff
lea r14, str.delete
lea r12, [0x1401db460]
xor esi, esi
cmp r14, r12
je 0x14014708d
mov rdx, qword [r14]
test rdx, rdx
je 0x14014708d
mov r8d, edi
mov rcx, r11
call fcn.1400af200
test eax, eax
je 0x140147079
mov r11, qword [rsp + 0x78]
inc esi
add r14, 8
jmp 0x140147050
cmp esi, 2
jne 0x1401470a3
mov rax, qword [rsp + 0x60]
mov eax, dword [rax + 0x30]
bt rax, 0x1c
jae 0x1401470a8
mov esi, r15d
cmp dword [r13 + 8], 0
jne 0x1401470a8
xor eax, eax
mov dword [r13 + 8], 1
jmp 0x1401470ac
cmp esi, 0xffffffff
je 0x140147090
mov eax, dword [rsp + 0x68]
mov r12, qword [rsp + 0x60]
mov edi, dword [r12 + 0x28]
dec edi
js 0x140147120
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 0x140147110
cmp r15, r12
je 0x1401470ed
cmp dword [r13 + 8], 0
jne 0x140147110
mov edx, edi
mov rcx, rbx
call fcn.140167a30
mov r9d, 1
mov r8d, edi
lea edx, [r9 + 6]
mov rcx, rbx
mov dword [rsp + 0x20], esi
call fcn.140159550
dec r15
sub r14, 0x20
dec edi
jns 0x1401470d0
mov r12, qword [rsp + 0x60]
mov eax, 1
mov rcx, rbx
lea edx, [rax + 0x52]
mov r9d, eax
mov r8d, eax
call fcn.1401594e0
jmp 0x140146d22
mov rax, qword [rsi + 8]
mov qword [rbp + 0x60], 0xfffffffffffffffe
mov rcx, qword [rax + 8]
mov rdi, qword [rcx]
test r11, r11
je 0x140147185
lea rdx, [rbp + 0x60]
mov rcx, r11
call fcn.1401252f0
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 0x140147185
mov qword [rcx + 0x20], rax
mov rdx, qword [rdi + 0xc8]
jmp 0x140146d15
mov rdi, qword [rsi + 8]
test r11, r11
jne 0x1401471a7
mov rcx, rdi
call fcn.14011c1d0
jmp 0x140146d12
mov rcx, r11
call fcn.1400f8490
mov r12, qword [rsp + 0x60]
mov rcx, rdi
mov edx, eax
mov byte [r12 + 0x6a], al
mov esi, eax
call fcn.14011e550
test eax, eax
jne 0x140146d22
lea ecx, [rsi - 1]
cmp ecx, 1
ja 0x140146d22
mov edi, dword [rbx + 0x98]
lea r8, [0x1401db988]
lea edx, [rax + 5]
xor r9d, r9d
mov rcx, rbx
call fcn.140159770
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.140167a30
jmp 0x140146d22
test r11, r11
je 0x140147236
lea rdx, [rbp + 0x60]
mov rcx, r11
call fcn.14013ba00
test eax, eax
je 0x140147236
mov edi, dword [rbp + 0x60]
test edi, edi
jg 0x14014723b
mov edi, 0x7fffffff
mov r8d, dword [rsp + 0x68]
xor edx, edx
mov rcx, r14
call fcn.14011a220
mov esi, 1
mov r8d, edi
lea edx, [rsi + 0x46]
mov r9d, esi
mov rcx, rbx
call fcn.1401594e0
mov r8d, dword [rsp + 0x68]
lea edx, [rsi + 0x3c]
mov rcx, rbx
call fcn.140159470
lea edx, [rsi + 0x52]
mov r8d, esi
mov rcx, rbx
mov edi, eax
call fcn.140159470
lea edx, [rsi + 0x54]
or r9d, 0xffffffff
mov r8d, esi
mov rcx, rbx
call fcn.1401594e0
lea edx, [rsi + 0x30]
mov r9d, edi
mov r8d, esi
mov rcx, rbx
call fcn.1401594e0
mov edx, edi
mov rcx, rbx
call fcn.140163460
jmp 0x140146d1d
test r11, r11
jne 0x1401472c4
mov rax, qword [rsi + 0x18]
movsxd rdx, dword [rax + 0x74]
jmp 0x140146d15
lea rdx, [rbp + 0x60]
mov rcx, r11
mov dword [rbp + 0x60], 0
call fcn.14013ba00
mov rcx, qword [rsi + 0x18]
mov eax, dword [rbp + 0x60]
mov dword [rcx + 0x74], eax
jmp 0x140146ceb
test r11, r11
jne 0x140147325
mov r12, qword [rsp + 0x60]
test byte [r12 + 0x30], 0x20
jne 0x14014730a
xor eax, eax
mov rcx, rbx
movsxd rdx, eax
call fcn.1401122a0
jmp 0x140146d22
mov rcx, qword [rsi + 8]
xor edx, edx
call fcn.14011e840
mov rcx, rbx
movsxd rdx, eax
call fcn.1401122a0
jmp 0x140146d22
lea rdx, [rbp + 0x60]
mov edi, 1
mov rcx, r11
mov dword [rbp + 0x60], edi
call fcn.14013ba00
mov ebx, dword [rbp + 0x60]
test eax, eax
je 0x14014734b
mov rcx, qword [rsi + 8]
mov edx, ebx
call fcn.14011e840
mov rcx, qword [rsp + 0x78]
test ebx, ebx
mov edx, edi
setne r8b
call fcn.1400f9850
mov r12, qword [rsp + 0x60]
test al, al
je 0x140147379
or qword [r12 + 0x30], 0x20
mov rcx, r12
call fcn.140115210
jmp 0x140146d22
and qword [r12 + 0x30], 0xffffffffffffffdf
mov rcx, r12
call fcn.140115210
jmp 0x140146d22
test r11, r11
je 0x14014744f
lea rdx, [rsp + 0x70]
mov rcx, r11
call fcn.1401252f0
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
test rax, rax
cmovs rax, qword [0x140288c78]
cmp dword [r13 + 8], 0
mov qword [rsp + 0x70], rax
jne 0x1401473c7
mov qword [rcx + 0x40], rax
mov eax, dword [rcx + 0x28]
dec eax
movsxd rsi, eax
js 0x14014744f
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 0x140147446
cmp rsi, r12
je 0x1401473fa
cmp dword [r13 + 8], 0
jne 0x140147446
cmp byte [rdi + 0x11], 0
mov r15, qword [rsp + 0x70]
mov r12, qword [rdi + 8]
je 0x14014741a
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x14014741a
mov rcx, rdi
call fcn.1400cf920
mov rcx, qword [r12]
mov qword [rcx + 0xa0], r15
call fcn.140105bf0
cmp byte [rdi + 0x11], 0
je 0x14014743d
dec dword [rdi + 0x14]
jne 0x14014743d
mov rcx, rdi
call fcn.140177260
mov r12, qword [rbp - 0x58]
mov rcx, qword [rsp + 0x60]
sub r14, 0x20
dec rsi
jns 0x1401473e0
mov r12, qword [rsp + 0x60]
mov qword [rsp + 0x70], 0xffffffffffffffff
mov rcx, qword [r12 + 0x18]
test rcx, rcx
je 0x14014746d
call qword [0x140288bd0]
mov r14, qword [rbp - 0x80]
test r14, r14
je 0x14014748b
mov rdx, r14
mov rcx, r12
call fcn.14012edf0
test eax, eax
js 0x140147509
jmp 0x14014748d
xor eax, eax
movsxd rcx, eax
mov rax, qword [r12 + 0x20]
shl rcx, 5
mov rdi, qword [rcx + rax + 8]
test rdi, rdi
je 0x140147509
cmp byte [rdi + 0x11], 0
je 0x1401474ba
inc dword [rdi + 0x14]
cmp byte [rdi + 0x12], 0
jne 0x1401474ba
mov rcx, rdi
call fcn.1400cf920
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 0x1401474de
mov dword [rbp - 0x38], recvfrom
jmp 0x1401474ee
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 0x140147509
dec dword [rdi + 0x14]
jne 0x140147509
mov rcx, rdi
call fcn.140177260
mov rcx, qword [r12 + 0x18]
test rcx, rcx
je 0x140147519
call qword [0x140288be0]
mov rcx, qword [rbp - 0x38]
test ecx, ecx
jne 0x140147533
mov rdx, qword [rsp + 0x70]
mov rcx, rbx
call fcn.1401122a0
jmp 0x140146d22
cmp ecx, 0xc
je 0x140146d22
mov rax, qword [rbp + 0x60]
inc dword [rax + 0x30]
mov dword [rax + 0x18], ecx
jmp 0x140146d22
test r11, r11
jne 0x140147568
mov r12, qword [rsp + 0x60]
mov rcx, rbx
movzx edx, byte [r12 + 0x66]
call fcn.1401122a0
jmp 0x140146d22
mov rcx, r11
call fcn.1400f9990
mov rdi, qword [r14]
movzx ecx, byte [rdi + 0x66]
mov ebx, eax
cmp ecx, eax
je 0x140146d1d
mov rcx, r14
call fcn.1400fb2b0
mov r12, qword [rsp + 0x60]
test eax, eax
jne 0x140146d22
mov byte [rdi + 0x66], bl
jmp 0x140146d22
test r11, r11
jne 0x1401475b7
mov rdx, qword [0x140297868]
mov rcx, rbx
call fcn.140112400
jmp 0x140146d1d
cmp byte [r11], 0
mov r12, qword [rsp + 0x60]
je 0x1401475f6
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 0x1401475e2
cmp dword [rbp + 0x60], eax
jne 0x1401475f6
lea rdx, str.not_a_writable_directory
mov rcx, r14
call fcn.140127e60
jmp 0x140146d22
cmp byte [r12 + 0x66], 1
ja 0x140147606
mov rcx, r14
call fcn.1400fb2b0
mov rcx, qword [0x140297868]
call fcn.1400be700
mov rax, qword [rsp + 0x78]
cmp byte [rax], 0
je 0x140147637
lea rcx, [0x1401e3a34]
mov rdx, rax
call fcn.1400be040
mov qword [0x140297868], rax
jmp 0x140146d22
mov qword [0x140297868], 0
jmp 0x140146d22
test r11, r11
jne 0x140147660
mov rdx, qword [0x140297870]
mov rcx, rbx
call fcn.140112400
jmp 0x140146d1d
cmp byte [r11], 0
mov r12, qword [rsp + 0x60]
je 0x140147693
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 0x1401475e2
cmp dword [rbp + 0x60], eax
je 0x1401475e2
mov rcx, qword [0x140297870]
call fcn.1400be700
mov rax, qword [rsp + 0x78]
cmp byte [rax], 0
je 0x1401476c4
lea rcx, [0x1401e3a34]
mov rdx, rax
call fcn.1400be040
mov qword [0x140297870], rax
jmp 0x140146d22
mov qword [0x140297870], 0
jmp 0x140146d22
test r11, r11
jne 0x1401476e4
movzx eax, byte [rsi + 0x10]
dec eax
jmp 0x140146d12
mov r12, qword [rsp + 0x60]
cmp byte [r12 + 0x65], 0
jne 0x140147705
lea rdx, str.Safety_level_may_not_be_changed_inside_a_transaction
mov rcx, r14
call fcn.140127e60
jmp 0x140146d22
cmp dword [rsp + 0x68], 1
je 0x140146d22
mov r8b, 1
xor edx, edx
mov rcx, r11
call fcn.1400f9850
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.140115210
jmp 0x140146d22
test r11, r11
jne 0x140147773
mov rdx, r15
mov rcx, rbx
call fcn.1401155a0
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.1401122a0
jmp 0x140146d22
mov r12, qword [rsp + 0x60]
mov rdi, qword [r15 + 0x10]
cmp byte [r12 + 0x65], 0
jne 0x140147789
btr rdi, 0xe
xor r8d, r8d
mov rcx, r11
lea edx, [r8 + 1]
call fcn.1400f9850
test al, al
je 0x1401477a3
or qword [r12 + 0x30], rdi
jmp 0x1401477fb
mov rax, rdi
not rax
and qword [r12 + 0x30], rax
cmp rdi, 0x80000
jne 0x1401477c3
mov qword [r12 + 0x2f8], 0
test dil, 1
je 0x1401477fb
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 0x140147815
test r8d, r8d
jne 0x140147832
mov rcx, r12
call fcn.14014c2b0
mov edx, 0xa5
mov rcx, rbx
call fcn.140159400
mov rcx, r12
call fcn.140115210
jmp 0x140146d22
lea r10, [0x140000000]
movzx ecx, byte [rax + r10 + 0x1dcbb0]
movzx eax, byte [r8 + r10 + 0x1dcbb0]
cmp eax, ecx
jne 0x1401477fb
inc rdx
jmp 0x1401477e0
test r11, r11
je 0x140146d1d
mov rdi, qword [rbp + 0x60]
mov rdx, qword [rbp - 0x80]
mov rcx, rdi
call fcn.1401210e0
mov r9, qword [rbp - 0x80]
mov r8, qword [rsp + 0x78]
mov edx, 2
mov rcx, rdi
call fcn.140140e40
mov r13, rax
test rax, rax
je 0x140146d1d
mov r14, qword [rax + 0x10]
xor r12d, r12d
mov dword [rbp + 0x60], r12d
test r14, r14
je 0x140147897
mov ecx, dword [r14 + 0x64]
and cl, 3
cmp cl, 2
je 0x140147897
mov r14, qword [r14 + 0x28]
test r14, r14
jne 0x140147882
mov rdx, rax
mov rcx, rdi
mov dword [rdi + 0x38], 7
call fcn.140167b20
movsx eax, word [r13 + 0x36]
mov rsi, qword [r13 + 8]
xor ecx, ecx
mov edi, ecx
test eax, eax
jle 0x140146d1d
nop
movzx r9d, word [rsi + 0x12]
mov r11d, ecx
test r9b, 0x62
je 0x1401478ff
cmp qword [r15 + 0x10], 0
jne 0x1401478e1
inc r12d
mov dword [rbp + 0x60], r12d
jmp 0x140147a07
test r9b, 0x20
je 0x1401478ef
mov r11d, 2
jmp 0x1401478ff
movzx r11d, r9b
and r11d, 0x40
or r11d, 0x20
shr r11d, 5
test r9b, 1
jne 0x14014790a
mov r10d, ecx
jmp 0x140147946
test r14, r14
jne 0x140147915
lea r10d, [r14 + 1]
jmp 0x140147946
mov ecx, 1
mov r10d, ecx
mov edx, ecx
cmp eax, ecx
jl 0x140147946
mov rcx, qword [r14 + 8]
movsxd r8, eax
nop word [rax + rax]
movsx eax, word [rcx]
cmp eax, edi
je 0x140147946
inc rdx
inc r10d
add rcx, 2
cmp rdx, r8
jle 0x140147930
mov rdx, rsi
mov rcx, r13
call fcn.140121590
cmp r11d, 2
jge 0x140147962
test rax, rax
je 0x140147962
mov r12, qword [rax + 8]
jmp 0x140147965
xor r12d, r12d
test r9b, 4
je 0x140147984
mov rcx, qword [rsi]
or rax, 0xffffffffffffffff
inc rax
cmp byte [rcx + rax], 0
jne 0x140147972
lea rdx, [rcx + 1]
add rdx, rax
jmp 0x1401479aa
mov eax, dword [rsi + 8]
shr eax, 4
and eax, 0xf
je 0x1401479a3
lea ecx, [rax - 1]
lea rax, [0x140000000]
mov rdx, qword [rax + rcx*8 + 0x288d08]
jmp 0x1401479aa
lea rdx, [0x1401d48cb]
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.1401656a0
mov r12d, dword [rbp + 0x60]
xor ecx, ecx
movsx eax, word [r13 + 0x36]
inc edi
add rsi, 0x18
cmp edi, eax
jl 0x1401478c0
jmp 0x140146d1d
mov rdi, qword [rbp - 0x80]
mov rcx, r14
mov dword [r14 + 0x38], 6
mov rdx, rdi
call fcn.1401210e0
mov r12, qword [rsp + 0x60]
xor r15d, r15d
mov dword [rbp + 0x60], r15d
cmp dword [r12 + 0x28], r15d
jle 0x140146d22
mov r14d, r15d
mov qword [rbp - 0x58], r15
or r13, 0xffffffffffffffff
test rdi, rdi
je 0x140147a76
mov rdx, qword [r12 + 0x20]
mov rcx, rdi
mov rdx, qword [r14 + rdx]
call fcn.1400af1b0
test eax, eax
jne 0x140147c31
mov rax, qword [r12 + 0x20]
mov rcx, qword [r14 + rax + 0x18]
mov esi, dword [rcx + 0xc]
add rcx, 8
test esi, esi
je 0x140147b50
nop
mov rax, qword [rcx + 8]
dec esi
test rax, rax
je 0x140147b50
nop
mov r8, qword [rax + 0x10]
cmp word [r8 + 0x36], 0
je 0x140147ab9
mov rax, qword [rax]
test rax, rax
jne 0x140147aa0
jmp 0x140147b50
mov r8, qword [r8]
lea rdx, str.SELECTFROM__w_
mov rcx, r12
call fcn.140141520
mov rdi, rax
test rax, rax
je 0x140147b0f
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.140141070
mov rcx, qword [rbp - 0x40]
call fcn.1400b1210
mov rdx, rdi
mov rcx, r12
call fcn.140124cd0
cmp byte [r12 + 0x67], 0
je 0x140147b3a
mov rcx, qword [r12 + 0x160]
lea rdx, [0x1401d7700]
call fcn.140127e60
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 0x140147a90
mov r13, qword [rcx + 8]
test r13, r13
je 0x140147c2d
nop dword [rax]
mov rax, qword [rsp + 0x78]
mov r15, qword [r13 + 0x10]
test rax, rax
je 0x140147b81
mov rdx, qword [r15]
mov rcx, rax
call fcn.1400af1b0
test eax, eax
jne 0x140147c18
movzx eax, byte [r15 + 0x3f]
cmp al, 2
jne 0x140147b93
lea r12, str.view
jmp 0x140147bba
cmp al, 1
jne 0x140147ba0
lea r12, str.virtual
jmp 0x140147bba
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.14014a150
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.1401656a0
mov r13, qword [r13]
test r13, r13
jne 0x140147b60
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 0x140147a58
jmp 0x140146d22
mov r12, qword [rsp + 0x60]
test r11, r11
je 0x140146d22
mov r14, qword [rbp - 0x80]
mov rdx, r11
mov rcx, r12
mov r8, r14
call fcn.14012fb20
mov rsi, qword [rbp + 0x60]
mov rdi, rax
test rax, rax
jne 0x140147ccf
mov r8, qword [rsp + 0x78]
lea edx, [rax + 2]
mov r9, r14
mov rcx, rsi
call fcn.140140e40
test rax, rax
je 0x140146d22
test byte [rax + 0x30], 0x80
je 0x140146d22
mov rdi, qword [rax + 0x10]
test rdi, rdi
je 0x140146d22
mov eax, dword [rdi + 0x64]
and al, 3
cmp al, 2
je 0x140147cc6
mov rdi, qword [rdi + 0x28]
test rdi, rdi
jne 0x140147cb4
test rdi, rdi
je 0x140146d22
mov rdx, qword [rdi + 0x30]
mov rcx, r12
call fcn.14014e570
cmp qword [r15 + 0x10], 0
je 0x140147cf0
movzx r12d, word [rdi + 0x60]
mov dword [rsi + 0x38], 6
jmp 0x140147cfc
movzx r12d, word [rdi + 0x5e]
mov dword [rsi + 0x38], 3
mov r13, qword [rdi + 0x18]
mov edx, eax
mov rcx, rsi
call fcn.1401211b0
xor ecx, ecx
movsxd r12, r12d
mov r14d, ecx
mov esi, ecx
test r12, r12
jle 0x140146d1d
nop dword [rax]
mov rax, qword [rdi + 8]
movzx edx, word [rax + rsi*2]
test dx, dx
js 0x140147d3d
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.1401656a0
cmp qword [r15 + 0x10], 0
je 0x140147da1
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.1401656a0
mov rax, qword [rbp + 0x60]
mov edx, 0x53
mov rcx, rbx
mov r9d, dword [rax + 0x38]
lea r8d, [rdx - 0x52]
call fcn.1401594e0
inc rsi
inc r14d
mov ecx, 0
cmp rsi, r12
jl 0x140147d20
jmp 0x140146d1d
mov r12, qword [rsp + 0x60]
test r11, r11
je 0x140146d22
mov r8, qword [rbp - 0x80]
mov rdx, r11
mov rcx, r12
call fcn.14012fc40
mov rdi, rax
test rax, rax
je 0x140146d22
mov rdx, qword [rax + 0x60]
mov rcx, r12
call fcn.14014e570
mov rcx, qword [rbp + 0x60]
mov edx, eax
mov dword [rcx + 0x38], 5
call fcn.1401211b0
mov rdi, qword [rdi + 0x10]
xor ecx, ecx
mov esi, ecx
test rdi, rdi
je 0x140146d22
lea r14, [0x1401e6de0]
lea r15, [0x1401e6de4]
lea r13, [0x1401e3774]
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.1401656a0
mov rdi, qword [rdi + 0x28]
inc esi
mov ecx, 0
test rdi, rdi
jne 0x140147e50
jmp 0x140146d1d
mov r12, qword [rsp + 0x60]
mov dword [r14 + 0x38], 3
cmp dword [r12 + 0x28], 0
jle 0x140146d22
xor esi, esi
lea r14, [0x1401dbf9c]
mov edi, esi
nop dword [rax + rax]
mov rdx, qword [r12 + 0x20]
mov rax, qword [rdx + rdi + 8]
test rax, rax
je 0x140147f2b
mov rax, qword [rax + 8]
mov rcx, qword [rax]
mov rax, r14
cmp byte [rcx + 0x13], 0
jne 0x140147f06
mov rax, qword [rcx + 0xd0]
mov qword [rsp + 0x28], rax
mov rax, qword [rdx + rdi]
lea r8, [0x1401e6df0]
mov r9d, esi
mov edx, 1
mov rcx, rbx
mov qword [rsp + 0x20], rax
call fcn.1401656a0
inc esi
add rdi, 0x20
cmp esi, dword [r12 + 0x28]
jl 0x140147ee0
jmp 0x140146d22
mov r12, qword [rsp + 0x60]
mov dword [r14 + 0x38], 2
mov rdi, qword [r12 + 0x270]
test rdi, rdi
je 0x140146d22
xor esi, esi
lea r12d, [rsi + 1]
mov rax, qword [rdi + 0x10]
lea r8, [0x1401e6df4]
mov r9d, esi
mov rcx, qword [rax]
mov edx, r12d
mov qword [rsp + 0x20], rcx
mov rcx, rbx
call fcn.1401656a0
mov rdi, qword [rdi]
inc esi
test rdi, rdi
jne 0x140147f61
jmp 0x140146d1d
mov r12, qword [rsp + 0x60]
lea r15, [0x1402979b8]
mov esi, dword [r12 + 0x2c]
mov dword [r14 + 0x38], 6
lea r14, [0x140297900]
shr esi, 5
mov r12d, 1
and esi, 1
nop dword [rax]
mov rdi, qword [r14]
test rdi, rdi
je 0x140147fea
nop dword [rax + rax]
mov r9d, esi
mov r8d, r12d
mov rdx, rdi
mov rcx, rbx
call fcn.14010b500
mov rdi, qword [rdi + 0x40]
test rdi, rdi
jne 0x140147fd0
add r14, 8
cmp r14, r15
jl 0x140147fc0
mov r12, qword [rsp + 0x60]
mov rdi, qword [r12 + 0x258]
test rdi, rdi
je 0x140146d22
nop dword [rax]
mov rdx, qword [rdi + 0x10]
mov r9d, esi
xor r8d, r8d
mov rcx, rbx
call fcn.14010b500
mov rdi, qword [rdi]
test rdi, rdi
jne 0x140148010
jmp 0x140146d22
mov r12, qword [rsp + 0x60]
mov dword [r14 + 0x38], 1
mov rdi, qword [r12 + 0x228]
test rdi, rdi
je 0x140146d22
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.1401656a0
mov rdi, qword [rdi]
test rdi, rdi
jne 0x140148060
jmp 0x140146d1d
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.1401656a0
add rdi, 0x18
cmp rdi, rsi
jl 0x1401480a0
jmp 0x140146d1d
mov r12, qword [rsp + 0x60]
test r11, r11
je 0x140146d22
mov r8, qword [rbp - 0x80]
mov rdx, r11
mov rcx, r12
call fcn.14012fc40
mov r13, rax
test rax, rax
je 0x140146d22
cmp byte [rax + 0x3f], 0
jne 0x140146d22
mov rdi, qword [rax + 0x48]
test rdi, rdi
je 0x140146d22
mov rdx, qword [rax + 0x60]
mov rcx, r12
call fcn.14014e570
mov rcx, qword [rbp + 0x60]
xor r15d, r15d
mov edx, eax
mov dword [rcx + 0x38], 8
call fcn.1401211b0
lea r9, str.NONE
lea r12d, [r15 + 1]
xor esi, esi
cmp dword [rdi + 0x28], esi
jle 0x1401481bc
lea r14, [rdi + 0x40]
movzx ecx, byte [rdi + 0x2d]
call fcn.1400c8c90
movzx ecx, byte [rdi + 0x2e]
mov r8, rax
call fcn.1400c8c90
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.1401656a0
inc esi
lea r14, [r14 + 0x10]
lea r9, str.NONE
cmp esi, dword [rdi + 0x28]
jl 0x140148140
lea r9, str.NONE
mov rdi, qword [rdi + 8]
inc r15d
test rdi, rdi
jne 0x140148131
jmp 0x140146d1d
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 0x140146d22
mov r14, qword [rbp - 0x80]
nop dword [rax + rax]
test r11, r11
je 0x140148231
mov rcx, qword [rbp + 0x60]
mov r9, r14
mov r8, r11
xor edx, edx
call fcn.140140e40
mov rdi, rax
mov qword [rbp - 0x70], rax
xor eax, eax
jmp 0x14014823c
mov rdi, qword [rax + 0x10]
mov rax, qword [rax]
mov qword [rbp - 0x70], rdi
mov qword [rbp - 0x58], rax
test rdi, rdi
je 0x1401486c4
cmp byte [rdi + 0x3f], 0
jne 0x1401486c4
cmp qword [rdi + 0x48], 0
je 0x1401486c4
mov rdx, qword [rdi + 0x60]
mov rcx, r12
call fcn.14014e570
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.1401211b0
cmp r14d, 1
je 0x1401482c7
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 0x1401482c7
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.1400ffc30
movsx ecx, word [rdi + 0x36]
mov rax, qword [rbp + 0x60]
add ecx, esi
cmp ecx, dword [rax + 0x38]
jle 0x1401482d9
mov dword [rax + 0x38], ecx
mov r9, rdi
mov r8d, r14d
xor edx, edx
mov rcx, rax
mov dword [rsp + 0x20], SQLConnectW
call fcn.140142460
mov r8, qword [rdi]
mov edx, dword [rbp - 0x78]
mov rcx, rbx
call fcn.1401639d0
mov rsi, qword [rdi + 0x48]
mov r15d, 1
test rsi, rsi
je 0x1401483fc
mov rdx, qword [rsi + 0x10]
mov rcx, qword [rsp + 0x60]
mov r8, r13
call fcn.14012fc40
mov rdi, rax
test rax, rax
je 0x1401483e8
mov rax, qword [rbp + 0x60]
xor r13d, r13d
mov qword [rsp + 0x70], r13
cmp r14d, 1
je 0x140148379
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 0x140148379
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.1400ffc30
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.140131b40
test eax, eax
jne 0x140146d1d
mov r13, qword [rsp + 0x70]
test r13, r13
jne 0x1401483bf
mov rcx, qword [rbp + 0x60]
mov r9, rdi
mov r8d, r14d
mov edx, r15d
mov dword [rsp + 0x20], SQLConnectW
call fcn.140142460
jmp 0x1401483e4
mov r9d, dword [r13 + 0x58]
mov r8d, r15d
mov edx, 0x65
mov rcx, rbx
mov dword [rsp + 0x20], r14d
call fcn.140159550
mov rcx, qword [rbp + 0x60]
mov rdx, r13
call fcn.140166b30
mov r13, qword [rbp - 0x80]
mov rsi, qword [rsi + 8]
inc r15d
test rsi, rsi
jne 0x140148312
mov rdi, qword [rbp - 0x70]
mov rax, qword [rbp + 0x60]
cmp dword [rax + 0x34], r15d
jge 0x14014840a
mov dword [rax + 0x34], r15d
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x26]
call fcn.140159470
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 0x14014869a
nop dword [rax + rax]
mov rdx, qword [rsi + 0x10]
mov r8, r13
mov rcx, r12
call fcn.14012fc40
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 0x14014848a
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.140131b40
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 0x1401484a8
mov dword [rdx + 0x38], ecx
cmp dword [rsi + 0x28], 0
jle 0x140148518
mov eax, r8d
mov edi, r8d
mov r14, r12
neg eax
lea r15, [rsi + 0x40]
mov dword [rbp - 0x64], eax
test r12, r12
je 0x1401484ca
mov r9d, dword [r14]
jmp 0x1401484cd
mov r9d, dword [r15]
mov rdx, qword [rbp - 0x70]
xor r8d, r8d
mov rcx, rbx
mov dword [rsp + 0x20], edi
call fcn.140129610
mov r9d, r13d
mov r8d, edi
mov edx, gethostbyaddr
mov rcx, rbx
call fcn.1401594e0
mov eax, dword [rbp - 0x64]
inc edi
add eax, edi
add r15, 0x10
add r14, 4
cmp eax, dword [rsi + 0x28]
jl 0x1401484c0
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 0x1401485dd
mov rcx, qword [rsp + 0x60]
call fcn.14013d0f0
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.1401595d0
movsxd rdx, dword [rbx + 0x98]
cmp dword [rbx + 0x9c], edx
jg 0x140148588
mov r9d, r13d
mov r8d, r14d
mov edx, reloc.ODBC32.dll_SQLFreeHandle
mov rcx, rbx
mov dword [rsp + 0x20], r15d
call fcn.1400f9b00
xor r8d, r8d
mov edx, eax
jmp 0x1401485ba
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 0x14014860d
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 0x14014860d
test r15, r15
je 0x14014860d
mov r9d, dword [rbx + 0x98]
mov dword [rsp + 0x20], r8d
mov edx, 0x20
mov r8d, r14d
mov rcx, rbx
add r9d, 2
call fcn.140159550
mov edx, r13d
mov rcx, rbx
call fcn.140162c70
mov r15d, dword [rbp - 0x78]
xor r8d, r8d
test byte [rdi + 0x30], 0x80
mov rcx, rbx
mov edx, SQLGetDiagFieldW
lea r9d, [r15 + 1]
je 0x14014862a
lea edx, [r8 + 0x4a]
call fcn.1401594e0
mov r9, qword [rsi + 0x10]
lea eax, [r14 - 1]
lea r8, [0x1401e6e0c]
lea edx, [r15 + 2]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1401656a0
mov r9d, 4
lea edx, [r9 + 0x4f]
mov r8d, r15d
mov rcx, rbx
call fcn.1401594e0
mov edx, r13d
mov rcx, rbx
call fcn.140166720
mov rdx, r12
mov r12, qword [rsp + 0x60]
mov rcx, r12
call fcn.140124cd0
mov rsi, qword [rsi + 8]
mov r13, qword [rbp - 0x80]
inc r14d
mov dword [rbp - 0x50], r14d
test rsi, rsi
jne 0x140148440
mov r15d, dword [rbp - 0x60]
xor r8d, r8d
lea r9d, [r15 + 1]
mov rcx, rbx
lea edx, [r8 + 5]
call fcn.1401594e0
mov edx, r15d
mov rcx, rbx
call fcn.140163460
mov esi, dword [rsp + 0x6c]
mov r14, qword [rbp - 0x80]
mov rax, qword [rbp - 0x58]
mov r11, qword [rsp + 0x78]
test rax, rax
jne 0x140148210
jmp 0x140146d22
test r11, r11
je 0x140146d1d
xor r8d, r8d
mov rcx, r11
lea edx, [r8 + 1]
call fcn.1400f9850
mov r12, qword [rsp + 0x60]
test al, al
mov eax, 0
mov rcx, r12
setne al
mov edx, eax
call fcn.14014ba20
jmp 0x140146d22
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 + 0x1dcbb0], 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 0x1401487b4
lea rdx, [rsp + 0x6c]
mov rcx, r12
call fcn.14013ba00
test eax, eax
je 0x14014877e
mov eax, dword [rsp + 0x6c]
mov dword [rbp - 0x78], eax
test eax, eax
jg 0x1401487b4
lea eax, [rsi + 0x64]
jmp 0x1401487b1
test r15d, r15d
js 0x140148799
mov rax, qword [rsp + 0x60]
movsxd rcx, r15d
mov rax, qword [rax + 0x20]
shl rcx, 5
mov r9, qword [rcx + rax]
jmp 0x14014879c
mov r9, rsi
mov r8, r12
xor edx, edx
mov rcx, r14
call fcn.140140e40
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.1401594e0
mov r12, qword [rsp + 0x60]
xor r13d, r13d
movsxd rax, edi
mov dword [rsp + 0x6c], r13d
lea rdi, [0x1402978e8]
mov qword [rbp - 0x40], rax
cmp dword [r12 + 0x28], r13d
jle 0x14014974b
movsxd rax, r15d
mov edi, r13d
mov qword [rbp - 0x58], rax
nop dword [rax + rax]
mov esi, r13d
test rax, rax
js 0x140148811
cmp edi, r15d
jne 0x14014972e
mov edx, edi
mov rcx, r14
call fcn.1401211b0
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 0x140149721
mov r9, qword [rbp - 0x38]
mov rax, qword [r8 + 0x10]
test r9, r9
je 0x14014884e
cmp r9, rax
jne 0x140148874
test byte [rax + 0x30], 0x80
jne 0x140148856
inc edx
mov rax, qword [rax + 0x10]
mov ecx, r13d
test rax, rax
je 0x14014886f
mov rax, qword [rax + 0x28]
inc edx
inc ecx
test rax, rax
jne 0x140148862
cmp ecx, esi
cmovg esi, ecx
mov r8, qword [r8]
test r8, r8
jne 0x140148840
test edx, edx
je 0x140149721
test r9, r9
je 0x14014888b
inc edx
lea eax, [rdx + 1]
mov rcx, r12
movsxd rdx, eax
shl rdx, 2
call fcn.140124e60
mov rdi, rax
test rax, rax
je 0x14014973f
mov r11, qword [rbp - 0x38]
mov r8d, r13d
mov rdx, r13
mov r10d, 1
test r11, r11
je 0x1401488c8
mov r8d, r10d
mov edx, r10d
mov dword [rax + 4], r13d
mov r9, qword [r15 + 0x10]
test r9, r9
je 0x14014891d
mov rcx, qword [r9 + 0x10]
test r11, r11
je 0x1401488df
cmp r11, rcx
jne 0x140148915
test byte [rcx + 0x30], 0x80
jne 0x1401488f1
mov eax, dword [rcx + 0x28]
inc r8d
inc rdx
mov dword [rdi + rdx*4], eax
mov rcx, qword [rcx + 0x10]
test rcx, rcx
je 0x140148915
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 0x140148900
mov r9, qword [r9]
test r9, r9
jne 0x1401488d1
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 0x140148969
mov r9d, r8d
mov edx, 0x9a
mov rcx, rbx
mov r8d, esi
mov dword [rsp + 0x20], r10d
call fcn.1400f9b00
mov edx, eax
jmp 0x140148997
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 0x1401489af
mov r8, rdi
mov edx, 0xfffffff1
call fcn.1400e1ec0
jmp 0x1401489ef
test edx, edx
jns 0x1401489bb
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 0x1401489e7
mov r9d, 0xfffffff1
mov r8, rdi
mov rcx, rbx
call fcn.140179760
jmp 0x1401489ef
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf1
movsxd rax, dword [rbx + 0x98]
test eax, eax
jle 0x140148a11
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.140159470
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.140141520
movsxd rdx, dword [rbx + 0x98]
mov rdi, rax
cmp dword [rbx + 0x9c], edx
jg 0x140148a6b
mov r9d, 3
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0x72]
mov dword [rsp + 0x20], r13d
call fcn.1400f9b00
mov edx, eax
jmp 0x140148a95
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 0x140148aad
mov r8, rdi
mov edx, 0xfffffff9
call fcn.1400e1ec0
jmp 0x140148af2
test edx, edx
jns 0x140148ab9
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 0x140148ae5
mov r9d, 0xfffffff9
mov r8, rdi
mov rcx, rbx
call fcn.140179760
jmp 0x140148af2
test rdi, rdi
je 0x140148af2
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.140159550
mov rcx, rbx
call fcn.1400fb100
mov edx, esi
mov rcx, rbx
call fcn.140163460
mov r15, qword [r15 + 0x10]
mov qword [rbp - 0x48], r15
test r15, r15
je 0x14014971d
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 0x140149704
mov r9, qword [rbp - 0x38]
test r9, r9
je 0x140148b6f
cmp r9, r15
jne 0x140149704
test byte [r15 + 0x30], 0x80
jne 0x140148b7d
mov qword [rsp + 0x70], r13
jmp 0x140148ba7
mov rsi, qword [r15 + 0x10]
mov qword [rsp + 0x70], rsi
test rsi, rsi
je 0x140148ba7
nop dword [rax + rax]
mov eax, dword [rsi + 0x64]
and al, 3
cmp al, 2
je 0x140148ba2
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x140148b90
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.1401425b0
lea r9d, [r12 + 6]
lea edx, [r12 + 0x46]
xor r8d, r8d
mov rcx, rbx
call fcn.1401594e0
mov rdi, qword [r15 + 0x10]
test rdi, rdi
je 0x140148c20
mov esi, 8
xor r8d, r8d
mov r9d, esi
mov rcx, rbx
lea edx, [r8 + 0x47]
call fcn.1401594e0
mov rdi, qword [rdi + 0x28]
inc esi
test rdi, rdi
jne 0x140148c03
mov edi, dword [rbp - 0x60]
xor r9d, r9d
mov rcx, rbx
lea edx, [r9 + 0x26]
mov r8d, edi
call fcn.1401594e0
mov edx, 0x55
mov r9d, r12d
lea r8d, [rdx - 0x4e]
mov rcx, rbx
call fcn.1401594e0
mov dword [rbp - 0x30], eax
cmp qword [rbp - 0x40], r13
jne 0x140148c92
movsx r9d, word [r15 + 0x38]
mov r8d, edi
mov edx, 0x5d
mov rcx, rbx
dec r9d
mov dword [rsp + 0x20], 3
call fcn.140159550
movsxd rcx, dword [rbx + 0x98]
test ecx, ecx
jle 0x140148c92
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 0x140149003
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 0x140148fe6
test byte [rsi + 8], 0xf
jne 0x140148cee
test rcx, rcx
je 0x140148fe6
dec dword [r14 + 0x44]
mov r15d, dword [r14 + 0x44]
jmp 0x140148d00
test rcx, rcx
je 0x140148cfd
dec dword [r14 + 0x44]
mov r15d, dword [r14 + 0x44]
jmp 0x140148d00
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.140129610
or edx, 0xffffffff
mov rcx, rbx
call fcn.140162c30
cmp byte [rax], 0x5d
jne 0x140148d4b
movsxd rax, dword [rbx + 0x98]
test eax, eax
jle 0x140148d4b
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 0x140148e6e
mov edx, reloc.WS2_32.dll_gethostbyaddr
mov rcx, rbx
lea r8d, [rdx - 0x30]
call fcn.140159470
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.140141520
movsxd rdx, dword [rbx + 0x98]
mov rdi, rax
cmp dword [rbx + 0x9c], edx
jg 0x140148db4
mov r9d, 3
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0x72]
mov dword [rsp + 0x20], r13d
call fcn.1400f9b00
mov edx, eax
jmp 0x140148dde
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 0x140148df6
mov r8, rdi
mov edx, 0xfffffff9
call fcn.1400e1ec0
jmp 0x140148e3b
test edx, edx
jns 0x140148e02
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 0x140148e2e
mov r9d, 0xfffffff9
mov r8, rdi
mov rcx, rbx
call fcn.140179760
jmp 0x140148e3b
test rdi, rdi
je 0x140148e3b
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf9
cmp qword [rbp - 0x20], r13
je 0x140148e57
mov eax, dword [rsi + 8]
and al, 0xf0
cmp al, 0x10
je 0x140148e57
mov edx, r15d
mov rcx, rbx
call fcn.140162c70
jmp 0x140148e5f
mov rcx, rbx
call fcn.1400fb100
mov edx, r14d
mov rcx, rbx
call fcn.140163460
mov rdi, qword [rbp - 0x18]
mov rax, qword [rbp - 0x70]
test dword [rax + 0x30], 0x10000
je 0x140148fdf
mov eax, dword [rsi + 8]
shr eax, 4
and eax, 0xf
cmp eax, 1
je 0x140148fd9
lea ecx, [rax - 1]
xor r9d, r9d
lea rax, [0x140000000]
movsx eax, byte [rcx + rax + 0x1dc348]
lea edx, [r9 + 0x15]
lea r8d, [r9 + 3]
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.140159550
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 + 0x288d08]
mov qword [rsp + 0x20], rcx
mov rcx, qword [rsp + 0x60]
lea rdx, str.non__s_value_in__s._s
call fcn.140141520
movsxd rdx, dword [rbx + 0x98]
mov rdi, rax
cmp dword [rbx + 0x9c], edx
jg 0x140148f30
mov r9d, 3
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0x72]
mov dword [rsp + 0x20], r13d
call fcn.1400f9b00
mov edx, eax
jmp 0x140148f5a
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 0x140148f72
mov r8, rdi
mov edx, 0xfffffff9
call fcn.1400e1ec0
jmp 0x140148fb7
test edx, edx
jns 0x140148f7e
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 0x140148faa
mov r9d, 0xfffffff9
mov r8, rdi
mov rcx, rbx
call fcn.140179760
jmp 0x140148fb7
test rdi, rdi
je 0x140148fb7
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf9
mov edx, r15d
mov rcx, rbx
call fcn.140166720
mov rcx, rbx
call fcn.1400fb100
mov edx, r14d
mov rcx, rbx
call fcn.140163460
mov rdi, qword [rbp - 0x18]
mov r15, qword [rbp - 0x70]
jmp 0x140148fe2
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 0x140148cc0
mov rdx, qword [r15 + 0x20]
test rdx, rdx
je 0x1401491b6
mov rdi, qword [rsp + 0x60]
mov eax, dword [rdi + 0x30]
bt rax, 9
jb 0x1401491b6
xor r8d, r8d
mov rcx, rdi
call fcn.14012e2d0
mov r15, rax
cmp byte [rdi + 0x67], r13b
jne 0x1401491a2
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 0x140149096
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.14012d030
dec rdi
lea rsi, [rsi - 0x20]
test rdi, rdi
jg 0x140149070
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.14012d530
lea edx, [r14 - 1]
mov rcx, rbx
call fcn.140166720
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.140141520
movsxd rdx, dword [rbx + 0x98]
mov rdi, rax
cmp dword [rbx + 0x9c], edx
jg 0x140149103
mov r9d, 3
xor r8d, r8d
mov rcx, rbx
lea edx, [r9 + 0x72]
mov dword [rsp + 0x20], r13d
call fcn.1400f9b00
mov edx, eax
jmp 0x14014912d
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 0x140149145
mov r8, rdi
mov edx, 0xfffffff9
call fcn.1400e1ec0
jmp 0x14014918a
test edx, edx
jns 0x140149151
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 0x14014917d
mov r9d, 0xfffffff9
mov r8, rdi
mov rcx, rbx
call fcn.140179760
jmp 0x14014918a
test rdi, rdi
je 0x14014918a
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf9
mov rcx, rbx
call fcn.1400fb100
mov edx, r12d
mov rcx, rbx
call fcn.140166720
mov rdi, qword [rsp + 0x60]
test r15, r15
je 0x1401491b2
mov rdx, r15
mov rcx, rdi
call fcn.1400dd0a0
mov r15, qword [rbp - 0x70]
mov rsi, qword [rbp - 0x40]
test rsi, rsi
jne 0x1401495a2
mov r14, qword [r15 + 0x10]
test r14, r14
je 0x1401495a2
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 0x140149586
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.14013ac30
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.1401594e0
movsxd rdi, dword [rbx + 0x98]
movzx r15d, word [r14 + 0x60]
cmp dword [rbx + 0x9c], edi
jg 0x14014927d
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.1400f9b00
mov edi, eax
jmp 0x1401492ad
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 0x1401492ce
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.1401639d0
mov edx, reloc.ODBC32.dll_SQLExecDirectW
mov rcx, rbx
lea r9d, [rdx - 0x6c]
lea r8d, [rdx - 0x68]
mov dword [rsp + 0x20], 3
call fcn.140159550
lea r8, str._missing_from_index
mov edx, 4
mov rcx, rbx
call fcn.1401639d0
mov edx, reloc.ODBC32.dll_SQLExecDirectW
mov rcx, rbx
lea r9d, [rdx - 0x6c]
lea r8d, [rdx - 0x6b]
mov dword [rsp + 0x20], 3
call fcn.140159550
mov r8, qword [r14]
mov edx, 4
mov rcx, rbx
call fcn.1401639d0
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.140159550
mov rcx, rbx
call fcn.1400fb100
mov edx, edi
mov rcx, rbx
mov esi, eax
mov dword [rbp - 0x18], eax
call fcn.140163460
cmp byte [r14 + 0x62], r13b
je 0x14014950b
mov rax, qword [rbp + 0x60]
mov edi, r13d
dec dword [rax + 0x44]
mov r15d, dword [rax + 0x44]
cmp r13w, word [r14 + 0x5e]
jae 0x1401493ea
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 0x1401493bd
mov rax, qword [r12 + 8]
lea rcx, [rcx + rcx*2]
test byte [rax + rcx*8 + 8], 0xf
jne 0x1401493d4
mov r8d, dword [rbp - 0x68]
mov r9d, r15d
mov edx, gethostbyaddr
add r8d, edi
mov rcx, rbx
call fcn.1401594e0
movzx eax, word [r14 + 0x5e]
inc edi
add rsi, 2
cmp edi, eax
jl 0x1401493a0
mov r12d, dword [rbp - 0x4c]
mov esi, dword [rbp - 0x18]
mov r8d, r12d
mov edx, 5
mov rcx, rbx
call fcn.140159470
mov edx, r15d
mov rcx, rbx
mov edi, eax
call fcn.140162c70
mov edx, dword [rbx + 0x98]
test edi, edi
jns 0x140149414
lea edi, [rdx - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x67], r13b
je 0x140149426
lea rax, [0x1402978e8]
jmp 0x140149438
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 0x14014946d
mov eax, dword [rbp - 0x68]
mov r9d, r15d
mov r8d, r12d
mov edx, SQLGetData
mov rcx, rbx
mov dword [rsp + 0x20], eax
call fcn.1400f9b00
mov edx, eax
jmp 0x1401494a0
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 0x1401494c0
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.1401639d0
mov edx, dword [rbp - 0x20]
mov rcx, rbx
call fcn.140162c70
mov rcx, qword [rbx + 0x18]
not r15d
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x1401494fb
mov r8d, r15d
mov rdx, rbx
call fcn.1401103b0
jmp 0x14014950b
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 0x140149518
lea esi, [rdx - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x67], r13b
je 0x14014952a
lea rax, [0x1402978e8]
jmp 0x14014953c
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 0x14014957e
mov r9, qword [rax + 0x10]
not r8d
mov rcx, qword [r9 + 0x18]
mov eax, dword [rcx + 0x48]
add eax, dword [rcx + 0x44]
jns 0x140149569
mov rdx, r9
call fcn.1401103b0
jmp 0x14014957a
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 0x1401491f0
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.1401594e0
mov edx, dword [rbx + 0x98]
lea ecx, [rdi - 1]
test ecx, ecx
jns 0x1401495c9
lea ecx, [rdx - 1]
mov rax, qword [rbx]
lea r12, [0x1402978e8]
cmp byte [rax + 0x67], r13b
je 0x1401495de
mov rax, r12
jmp 0x1401495f0
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 0x140149704
lea r8, str.wrong__of_entries_in_index
lea edx, [rsi + 2]
mov rcx, rbx
call fcn.1401639d0
mov rdi, qword [r15 + 0x10]
test rdi, rdi
je 0x140149704
mov r15d, dword [rbp - 0x64]
mov rax, qword [rsp + 0x70]
lea r14d, [rsi + 8]
add r15d, 0xfffffff8
nop dword [rax]
cmp rax, rdi
je 0x1401496f4
mov edx, 0x61
lea r8d, [r15 + r14]
mov rcx, rbx
lea r9d, [rdx - 0x5e]
call fcn.1401594e0
xor r9d, r9d
mov r8d, r14d
lea edx, [r9 + 0x35]
mov rcx, rbx
mov dword [rsp + 0x20], 3
call fcn.140159550
mov esi, eax
movsxd rax, dword [rbx + 0x98]
test eax, eax
jle 0x14014968a
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.1401639d0
mov edx, reloc.ODBC32.dll_SQLExecDirectW
mov rcx, rbx
lea r9d, [rdx - 0x6d]
lea r8d, [rdx - 0x6b]
mov dword [rsp + 0x20], 3
call fcn.140159550
mov rcx, rbx
call fcn.1400fb100
mov edx, dword [rbx + 0x98]
test esi, esi
jns 0x1401496cc
lea esi, [rdx - 1]
mov rax, qword [rbx]
cmp byte [rax + 0x67], r13b
je 0x1401496da
mov rax, r12
jmp 0x1401496ec
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 0x140149630
mov r15, qword [rbp - 0x48]
mov r15, qword [r15]
mov qword [rbp - 0x48], r15
test r15, r15
jne 0x140148b40
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 0x140148800
lea rdi, [0x1402978e8]
mov esi, 1
xor r9d, r9d
lea r8, [0x1401e0528]
mov rcx, rbx
lea edx, [r9 + 7]
call fcn.140159770
test rax, rax
je 0x14014979b
sub esi, dword [rbp - 0x78]
lea rcx, [0x1401e6ed8]
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 0x1401497b1
mov rdi, qword [rbx + 0x90]
lea eax, [rcx - 2]
mov dword [rdi + 0xc], eax
jmp 0x140146d22
test r11, r11
jne 0x1401497f3
mov rcx, r14
call fcn.14014ae20
test eax, eax
jne 0x140146d1d
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.140112400
jmp 0x140146d1d
mov r12, qword [rsp + 0x60]
test byte [r12 + 0x2c], 0x40
jne 0x140146d22
mov rax, qword [str.UTF8]
lea rdi, str.UTF8
test rax, rax
je 0x14014986f
nop word [rax + rax]
mov rdx, rax
mov rcx, r11
call fcn.140153e10
test eax, eax
je 0x14014983e
mov rax, qword [rdi + 0x10]
add rdi, 0x10
test rax, rax
jne 0x140149820
jmp 0x14014986f
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.1401525f0
cmp qword [rdi], 0
jne 0x140146d22
mov r11, qword [rsp + 0x78]
lea rdx, str.unsupported_encoding:__s
mov r8, r11
mov rcx, r14
call fcn.140127e60
jmp 0x140146d22
mov esi, dword [rsp + 0x68]
mov edi, dword [r15 + 0x10]
mov rcx, rbx
mov edx, esi
call fcn.140167a30
test r11, r11
je 0x1401498ef
test byte [r15 + 9], 8
jne 0x1401498ef
xor r9d, r9d
lea r8, [0x1401e0c98]
mov rcx, rbx
lea edx, [r9 + 2]
call fcn.140159770
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.14013ba00
mov ecx, dword [rbp + 0x60]
mov eax, 1
mov dword [rbx + 0x24], ecx
mov word [rbx + 0x1a], ax
jmp 0x140146d1d
xor r9d, r9d
lea r8, [0x1401e0ca0]
mov rcx, rbx
lea edx, [r9 + 3]
call fcn.140159770
mov dword [rax + 4], esi
mov dword [rax + 0x1c], esi
mov dword [rax + 0x24], edi
and dword [rbx + 0xd0], 0xffffffdf
jmp 0x140146d1d
mov esi, 1
xor edi, edi
mov dword [r14 + 0x38], esi
cmp rdi, 0x27
ja 0x140149935
mov r8, qword [r10 + rdi*8 + 0x1dc390]
jmp 0x140149938
xor r8d, r8d
inc rdi
test r8, r8
je 0x14014990e
mov edx, esi
mov rcx, rbx
call fcn.1401639d0
mov r9d, esi
mov r8d, esi
mov edx, 0x53
mov rcx, rbx
call fcn.1401594e0
lea r10, [0x140000000]
jmp 0x140149925
cmp qword [r13], 0
mov r10d, recvfrom
cmovne r10d, dword [rsp + 0x68]
test r11, r11
je 0x140149a53
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 0x1401499ac
test r8d, r8d
jne 0x1401499c8
lea eax, [r8 + 1]
jmp 0x140149a55
lea rdi, [0x140000000]
movzx ecx, byte [rax + rdi + 0x1dcbb0]
movzx eax, byte [r8 + rdi + 0x1dcbb0]
cmp eax, ecx
jne 0x1401499cd
inc rdx
jmp 0x140149990
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 0x1401499f9
test r8d, r8d
jne 0x140149a0e
lea eax, [r8 + 2]
jmp 0x140149a55
movzx ecx, byte [rax + rdi + 0x1dcbb0]
movzx eax, byte [r8 + rdi + 0x1dcbb0]
cmp eax, ecx
jne 0x140149a13
inc rdx
jmp 0x1401499e0
lea r9, str.truncate
mov rdx, r11
sub r9, r11
movzx r8d, byte [rdx]
movzx eax, byte [rdx + r9]
cmp r8d, eax
jne 0x140149a39
test r8d, r8d
jne 0x140149a4e
lea eax, [r8 + 3]
jmp 0x140149a55
movzx ecx, byte [rax + rdi + 0x1dcbb0]
movzx eax, byte [r8 + rdi + 0x1dcbb0]
cmp eax, ecx
jne 0x140149a53
inc rdx
jmp 0x140149a20
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.140159550
lea r9d, [r14 + 2]
lea edx, [r14 + 0x52]
mov r8d, r14d
mov rcx, rbx
call fcn.1401594e0
jmp 0x140146d1d
xor edi, edi
test r11, r11
je 0x140149aba
lea rdx, [rbp + 0x60]
mov rcx, r11
mov dword [rbp + 0x60], edi
call fcn.14013ba00
mov r12, qword [rsp + 0x60]
mov edx, dword [rbp + 0x60]
mov rcx, r12
call fcn.1400b0350
jmp 0x140149abf
mov r12, qword [rsp + 0x60]
lea rax, [0x140169ab0]
cmp qword [r12 + 0x168], rax
jne 0x140149ad8
mov edi, dword [r12 + 0x170]
movsxd rdx, edi
mov rcx, rbx
call fcn.1401122a0
jmp 0x140146d22
mov r12, qword [rsp + 0x60]
mov rcx, r12
call fcn.1400b98b0
jmp 0x140146d22
test r11, r11
je 0x140149b22
lea rdx, [rbp - 0x64]
mov rcx, r11
mov dword [rbp - 0x64], 0
call fcn.14013ba00
mov r15d, dword [rbp - 0x64]
test r15b, 2
je 0x140146d1d
jmp 0x140149b28
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 0x140149b4b
mov eax, ecx
jmp 0x140149b50
mov eax, dword [rsi + 0x28]
dec eax
movsxd rdi, eax
cmp r12, rdi
jg 0x140149e2b
mov r13, r12
sub rdi, r12
shl r13, 5
inc rdi
mov qword [rbp - 0x48], rdi
nop dword [rax]
cmp ecx, 1
je 0x140149e14
mov r12, qword [rbp + 0x60]
mov edx, ecx
mov rcx, r12
call fcn.1401211b0
mov rax, qword [rsi + 0x20]
mov rcx, qword [r13 + rax + 0x18]
mov r14, qword [rcx + 0x10]
test r14, r14
je 0x140149e10
nop dword [rax]
mov rdi, qword [r14 + 0x10]
test dword [rdi + 0x30], 0x100
je 0x140149e00
movzx esi, word [rdi + 0x3a]
mov rax, qword [rdi + 0x10]
add si, 0x2e
test rax, rax
je 0x140149bd1
test byte [rax + 0x64], 0x80
je 0x140149c21
mov rax, qword [rax + 0x28]
test rax, rax
jne 0x140149bc2
test si, si
je 0x140149c21
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.140142460
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.140159550
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.140141520
mov rdi, rax
test r15b, 1
je 0x140149d4c
movzx eax, byte [r12 + 0x1f]
test al, al
jne 0x140149c64
inc dword [r12 + 0x38]
mov esi, dword [r12 + 0x38]
jmp 0x140149c76
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 0x140149ca3
xor r8d, r8d
mov r9d, esi
mov rcx, rbx
lea edx, [r8 + 0x75]
mov dword [rsp + 0x20], 0
call fcn.1400f9b00
mov edx, eax
jmp 0x140149cd0
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 0x140149ce8
mov r8, rdi
mov edx, 0xfffffff9
call fcn.1400e1ec0
jmp 0x140149d2d
test edx, edx
jns 0x140149cf4
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 0x140149d20
mov r9d, 0xfffffff9
mov r8, rdi
mov rcx, rbx
call fcn.140179760
jmp 0x140149d2d
test rdi, rdi
je 0x140149d2d
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.1401594e0
mov rsi, qword [rsp + 0x60]
jmp 0x140149e00
movsxd rdx, dword [rbx + 0x98]
cmp dword [rbx + 0x9c], edx
jg 0x140149d7a
xor r9d, r9d
xor r8d, r8d
mov edx, __WSAFDIsSet
mov rcx, rbx
mov dword [rsp + 0x20], 0
call fcn.1400f9b00
mov edx, eax
jmp 0x140149da3
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 0x140149dbb
mov r8, rdi
mov edx, 0xfffffff9
call fcn.1400e1ec0
jmp 0x140149e00
test edx, edx
jns 0x140149dc7
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 0x140149df3
mov r9d, 0xfffffff9
mov r8, rdi
mov rcx, rbx
call fcn.140179760
jmp 0x140149e00
test rdi, rdi
je 0x140149e00
mov qword [rdx + 0x10], rdi
mov byte [rdx + 1], 0xf9
mov r14, qword [r14]
test r14, r14
jne 0x140149ba0
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 0x140149b70
mov edx, 0xa5
mov rcx, rbx
call fcn.140159400
jmp 0x140146d1d
test r11, r11
je 0x140149e5b
lea rdx, [rbp + 0x60]
mov rcx, r11
call fcn.1401252f0
test eax, eax
jne 0x140149e5b
mov rcx, qword [rbp + 0x60]
call fcn.1400b99c0
call fcn.1401744e0
test eax, eax
je 0x140149e70
or rax, 0xffffffffffffffff
mov rdx, rax
jmp 0x140146d15
mov rcx, qword [0x1402978a8]
test rcx, rcx
je 0x140149e89
call qword [0x140288bd0]
mov rcx, qword [0x1402978a8]
mov rax, qword [0x1402978b0]
mov qword [rbp + 0x60], rax
test rcx, rcx
je 0x140149ea3
call qword [0x140288be0]
mov rax, qword [rbp + 0x60]
mov rdx, rax
jmp 0x140146d15
or rdi, 0xffffffffffffffff
test r11, r11
je 0x140149f14
lea rdx, [rbp + 0x60]
mov rcx, r11
call fcn.1401252f0
test eax, eax
jne 0x140149f14
call fcn.1401744e0
test eax, eax
jne 0x140149ef8
mov rcx, qword [0x1402978a8]
test rcx, rcx
je 0x140149ee6
call qword [0x140288bd0]
mov rcx, qword [0x1402978a8]
mov rdi, qword [0x1402978b8]
test rcx, rcx
je 0x140149ef8
call qword [0x140288be0]
mov rcx, qword [rbp + 0x60]
test rcx, rcx
jle 0x140149f10
test rdi, rdi
je 0x140149f0b
cmp rdi, rcx
jle 0x140149f10
call fcn.1400b9b20
or rdi, 0xffffffffffffffff
call fcn.1401744e0
test eax, eax
jne 0x140149f48
mov rcx, qword [0x1402978a8]
test rcx, rcx
je 0x140149f36
call qword [0x140288bd0]
mov rcx, qword [0x1402978a8]
mov rdi, qword [0x1402978b8]
test rcx, rcx
je 0x140149f48
call qword [0x140288be0]
mov rdx, rdi
jmp 0x140146d15
test r11, r11
je 0x140149f90
lea rdx, [rbp + 0x60]
mov rcx, r11
call fcn.1401252f0
test eax, eax
jne 0x140149f90
mov rax, qword [rbp + 0x60]
test rax, rax
js 0x140149f90
mov r12, qword [rsp + 0x60]
mov edi, 0x7fffffff
and eax, edi
jl 0x140149f95
mov ecx, 8
cmp eax, ecx
cmovg eax, ecx
mov dword [r12 + 0xb4], eax
jmp 0x140149f95
mov r12, qword [rsp + 0x60]
movsxd rdx, dword [r12 + 0xb4]
mov rcx, rbx
call fcn.1401122a0
jmp 0x140146d22
test r11, r11
je 0x140149fde
lea rdx, [rbp + 0x60]
mov rcx, r11
call fcn.1401252f0
test eax, eax
jne 0x140149fde
mov rax, qword [rbp + 0x60]
mov r12, qword [rsp + 0x60]
test rax, rax
js 0x140149fe3
mov edi, 0x7fffffff
and eax, edi
mov dword [r12 + 0x2e0], eax
jmp 0x140149fe3
mov r12, qword [rsp + 0x60]
movsxd rdx, dword [r12 + 0x2e0]
mov rcx, rbx
call fcn.1401122a0
jmp 0x140146d22
test r11, r11
je 0x14014a022
lea rdx, [rbp + 0x60]
mov rcx, r11
mov dword [rbp + 0x60], 0
call fcn.14013ba00
mov r12, qword [rsp + 0x60]
mov edx, dword [rbp + 0x60]
mov rcx, r12
call fcn.1400bd470
jmp 0x14014a027
mov r12, qword [rsp + 0x60]
movsxd rdx, dword [r12 + 0x2e4]
mov rcx, rbx
call fcn.1401122a0
jmp 0x140146d22