Function at 0x140297500
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 0x14029759b
cmp dword [rdi + 0xc0], 1
jne 0x1402975dd
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 0x1402975ed
cmp byte [rdi + 0x67], 0
jne 0x14029761f
mov rcx, rdi
mov rdx, r13
call fcn.140252670
jmp 0x1402975f5
lea r13, [r15 + 8]
cmp dword [r15 + 8], 0
mov dword [rsp + 0x3c], ebx
je 0x140297638
test r12, r12
je 0x1402975c6
mov r14, qword [r12]
test r14, r14
je 0x1402975c6
cmp byte [rdi + 0x67], 0
je 0x1402977c7
lea rdx, str.unknown_database__T
mov rcx, rsi
mov r8, r12
call fcn.14024dbb0
jmp 0x14029766c
cmp dword [r15 + 8], 0
je 0x14029762d
lea rdx, str.corrupt_database
jmp 0x140297664
mov rcx, r13
call fcn.140247f50
mov r14, rax
test rax, rax
je 0x14029761f
mov rcx, r14
mov rdx, r15
mov r8, r13
call fcn.140336540
movups xmm0, xmmword [r12]
movups xmmword [rsi + 0xf8], xmm0
mov r15, r12
jmp 0x1402976d9
movups xmm0, xmmword [r12]
movups xmmword [rsi + 0xf8], xmm0
jmp 0x14029766c
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 0x14029767e
cmp dword [r13], 0
mov ecx, 1
je 0x140297681
cmp r14d, 1
je 0x140297681
lea rdx, str.temporary_table_name_must_be_unqualified
mov rcx, rsi
call fcn.14024dbb0
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 0x1402976a9
mov r12, qword [r15]
test r12, r12
mov ebx, dword [rsp + 0x3c]
je 0x1402976a4
cmp byte [rdi + 0x67], 0
je 0x1402979df
xor r14d, r14d
jmp 0x1402976b0
xor r14d, r14d
mov ebx, dword [rsp + 0x3c]
movzx eax, byte [rsi + 0x11c]
cmp eax, 3
ja 0x1402977a2
cmp eax, 2
je 0x1402977a2
movups xmm0, xmmword [r15]
movups xmmword [rsi + 0xf8], xmm0
test r14, r14
je 0x14029766c
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.1402cb570
test eax, eax
jne 0x140297b9c
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 0x140297761
cmp byte [rcx + 0xc5], 0
jne 0x140297761
cmp byte [rsi + 0x11c], 0
je 0x140297e7d
cmp dword [rsp + 0x38], 0
je 0x14029785b
mov dword [rsp + 0x3c], ebx
cmp byte [rsi + 0x11c], 0
je 0x1402978e3
test rdi, rdi
je 0x140297a62
cmp byte [rdi + 0x67], 0
jne 0x140297b92
mov edx, 0x68
mov rcx, rdi
call fcn.140252670
jmp 0x140297a6c
mov rcx, qword [rsi]
test rcx, rcx
je 0x140297bbb
cmp byte [rcx + 0x67], 0
jne 0x1402976c9
mov edx, 0x20
call fcn.140252670
jmp 0x140297bc5
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.140252670
test rax, rax
je 0x1402975c6
mov rbx, rax
mov rcx, rax
mov rdx, r14
mov r14, qword [rsp + 0x40]
mov r8, r14
call fcn.140336540
mov byte [rbx + r14], 0
movzx eax, byte [rbx]
lea rcx, [0x1403f1680]
cmp byte [rax + rcx], 0
jns 0x140297db3
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 0x140297850
cmp byte [rbx + r8 + 1], al
jne 0x140297dad
inc r8
mov r9d, eax
mov edx, r8d
mov byte [rbx + rcx], r9b
inc rcx
inc edx
jmp 0x140297830
mov rcx, qword [rsi]
mov rax, qword [rcx + 0x1f0]
test rax, rax
je 0x14029776c
cmp byte [rcx + 0xc5], 0
jne 0x14029776c
cmp byte [rsi + 0x11c], 0
jne 0x14029776c
movsxd rdx, ebx
movsxd r8, ebp
lea rdx, [r8 + rdx*2]
lea r8, [0x1403f6b99]
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.0x1403339d6.0]
cmp eax, 1
je 0x140297eac
test eax, 0xfffffffd
jne 0x140297faa
test eax, eax
jne 0x140297b9c
jmp 0x14029776c
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 0x140297bff
mov rcx, rdi
mov rdx, r14
mov r8, r12
call fcn.140251920
test rax, rax
je 0x140297c49
cmp dword [rsp + 0x48], 0
je 0x140297f33
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 0x140297958
or edx, r8d
mov dword [rax + 0x7c], edx
cmp ecx, 1
jne 0x140297958
mov rcx, rax
call fcn.1402530f0
mov ebx, dword [rsi + 0x38]
inc ebx
mov dword [rsi + 0x38], ebx
mov r15, qword [rsi + 0x10]
test r15, r15
jne 0x140297994
cmp qword [rsi + 0x98], 0
jne 0x140297980
mov rax, qword [rsi]
test byte [rax + 0x60], 8
jne 0x140297980
mov byte [rsi + 0x23], 1
mov rcx, rsi
call fcn.14024df00
mov r15, rax
test rax, rax
je 0x140297b9c
movsxd rax, dword [r15 + 0x90]
cmp dword [r15 + 0x94], eax
jle 0x140297f77
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 0x140297f92
mov r13d, dword [r15 + 8]
lea rdx, [r13 + 1]
mov rcx, rdi
call fcn.140252670
test rax, rax
je 0x1402976a4
mov r14, rax
mov rcx, rax
mov rdx, r12
mov r8, r13
call fcn.140336540
mov byte [r14 + r13], 0
movzx eax, byte [r14]
lea rcx, [0x1403f1680]
cmp byte [rax + rcx], 0
jns 0x1402976b0
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 0x140297a57
cmp byte [r14 + r8 + 1], al
jne 0x140297f27
inc r8
mov r9d, eax
mov edx, r8d
mov byte [r14 + rcx], r9b
inc rcx
inc edx
jmp 0x140297a37
mov ecx, 0x68
call fcn.140247f50
test rax, rax
je 0x140297b92
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 0x14029766c
mov r14, qword [rsi + 0x10]
test r14, r14
jne 0x140297b00
cmp qword [rsi + 0x98], 0
jne 0x140297aec
mov rax, qword [rsi]
test byte [rax + 0x60], 8
jne 0x140297aec
mov byte [rsi + 0x23], 1
mov rcx, rsi
call fcn.14024df00
mov r14, rax
test rax, rax
je 0x14029766c
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 0x140297b3b
or eax, ebx
mov dword [r15 + 0x7c], eax
cmp r13d, 1
jne 0x140297b3b
mov rcx, r15
call fcn.1402530f0
or dword [r15 + 0x78], ebx
or byte [r15 + 0x20], 1
cmp dword [rsp + 0x38], 0
je 0x140297ff8
movsxd rax, dword [r14 + 0x90]
cmp dword [r14 + 0x94], eax
jle 0x140297fdd
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 0x140297ff8
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.140252440
mov ecx, 0x20
call fcn.140247f50
test rax, rax
je 0x1402976c9
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 0x1402976c9
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 0x140297ebd
mov rcx, rbp
xor edx, edx
mov r8, qword [rsp + 0x58]
xor r9d, r9d
call fcn.140279690
test eax, eax
je 0x140297ebd
mov dword [rsi + 0x18], eax
jmp 0x140297b99
mov ecx, dword [rdi + 0x28]
test ecx, ecx
jle 0x14029777d
mov r8, qword [rdi + 0x20]
lea rax, [r14 + 1]
mov qword [rsp + 0x48], rax
xor r10d, r10d
lea rbx, [0x1403f1500]
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 0x140297ced
mov rdx, qword [r8 + rdx]
xor ebp, ebp
movzx r9d, byte [rdx + rbp]
movzx r11d, byte [r12 + rbp]
cmp r9b, r11b
jne 0x140297cab
test r9, r9
jne 0x140297cb5
jmp 0x140297ced
mov r9b, byte [r9 + rbx]
cmp r9b, byte [r11 + rbx]
jne 0x140297cba
inc rbp
jmp 0x140297c95
test rax, rax
jne 0x140297d9c
xor eax, eax
movzx edx, byte [rax + r15]
movzx r9d, byte [r12 + rax]
cmp dl, r9b
jne 0x140297cdb
test rdx, rdx
jne 0x140297ce8
jmp 0x140297ced
mov dl, byte [rdx + rbx]
cmp dl, byte [r9 + rbx]
jne 0x140297d9c
inc rax
jmp 0x140297cc5
mov rbp, qword [r13 + 0x30]
test rbp, rbp
je 0x140297d3b
mov r9b, byte [r14]
xor eax, eax
test r9b, r9b
je 0x140297d23
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 0x140297d05
xor edx, edx
div dword [r13 + 0x20]
shl rdx, 4
lea r13, [rdx + rbp]
lea rax, [rdx + rbp]
add rax, 8
jmp 0x140297d43
lea rax, [r13 + 0x28]
add r13, 0x24
mov edx, dword [r13]
lea r9, [0x140467be0]
test edx, edx
je 0x140297d91
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 0x140297d72
test r9, r9
jne 0x140297d7c
jmp 0x140297d8e
mov r9b, byte [r9 + rbx]
cmp r9b, byte [r11 + rbx]
jne 0x140297d81
inc rbp
jmp 0x140297d5b
dec edx
jne 0x140297d52
lea r9, [0x140467be0]
jmp 0x140297d91
mov r9, rax
cmp qword [r9 + 0x10], 0
jne 0x140297fc6
inc r10d
cmp r10d, ecx
jne 0x140297c72
jmp 0x14029777d
mov eax, ecx
mov byte [rbx + rax], 0
mov r14d, dword [rdi + 0x28]
test r14d, r14d
jle 0x140297e4c
dec r14d
mov rax, r14
shl rax, 5
add rax, qword [rdi + 0x20]
lea rcx, str.main
lea rdx, [0x1403f1500]
mov r8, qword [rax]
test r8, r8
je 0x140297e0c
xor r9d, r9d
movzx r10d, byte [r8 + r9]
movzx r11d, byte [rbx + r9]
cmp r10b, r11b
jne 0x140297dfd
test r10, r10
jne 0x140297e07
jmp 0x140297e5c
mov r10b, byte [r10 + rdx]
cmp r10b, byte [r11 + rdx]
jne 0x140297e0c
inc r9
jmp 0x140297de7
mov r8d, r14d
sub r8d, 1
jae 0x140297e40
xor r9d, r9d
movzx r10d, byte [r9 + rcx]
movzx r11d, byte [rbx + r9]
cmp r10b, r11b
jne 0x140297e31
test r10, r10
jne 0x140297e3b
jmp 0x140297f5c
mov r10b, byte [r10 + rdx]
cmp r10b, byte [r11 + rdx]
jne 0x140297e40
inc r9
jmp 0x140297e18
add rax, 0xffffffffffffffe0
test r14d, r14d
mov r14d, r8d
jg 0x140297ddc
mov rcx, rdi
mov rdx, rbx
call fcn.140252440
jmp 0x1402975c6
mov rcx, rdi
mov rdx, rbx
call fcn.140252440
test r14d, r14d
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x48]
jns 0x140297643
jmp 0x1402975c6
mov rdx, qword [rsi + 0x158]
mov rcx, qword [rcx + 0x1f8]
mov qword [rsp + 0x28], rdx
mov qword [rsp + 0x20], r12
mov edx, sendto
xor r9d, r9d
call qword [case.0x1403339d6.0]
cmp eax, 1
jne 0x140297f9f
mov ebx, 0x17
lea rdx, str.not_authorized
jmp 0x140297fb6
mov dword [rsp + 0x54], ebx
mov edx, dword [rbp + 0x28]
cmp edx, 2
jl 0x140297f09
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 0x140297efc
dec edx
mov rcx, rbp
mov r8, qword [rsp + 0x58]
xor r9d, r9d
call fcn.140279690
test eax, eax
jne 0x140297c41
lea rax, [rbx + 1]
mov rdx, rbx
cmp rax, 2
ja 0x140297ec9
test byte [rsp + 0x54], 1
jne 0x140297f14
and byte [rbp + 0x2c], 0xfe
cmp byte [rbp + 0x6f], 0
je 0x140297900
or byte [rbp + 0x2c], 0x10
jmp 0x140297900
mov eax, ecx
mov byte [r14 + rax], 0
jmp 0x1402976b0
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.14024dbb0
jmp 0x140297b9c
mov rcx, rdi
mov rdx, rbx
call fcn.140252440
xor r14d, r14d
mov eax, dword [rsp + 0x38]
mov ecx, dword [rsp + 0x48]
jmp 0x140297643
mov dword [rsp + 0x20], 0xffffffff
mov rcx, r15
mov edx, 4
xor r8d, r8d
mov r9d, ebx
call fcn.140287840
or byte [r15 + 0xc4], 1
jmp 0x140297b9c
test eax, 0xfffffffd
je 0x1402982a7
mov ebx, 1
lea rdx, str.authorizer_malfunction
mov rcx, rsi
call fcn.14024dbb0
mov dword [rsi + 0x18], ebx
jmp 0x140297b9c
lea rdx, str.there_is_already_an_index_named__s
mov rcx, rsi
mov r8, r14
call fcn.14024dbb0
jmp 0x140297b9c
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0xaa
xor r8d, r8d
xor r9d, r9d
call fcn.140287840
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 0x140298062
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 0x14029807d
mov dword [rsp + 0x20], 2
mov rcx, r14
mov edx, reloc.WS2_32.dll_WSAGetLastError
mov r8d, r13d
mov r9d, r15d
call fcn.140287840
or dword [r14 + 0xc4], ebx
mov r13d, dword [r14 + 0x90]
cmp dword [r14 + 0x94], r13d
jle 0x1402980c2
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 0x1402980e0
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, reloc.WS2_32.dll_recvfrom
mov r8d, r15d
xor r9d, r9d
call fcn.140287840
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 0x14029813f
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 0x14029815b
mov dword [rsp + 0x20], eax
mov rcx, r14
mov edx, WSAStartup
mov r8d, dword [rsp + 0x40]
mov r9d, 2
call fcn.140287840
movzx eax, byte [rdi + 0x64]
movsxd rcx, dword [r14 + 0x90]
cmp dword [r14 + 0x94], ecx
jle 0x1402981ac
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 0x1402981c8
mov dword [rsp + 0x20], eax
mov rcx, r14
mov edx, WSAStartup
mov r8d, dword [rsp + 0x40]
mov r9d, 5
call fcn.140287840
mov eax, dword [r14 + 0x90]
mov rcx, qword [r14]
cmp byte [rcx + 0x67], 0
je 0x1402981e1
lea rcx, [0x140467c00]
jmp 0x1402981f3
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 0x14029824d
cmp edx, eax
jle 0x14029828a
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 0x1402982d5
cmp edx, eax
jle 0x1402982b4
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 0x1402982cf
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x47
xor r8d, r8d
mov r9d, r12d
call fcn.140287840
jmp 0x1402982d5
test eax, eax
jne 0x140297b9c
jmp 0x140297761
mov dword [rsp + 0x20], 1
mov rcx, r14
mov edx, 0x94
mov r8d, r13d
mov r9d, r12d
call fcn.140287840
mov dword [rsi + 0xb8], eax
mov rdi, qword [rsi + 0x10]
test rdi, rdi
jne 0x140298300
cmp qword [rsi + 0x98], 0
jne 0x1402982f5
mov rax, qword [rsi]
test byte [rax + 0x60], 8
jne 0x1402982f5
mov byte [rsi + 0x23], 1
mov rcx, rsi
call fcn.14024df00
mov rdi, rax
mov eax, dword [rdi + 0x90]
cmp dword [rdi + 0x94], eax
jle 0x140298345
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 0x140298360
mov dword [rsp + 0x20], r13d
mov rcx, rdi
mov edx, reloc.WS2_32.dll_WSAStartup
xor r8d, r8d
mov r9d, 1
call fcn.140287840
mov rcx, qword [rdi]
cmp byte [rcx + 0x67], 0
jne 0x140298383
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 0x140298390
mov dword [rsi + 0x34], 1
movsxd rax, dword [r14 + 0x90]
cmp dword [r14 + 0x94], eax
jle 0x1402983d4
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 0x1402983ef
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x7f
xor r8d, r8d
mov r9d, ebp
call fcn.140287840
mov eax, dword [r14 + 0x90]
cmp dword [r14 + 0x94], eax
jle 0x14029843d
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 0x14029845b
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x4d
mov r8d, 6
mov r9d, r15d
call fcn.140287840
mov rcx, qword [r14]
cmp byte [rcx + 0x67], 0
jne 0x1402984b5
test eax, eax
jns 0x140298471
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 0x1402984a0
lea rdx, [rcx + rax*8]
lea r8, [0x1403f6bd5]
mov rcx, r14
mov r9d, 0xffffffff
call fcn.1402bff10
jmp 0x1402984b5
lea rax, [rcx + rax*8]
inc rax
lea rcx, [0x1403f6bd5]
mov qword [rax + 0xf], rcx
mov byte [rax], 0xff
movsxd rax, dword [r14 + 0x90]
cmp dword [r14 + 0x94], eax
jle 0x1402984f6
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 0x14029850d
mov dword [rsp + 0x20], ebp
mov rcx, r14
mov edx, 0x80
xor r8d, r8d
mov r9d, r15d
call fcn.140287840
mov eax, dword [r14 + 0x90]
test eax, eax
jle 0x140298533
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 0x14029856d
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 0x14029766c
mov dword [rsp + 0x20], 0
mov rcx, r14
mov edx, 0x7a
xor r8d, r8d
xor r9d, r9d
call fcn.140287840
jmp 0x14029766c