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

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x68
mov ebp, r9d
mov r15, r8
mov r12, rdx
mov rsi, rcx
mov ecx, dword [rsp + 0xe0]
mov eax, dword [rsp + 0xd8]
mov ebx, dword [rsp + 0xd0]
mov rdi, qword [rsi]
cmp byte [rdi + 0xc5], 0
je 0x14027ef1b
cmp dword [rdi + 0xc0], 1
jne 0x14027ef5d
mov dword [rsp + 0x48], ecx
mov dword [rsp + 0x38], eax
movzx ecx, byte [rdi + 0xc4]
xor eax, eax
mov dword [rsp + 0x40], ecx
cmp ecx, 1
sete al
lea rcx, str.sqlite_temp_master
lea r15, str.sqlite_master
cmove r15, rcx
lea r13, [rax + rax*4]
add r13, 0xe
test rdi, rdi
je 0x14027ef6d
cmp byte [rdi + 0x67], 0
jne 0x14027ef9f
mov rcx, rdi
mov rdx, r13
call fcn.140239ff0
jmp 0x14027ef75
lea r13, [r15 + 8]
cmp dword [r15 + 8], 0
mov dword [rsp + 0x3c], ebx
je 0x14027efb8
test r12, r12
je 0x14027ef46
mov r14, qword [r12]
test r14, r14
je 0x14027ef46
cmp byte [rdi + 0x67], 0
je 0x14027f147
lea rdx, str.unknown_database__T
mov rcx, rsi
mov r8, r12
call fcn.140235530
jmp 0x14027efec
cmp dword [r15 + 8], 0
je 0x14027efad
lea rdx, str.corrupt_database
jmp 0x14027efe4
mov rcx, r13
call fcn.14022f8d0
mov r14, rax
test rax, rax
je 0x14027ef9f
mov rcx, r14
mov rdx, r15
mov r8, r13
call fcn.14031b320
movups xmm0, xmmword [r12]
movups xmmword [rsi + 0xf8], xmm0
mov r15, r12
jmp 0x14027f059
movups xmm0, xmmword [r12]
movups xmmword [rsi + 0xf8], xmm0
jmp 0x14027efec
mov dword [rsp + 0x3c], ebx
add r15, 8
mov r13, r15
movzx r14d, byte [rdi + 0xc4]
mov r15, r12
mov dword [rsp + 0x48], ecx
test ebp, ebp
je 0x14027effe
cmp dword [r13], 0
mov ecx, 1
je 0x14027f001
cmp r14d, 1
je 0x14027f001
lea rdx, str.temporary_table_name_must_be_unqualified
mov rcx, rsi
call fcn.140235530
nop
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov ecx, r14d
test r15, r15
mov dword [rsp + 0x38], eax
mov dword [rsp + 0x40], ecx
je 0x14027f029
mov r12, qword [r15]
test r12, r12
mov ebx, dword [rsp + 0x3c]
je 0x14027f024
cmp byte [rdi + 0x67], 0
je 0x14027f35f
xor r14d, r14d
jmp 0x14027f030
xor r14d, r14d
mov ebx, dword [rsp + 0x3c]
movzx eax, byte [rsi + 0x11c]
cmp eax, 3
ja 0x14027f122
cmp eax, 2
je 0x14027f122
movups xmm0, xmmword [r15]
movups xmmword [rsi + 0xf8], xmm0
test r14, r14
je 0x14027efec
test ebx, ebx
lea r13, str.table
lea r8, str.view
cmove r8, r13
mov rcx, rsi
mov rdx, r14
mov r9, r14
call fcn.1402b2ef0
test eax, eax
jne 0x14027f51c
cmp byte [rdi + 0xc4], 1
mov eax, 1
cmove ebp, eax
mov rax, qword [rdi + 0x20]
mov edx, dword [rsp + 0x40]
shl rdx, 5
cmp ebp, 1
lea rcx, str.sqlite_temp_master
lea r8, str.sqlite_master
cmove r8, rcx
mov qword [rsp + 0x60], rdx
mov r12, qword [rax + rdx]
mov rcx, qword [rsi]
mov rax, qword [rcx + 0x1f0]
test rax, rax
je 0x14027f0e1
cmp byte [rcx + 0xc5], 0
jne 0x14027f0e1
cmp byte [rsi + 0x11c], 0
je 0x14027f7fd
cmp dword [rsp + 0x38], 0
je 0x14027f1db
mov dword [rsp + 0x3c], ebx
cmp byte [rsi + 0x11c], 0
je 0x14027f263
test rdi, rdi
je 0x14027f3e2
cmp byte [rdi + 0x67], 0
jne 0x14027f512
mov edx, 0x68
mov rcx, rdi
call fcn.140239ff0
jmp 0x14027f3ec
mov rcx, qword [rsi]
test rcx, rcx
je 0x14027f53b
cmp byte [rcx + 0x67], 0
jne 0x14027f049
mov edx, 0x20
call fcn.140239ff0
jmp 0x14027f545
mov edx, dword [r12 + 8]
mov qword [rsp + 0x40], rdx
inc rdx
mov dword [rsp + 0x48], ecx
mov rcx, rdi
mov dword [rsp + 0x38], eax
call fcn.140239ff0
test rax, rax
je 0x14027ef46
mov rbx, rax
mov rcx, rax
mov rdx, r14
mov r14, qword [rsp + 0x40]
mov r8, r14
call fcn.14031b320
mov byte [rbx + r14], 0
movzx eax, byte [rbx]
lea rcx, [0x1403cbc10]
cmp byte [rax + rcx], 0
jns 0x14027f733
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov edx, 1
xor ecx, ecx
movsxd r8, edx
mov r9b, byte [rbx + r8]
cmp r9b, al
jne 0x14027f1d0
cmp byte [rbx + r8 + 1], al
jne 0x14027f72d
inc r8
mov r9d, eax
mov edx, r8d
mov byte [rbx + rcx], r9b
inc rcx
inc edx
jmp 0x14027f1b0
mov rcx, qword [rsi]
mov rax, qword [rcx + 0x1f0]
test rax, rax
je 0x14027f0ec
cmp byte [rcx + 0xc5], 0
jne 0x14027f0ec
cmp byte [rsi + 0x11c], 0
jne 0x14027f0ec
movsxd rdx, ebx
movsxd r8, ebp
lea rdx, [r8 + rdx*2]
lea r8, [0x1403d1129]
movzx edx, byte [r8 + rdx]
mov r8, qword [rsi + 0x158]
mov rcx, qword [rcx + 0x1f8]
mov qword [rsp + 0x28], r8
mov qword [rsp + 0x20], r12
mov r8, r14
xor r9d, r9d
call qword [case.0x140318756.0]
cmp eax, 1
je 0x14027f82c
test eax, 0xfffffffd
jne 0x14027f92a
test eax, eax
jne 0x14027f51c
jmp 0x14027f0ec
mov rax, qword [rdi + 0x20]
mov rcx, qword [rsp + 0x60]
mov r12, qword [rax + rcx]
mov rbp, qword [rsi]
cmp byte [rbp + 0xc5], 0
je 0x14027f57f
mov rcx, rdi
mov rdx, r14
mov r8, r12
call fcn.1402392a0
test rax, rax
je 0x14027f5c9
cmp dword [rsp + 0x48], 0
je 0x14027f8b3
mov rax, qword [rsi + 0x98]
test rax, rax
cmove rax, rsi
mov edx, dword [rax + 0x7c]
mov r8d, 1
mov ecx, dword [rsp + 0x40]
shl r8d, cl
bt edx, ecx
jb 0x14027f2d8
or edx, r8d
mov dword [rax + 0x7c], edx
cmp ecx, 1
jne 0x14027f2d8
mov rcx, rax
call fcn.14023aa70
mov ebx, dword [rsi + 0x38]
inc ebx
mov dword [rsi + 0x38], ebx
mov r15, qword [rsi + 0x10]
test r15, r15
jne 0x14027f314
cmp qword [rsi + 0x98], 0
jne 0x14027f300
mov rax, qword [rsi]
test byte [rax + 0x60], 8
jne 0x14027f300
mov byte [rsi + 0x23], 1
mov rcx, rsi
call fcn.140235880
mov r15, rax
test rax, rax
je 0x14027f51c
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x14027f8f7
lea ecx, [rax + 1]
mov dword [r15 + 0x90], ecx
mov rcx, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 4
mov dword [rcx + rax*8 + 8], ebx
mov dword [rcx + rax*8 + 0xc], 0xffffffff
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x14027f912
mov r13d, dword [r15 + 8]
lea rdx, [r13 + 1]
mov rcx, rdi
call fcn.140239ff0
test rax, rax
je 0x14027f024
mov r14, rax
mov rcx, rax
mov rdx, r12
mov r8, r13
call fcn.14031b320
mov byte [r14 + r13], 0
movzx eax, byte [r14]
lea rcx, [0x1403cbc10]
cmp byte [rax + rcx], 0
jns 0x14027f030
cmp al, 0x5b
movzx ecx, al
mov eax, 0x5d
cmovne eax, ecx
mov edx, 1
xor ecx, ecx
movsxd r8, edx
mov r9b, byte [r14 + r8]
cmp r9b, al
jne 0x14027f3d7
cmp byte [r14 + r8 + 1], al
jne 0x14027f8a7
inc r8
mov r9d, eax
mov edx, r8d
mov byte [r14 + rcx], r9b
inc rcx
inc edx
jmp 0x14027f3b7
mov ecx, 0x68
call fcn.14022f8d0
test rax, rax
je 0x14027f512
xorps xmm0, xmm0
movups xmmword [rax + 0x28], xmm0
movups xmmword [rax + 0x58], xmm0
movups xmmword [rax + 0x48], xmm0
movups xmmword [rax + 0x38], xmm0
movups xmmword [rax + 0x18], xmm0
movups xmmword [rax + 8], xmm0
mov qword [rax], r14
mov word [rax + 0x34], 0xffff
mov rcx, qword [rdi + 0x20]
mov rdx, qword [rsp + 0x60]
mov rcx, qword [rcx + rdx + 0x18]
mov qword [rax + 0x60], rcx
mov dword [rax + 0x2c], 1
mov word [rax + 0x3a], 0xc8
mov qword [rsi + 0x140], rax
cmp byte [rdi + 0xc5], 0
jne 0x14027efec
mov r14, qword [rsi + 0x10]
test r14, r14
jne 0x14027f480
cmp qword [rsi + 0x98], 0
jne 0x14027f46c
mov rax, qword [rsi]
test byte [rax + 0x60], 8
jne 0x14027f46c
mov byte [rsi + 0x23], 1
mov rcx, rsi
call fcn.140235880
mov r14, rax
test rax, rax
je 0x14027efec
mov r15, qword [rsi + 0x98]
test r15, r15
cmove r15, rsi
mov eax, dword [r15 + 0x7c]
mov ebx, 1
mov r13d, dword [rsp + 0x40]
mov ecx, r13d
shl ebx, cl
bt eax, r13d
jb 0x14027f4bb
or eax, ebx
mov dword [r15 + 0x7c], eax
cmp r13d, 1
jne 0x14027f4bb
mov rcx, r15
call fcn.14023aa70
or dword [r15 + 0x78], ebx
or byte [r15 + 0x20], 1
cmp dword [rsp + 0x38], 0
je 0x14027f978
movsxd rax, dword [r14 + 0x90]
cmp dword [r14 + 0x94], eax
jle 0x14027f95d
lea ecx, [rax + 1]
mov dword [r14 + 0x90], ecx
mov rcx, qword [r14 + 0x88]
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0xaa
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 1], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x14027f978
mov dword [rsi + 0x18], 7
inc dword [rsi + 0x30]
mov byte [rsi + 0x1d], 1
mov rcx, rdi
mov rdx, r14
add rsp, 0x68
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
jmp fcn.140239dc0
mov ecx, 0x20
call fcn.14022f8d0
test rax, rax
je 0x14027f049
xorps xmm0, xmm0
movups xmmword [rax + 8], xmm0
mov qword [rax + 0x18], 0
mov qword [rax], r14
movups xmm0, xmmword [r15]
movups xmmword [rax + 8], xmm0
mov rcx, qword [rsi + 0x180]
mov qword [rax + 0x18], rcx
mov qword [rsi + 0x180], rax
jmp 0x14027f049
lea rax, [rsi + 8]
mov qword [rsp + 0x58], rax
mov ebx, dword [rbp + 0x2c]
mov rax, qword [rbp + 0x20]
mov rcx, qword [rax + 0x18]
mov cl, byte [rcx + 0x71]
mov byte [rbp + 0x64], cl
mov rax, qword [rax + 0x18]
test byte [rax + 0x72], 1
jne 0x14027f83d
mov rcx, rbp
xor edx, edx
mov r8, qword [rsp + 0x58]
xor r9d, r9d
call fcn.140261010
test eax, eax
je 0x14027f83d
mov dword [rsi + 0x18], eax
jmp 0x14027f519
mov ecx, dword [rdi + 0x28]
test ecx, ecx
jle 0x14027f0fd
mov r8, qword [rdi + 0x20]
lea rax, [r14 + 1]
mov qword [rsp + 0x48], rax
xor r10d, r10d
lea rbx, [0x1403cba90]
lea r15, str.main
xor eax, eax
cmp r10d, 2
setb al
xor eax, r10d
mov rdx, rax
shl rdx, 5
mov r13, qword [r8 + rdx + 0x18]
test r12, r12
je 0x14027f66d
mov rdx, qword [r8 + rdx]
xor ebp, ebp
movzx r9d, byte [rdx + rbp]
movzx r11d, byte [r12 + rbp]
cmp r9b, r11b
jne 0x14027f62b
test r9, r9
jne 0x14027f635
jmp 0x14027f66d
mov r9b, byte [r9 + rbx]
cmp r9b, byte [r11 + rbx]
jne 0x14027f63a
inc rbp
jmp 0x14027f615
test rax, rax
jne 0x14027f71c
xor eax, eax
movzx edx, byte [rax + r15]
movzx r9d, byte [r12 + rax]
cmp dl, r9b
jne 0x14027f65b
test rdx, rdx
jne 0x14027f668
jmp 0x14027f66d
mov dl, byte [rdx + rbx]
cmp dl, byte [r9 + rbx]
jne 0x14027f71c
inc rax
jmp 0x14027f645
mov rbp, qword [r13 + 0x30]
test rbp, rbp
je 0x14027f6bb
mov r9b, byte [r14]
xor eax, eax
test r9b, r9b
je 0x14027f6a3
mov rdx, qword [rsp + 0x48]
movzx r9d, r9b
movzx r9d, byte [r9 + rbx]
add r9d, eax
imul eax, r9d, 0x9e3779b1
mov r9b, byte [rdx]
inc rdx
test r9b, r9b
jne 0x14027f685
xor edx, edx
div dword [r13 + 0x20]
shl rdx, 4
lea r13, [rdx + rbp]
lea rax, [rdx + rbp]
add rax, 8
jmp 0x14027f6c3
lea rax, [r13 + 0x28]
add r13, 0x24
mov edx, dword [r13]
lea r9, [0x14043f9c0]
test edx, edx
je 0x14027f711
mov rax, qword [rax]
mov r13, qword [rax + 0x18]
xor ebp, ebp
movzx r9d, byte [r13 + rbp]
movzx r11d, byte [r14 + rbp]
cmp r9b, r11b
jne 0x14027f6f2
test r9, r9
jne 0x14027f6fc
jmp 0x14027f70e
mov r9b, byte [r9 + rbx]
cmp r9b, byte [r11 + rbx]
jne 0x14027f701
inc rbp
jmp 0x14027f6db
dec edx
jne 0x14027f6d2
lea r9, [0x14043f9c0]
jmp 0x14027f711
mov r9, rax
cmp qword [r9 + 0x10], 0
jne 0x14027f946
inc r10d
cmp r10d, ecx
jne 0x14027f5f2
jmp 0x14027f0fd
mov eax, ecx
mov byte [rbx + rax], 0
mov r14d, dword [rdi + 0x28]
test r14d, r14d
jle 0x14027f7cc
dec r14d
mov rax, r14
shl rax, 5
add rax, qword [rdi + 0x20]
lea rcx, str.main
lea rdx, [0x1403cba90]
mov r8, qword [rax]
test r8, r8
je 0x14027f78c
xor r9d, r9d
movzx r10d, byte [r8 + r9]
movzx r11d, byte [rbx + r9]
cmp r10b, r11b
jne 0x14027f77d
test r10, r10
jne 0x14027f787
jmp 0x14027f7dc
mov r10b, byte [r10 + rdx]
cmp r10b, byte [r11 + rdx]
jne 0x14027f78c
inc r9
jmp 0x14027f767
mov r8d, r14d
sub r8d, 1
jae 0x14027f7c0
xor r9d, r9d
movzx r10d, byte [r9 + rcx]
movzx r11d, byte [rbx + r9]
cmp r10b, r11b
jne 0x14027f7b1
test r10, r10
jne 0x14027f7bb
jmp 0x14027f8dc
mov r10b, byte [r10 + rdx]
cmp r10b, byte [r11 + rdx]
jne 0x14027f7c0
inc r9
jmp 0x14027f798
add rax, 0xffffffffffffffe0
test r14d, r14d
mov r14d, r8d
jg 0x14027f75c
mov rcx, rdi
mov rdx, rbx
call fcn.140239dc0
jmp 0x14027ef46
mov rcx, rdi
mov rdx, rbx
call fcn.140239dc0
test r14d, r14d
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x48]
jns 0x14027efc3
jmp 0x14027ef46
mov rdx, qword [rsi + 0x158]
mov rcx, qword [rcx + 0x1f8]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r12
mov edx, shutdown
xor r9d, r9d
call qword [case.0x140318756.0]
cmp eax, 1
jne 0x14027f91f
mov ebx, 0x17
lea rdx, str.not_authorized
jmp 0x14027f936
mov dword [rsp + 0x54], ebx
mov edx, dword [rbp + 0x28]
cmp edx, 2
jl 0x14027f889
lea rbx, [rdx - 1]
mov rax, qword [rbp + 0x20]
mov ecx, ebx
shl rcx, 5
mov rax, qword [rax + rcx + 0x18]
test byte [rax + 0x72], 1
jne 0x14027f87c
dec edx
mov rcx, rbp
mov r8, qword [rsp + 0x58]
xor r9d, r9d
call fcn.140261010
test eax, eax
jne 0x14027f5c1
lea rax, [rbx + 1]
mov rdx, rbx
cmp rax, 2
ja 0x14027f849
test byte [rsp + 0x54], 1
jne 0x14027f894
and byte [rbp + 0x2c], 0xfe
cmp byte [rbp + 0x6f], 0
je 0x14027f280
or byte [rbp + 0x2c], 0x10
jmp 0x14027f280
mov eax, ecx
mov byte [r14 + rax], 0
jmp 0x14027f030
cmp byte [rax + 0x3f], 2
lea rax, str.view
cmove r13, rax
lea rdx, str._s__T_already_exists
mov rcx, rsi
mov r8, r13
mov r9, r15
call fcn.140235530
jmp 0x14027f51c
mov rcx, rdi
mov rdx, rbx
call fcn.140239dc0
xor r14d, r14d
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x48]
jmp 0x14027efc3
mov dword [rsp + 0x20], 0xffffffff
mov rcx, r15
mov edx, 4
xor r8d, r8d
mov r9d, ebx
call fcn.14026f1c0
or byte [r15 + 0xc4], 1
jmp 0x14027f51c
test eax, 0xfffffffd
je 0x14027fc27
mov ebx, 1
lea rdx, str.authorizer_malfunction
mov rcx, rsi
call fcn.140235530
mov dword [rsi + 0x18], ebx
jmp 0x14027f51c
lea rdx, str.there_is_already_an_index_named__s
mov rcx, rsi
mov r8, r14
call fcn.140235530
jmp 0x14027f51c
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0xaa
xor r8d, r8d
xor r9d, r9d
call fcn.14026f1c0
mov r15d, dword [rsi + 0x38]
lea ebp, [r15 + 1]
mov dword [rsi + 0x80], ebp
lea r12d, [r15 + 2]
mov dword [rsi + 0x84], r12d
add r15d, 3
mov dword [rsi + 0x38], r15d
movsxd rax, dword [r14 + 0x90]
cmp dword [r14 + 0x94], eax
jle 0x14027f9e2
lea ecx, [rax + 1]
mov dword [r14 + 0x90], ecx
mov rcx, qword [r14 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], reloc.WS2_32.dll_WSAGetLastError
mov dword [rcx + rax*8 + 4], r13d
mov dword [rcx + rax*8 + 8], r15d
mov dword [rcx + rax*8 + 0xc], 2
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x14027f9fd
mov dword [rsp + 0x20], 2
mov rcx, r14
mov edx, reloc.WS2_32.dll_WSAGetLastError
mov r8d, r13d
mov r9d, r15d
call fcn.14026f1c0
or dword [r14 + 0xc4], ebx
mov r13d, dword [r14 + 0x90]
cmp dword [r14 + 0x94], r13d
jle 0x14027fa42
movsxd rax, r13d
lea ecx, [rax + 1]
mov dword [r14 + 0x90], ecx
mov rcx, qword [r14 + 0x88]
lea rax, [rax + rax*2]
mov dword [rcx + rax*8], reloc.WS2_32.dll_recvfrom
mov dword [rcx + rax*8 + 4], r15d
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 8], xmm0
jmp 0x14027fa60
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, reloc.WS2_32.dll_recvfrom
mov r8d, r15d
xor r9d, r9d
call fcn.14026f1c0
mov r13d, eax
mov ebx, dword [rsp + 0x3c]
xor eax, eax
test byte [rdi + 0x30], 2
sete al
lea eax, [rax + rax*2]
inc eax
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jle 0x14027fabf
lea edx, [rcx + 1]
mov dword [r14 + 0x90], edx
mov rdx, qword [r14 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], WSAStartup
mov r8d, dword [rsp + 0x40]
mov dword [rdx + rcx*8 + 4], r8d
mov dword [rdx + rcx*8 + 8], 2
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x14027fadb
mov dword [rsp + 0x20], eax
mov rcx, r14
mov edx, WSAStartup
mov r8d, dword [rsp + 0x40]
mov r9d, 2
call fcn.14026f1c0
movzx eax, byte [rdi + 0x64]
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jle 0x14027fb2c
lea edx, [rcx + 1]
mov dword [r14 + 0x90], edx
mov rdx, qword [r14 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], WSAStartup
mov r8d, dword [rsp + 0x40]
mov dword [rdx + rcx*8 + 4], r8d
mov dword [rdx + rcx*8 + 8], 5
mov dword [rdx + rcx*8 + 0xc], eax
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x14027fb48
mov dword [rsp + 0x20], eax
mov rcx, r14
mov edx, WSAStartup
mov r8d, dword [rsp + 0x40]
mov r9d, 5
call fcn.14026f1c0
mov eax, dword [r14 + 0x90]
mov rcx, qword [r14]
cmp byte [rcx + 0x67], 0
je 0x14027fb61
lea rcx, [0x14043f9e0]
jmp 0x14027fb73
movsxd rcx, r13d
lea rcx, [rcx + rcx*2]
shl rcx, 3
add rcx, qword [r14 + 0x88]
mov r13d, dword [rsp + 0x40]
mov dword [rcx + 8], eax
or dword [rsp + 0x38], ebx
mov eax, dword [r14 + 0x90]
mov edx, dword [r14 + 0x94]
movsxd rcx, eax
je 0x14027fbcd
cmp edx, eax
jle 0x14027fc0a
inc eax
mov dword [r14 + 0x90], eax
mov rax, qword [r14 + 0x88]
lea rcx, [rcx + rcx*2]
mov qword [rax + rcx*8], 0x47
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], 0
mov qword [rax + rcx*8 + 0x10], 0
jmp 0x14027fc55
cmp edx, eax
jle 0x14027fc34
lea edx, [rax + 1]
mov dword [r14 + 0x90], edx
mov rdx, qword [r14 + 0x88]
lea rcx, [rcx + rcx*2]
mov dword [rdx + rcx*8], 0x94
mov dword [rdx + rcx*8 + 4], r13d
mov dword [rdx + rcx*8 + 8], r12d
mov dword [rdx + rcx*8 + 0xc], 1
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x14027fc4f
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x47
xor r8d, r8d
mov r9d, r12d
call fcn.14026f1c0
jmp 0x14027fc55
test eax, eax
jne 0x14027f51c
jmp 0x14027f0e1
mov dword [rsp + 0x20], 1
mov rcx, r14
mov edx, 0x94
mov r8d, r13d
mov r9d, r12d
call fcn.14026f1c0
mov dword [rsi + 0xb8], eax
mov rdi, qword [rsi + 0x10]
test rdi, rdi
jne 0x14027fc80
cmp qword [rsi + 0x98], 0
jne 0x14027fc75
mov rax, qword [rsi]
test byte [rax + 0x60], 8
jne 0x14027fc75
mov byte [rsi + 0x23], 1
mov rcx, rsi
call fcn.140235880
mov rdi, rax
mov eax, dword [rdi + 0x90]
cmp dword [rdi + 0x94], eax
jle 0x14027fcc5
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [rdi + 0x90], edx
mov rdx, qword [rdi + 0x88]
lea rcx, [rcx + rcx*2]
mov qword [rdx + rcx*8], reloc.WS2_32.dll_WSAStartup
mov dword [rdx + rcx*8 + 8], 1
mov dword [rdx + rcx*8 + 0xc], r13d
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x14027fce0
mov dword [rsp + 0x20], r13d
mov rcx, rdi
mov edx, reloc.WS2_32.dll_WSAStartup
xor r8d, r8d
mov r9d, 1
call fcn.14026f1c0
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x14027fd03
mov rcx, qword [rdi + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8 + 1], 0xfd
mov dword [rcx + rax*8 + 0x10], 5
cmp dword [rsi + 0x34], 0
jne 0x14027fd10
mov dword [rsi + 0x34], 1
movsxd rax, dword [r14 + 0x90]
cmp dword [r14 + 0x94], eax
jle 0x14027fd54
lea ecx, [rax + 1]
mov dword [r14 + 0x90], ecx
mov rcx, qword [r14 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x7f
mov dword [rcx + rax*8 + 8], ebp
mov dword [rcx + rax*8 + 0xc], 0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x14027fd6f
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x7f
xor r8d, r8d
mov r9d, ebp
call fcn.14026f1c0
mov eax, dword [r14 + 0x90]
cmp dword [r14 + 0x94], eax
jle 0x14027fdbd
movsxd rcx, eax
lea edx, [rcx + 1]
mov dword [r14 + 0x90], edx
mov rdx, qword [r14 + 0x88]
lea rcx, [rcx + rcx*2]
movabs r8, 0x60000004d
mov qword [rdx + rcx*8], r8
mov dword [rdx + rcx*8 + 8], r15d
mov dword [rdx + rcx*8 + 0xc], 0
mov qword [rdx + rcx*8 + 0x10], 0
jmp 0x14027fddb
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x4d
mov r8d, 6
mov r9d, r15d
call fcn.14026f1c0
mov rcx, qword [r14]
cmp byte [rcx + 0x67], 0
jne 0x14027fe35
test eax, eax
jns 0x14027fdf1
mov eax, dword [r14 + 0x90]
dec eax
mov rcx, qword [r14 + 0x88]
cdqe
lea rax, [rax + rax*2]
cmp byte [rcx + rax*8 + 1], 0
je 0x14027fe20
lea rdx, [rcx + rax*8]
lea r8, [0x1403d1165]
mov rcx, r14
mov r9d, 0xffffffff
call fcn.1402a7890
jmp 0x14027fe35
lea rax, [rcx + rax*8]
inc rax
lea rcx, [0x1403d1165]
mov qword [rax + 0xf], rcx
mov byte [rax], 0xff
movsxd rax, dword [r14 + 0x90]
cmp dword [r14 + 0x94], eax
jle 0x14027fe76
lea ecx, [rax + 1]
mov dword [r14 + 0x90], ecx
mov rcx, qword [r14 + 0x88]
lea rax, [rax + rax*2]
mov qword [rcx + rax*8], 0x80
mov dword [rcx + rax*8 + 8], r15d
mov dword [rcx + rax*8 + 0xc], ebp
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x14027fe8d
mov dword [rsp + 0x20], ebp
mov rcx, r14
mov edx, 0x80
xor r8d, r8d
mov r9d, r15d
call fcn.14026f1c0
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x14027feb3
mov rcx, qword [r14 + 0x88]
dec eax
lea rax, [rax + rax*2]
mov word [rcx + rax*8 + 2], 8
mov eax, dword [r14 + 0x90]
cmp dword [r14 + 0x94], eax
jle 0x14027feed
lea ecx, [rax + 1]
mov dword [r14 + 0x90], ecx
mov rcx, qword [r14 + 0x88]
cdqe
lea rax, [rax + rax*2]
mov byte [rcx + rax*8], 0x7a
xorps xmm0, xmm0
movups xmmword [rcx + rax*8 + 1], xmm0
mov qword [rcx + rax*8 + 0x10], 0
jmp 0x14027efec
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x7a
xor r8d, r8d
xor r9d, r9d
call fcn.14026f1c0
jmp 0x14027efec