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

Disassembly:
mov qword [rsp + 0x18], r8
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xf8
mov rsi, qword [rcx + 0x10]
xor ebp, ebp
mov r15, qword [rcx]
mov r12, rdx
mov r14, rcx
mov dword [rsp + 0x54], ebp
mov qword [rsp + 0x90], rbp
mov rbx, qword [rsi + 0x18]
mov qword [rsp + 0x78], r15
mov qword [rsp + 0x88], rsi
mov edx, dword [rbx + 0x54]
mov dword [rsp + 0x4c], edx
lea eax, [rdx + 1]
mov dword [rbx + 0x54], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x140106784
mov rcx, qword [rbx]
lea eax, [rdx*2 + 1]
mov rdx, qword [rbx + 0x58]
movsxd r8, eax
shl r8, 2
call fcn.140097e80
mov edx, dword [rsp + 0x4c]
mov qword [rbx + 0x58], rax
mov rcx, qword [rbx + 0x58]
mov r8d, 0xffffffff
test rcx, rcx
je 0x14010679a
movsxd rax, edx
mov dword [rcx + rax*4], r8d
mov rbx, qword [rsi + 0x18]
not edx
mov dword [rsp + 0x4c], edx
mov edx, dword [rbx + 0x54]
mov dword [rsp + 0x48], edx
lea eax, [rdx + 1]
mov dword [rbx + 0x54], eax
lea eax, [rdx - 1]
test edx, eax
jne 0x1401067e0
mov rcx, qword [rbx]
lea eax, [rdx*2 + 1]
mov rdx, qword [rbx + 0x58]
movsxd r8, eax
shl r8, 2
call fcn.140097e80
mov edx, dword [rsp + 0x48]
mov r8d, 0xffffffff
mov qword [rbx + 0x58], rax
mov rcx, qword [rbx + 0x58]
test rcx, rcx
je 0x1401067f0
movsxd rax, edx
mov dword [rcx + rax*4], r8d
movzx ebx, byte [r12 + 8]
not edx
mov rax, qword [r12 + 0x48]
mov rdi, qword [r12 + 0x40]
mov qword [rsp + 0x60], rax
mov eax, 1
mov dword [rsp + 0x48], edx
mov byte [rsp + 0x158], bl
movsxd r13, dword [rdi]
mov dword [rsp + 0x50], r13d
cmp bl, 0x74
je 0x140106927
mov ebx, eax
cmp byte [r15 + 0x55], bpl
jne 0x14010691f
lea r14, [r13*4]
add r14, r13
shl r14, 3
mov rax, qword [r12]
cmp ebx, dword [rax]
jg 0x140106917
mov rdx, qword [rdi + 8]
mov ecx, ebp
test r13d, r13d
jle 0x140106872
add rdx, 0x20
nop
movzx eax, word [rdx]
cmp eax, ebx
je 0x140106872
inc ecx
add rdx, 0x28
cmp ecx, r13d
jl 0x140106860
cmp ecx, r13d
jne 0x14010690b
mov edx, 0x49
mov rcx, r15
call fcn.140097cc0
mov r8, rax
test rax, rax
je 0x1401069b8
mov rcx, qword [rsp + 0x140]
xorps xmm0, xmm0
movups xmmword [r8], xmm0
xor eax, eax
mov rdx, rdi
movups xmmword [r8 + 0x10], xmm0
movups xmmword [r8 + 0x20], xmm0
movups xmmword [r8 + 0x30], xmm0
mov qword [r8 + 0x40], rax
mov eax, 0xffffffff
mov word [r8 + 0x32], ax
lea rax, [r8 + 0x48]
mov qword [r8 + 8], rax
mov byte [r8], 0x86
mov byte [rax], bpl
or dword [r8 + 4], 0x400
mov dword [r8 + 0x28], 1
mov dword [r8 + 8], ebx
call fcn.1400d0f40
mov rdi, rax
test rax, rax
je 0x14010690b
mov rax, qword [rax + 8]
inc r13d
mov dword [rsp + 0x50], r13d
mov word [rax + r14 + 0x20], bx
add r14, 0x28
inc ebx
cmp byte [r15 + 0x55], bpl
je 0x140106843
mov r14, qword [rsp + 0x140]
movzx ebx, byte [rsp + 0x158]
lea eax, [r13 + 1]
movsxd rdx, eax
shl rdx, 2
cmp dword [r15 + 0x158], ebp
jne 0x140106a17
movzx eax, word [r15 + 0x15c]
cmp rdx, rax
jbe 0x1401069c2
inc dword [r15 + 0x16c]
mov rcx, r15
call fcn.140097c70
mov r8, rax
mov qword [rsp + 0x68], rax
test r8, r8
je 0x140106a26
mov dword [r8], r13d
mov rcx, qword [rdi + 8]
cmp r13d, 1
jl 0x1401069a6
lea rdx, [r8 + 4]
add rcx, 0x20
mov r8d, r13d
nop dword [rax]
nop dword [rax + rax]
movzx eax, word [rcx]
lea rdx, [rdx + 4]
dec eax
lea rcx, [rcx + 0x28]
mov dword [rdx - 4], eax
sub r8, 1
jne 0x140106990
mov rdx, r12
mov rcx, r14
call fcn.140104300
mov qword [rsp + 0x70], rax
jmp 0x140106a2b
mov eax, 7
jmp 0x140107a1c
mov r8, qword [r15 + 0x178]
mov qword [rsp + 0x68], r8
test r8, r8
jne 0x1401069df
inc dword [r15 + 0x170]
jmp 0x140106953
mov rax, qword [r8]
inc dword [r15 + 0x160]
inc dword [r15 + 0x168]
mov qword [r15 + 0x178], rax
mov eax, dword [r15 + 0x160]
cmp eax, dword [r15 + 0x164]
jle 0x140106963
mov dword [r15 + 0x164], eax
jmp 0x140106963
cmp byte [r15 + 0x55], bpl
je 0x140106953
mov qword [rsp + 0x68], rbp
mov qword [rsp + 0x70], rbp
mov qword [r12 + 0x40], rdi
xor r8d, r8d
mov rcx, qword [r14]
mov rdx, rdi
call fcn.1400d0750
mov rcx, qword [rsp + 0x60]
mov qword [rcx + 0x40], rax
cmp bl, 0x74
jne 0x140106a59
mov rdi, qword [rsp + 0x78]
mov r15d, ebp
jmp 0x140106b9b
mov rax, qword [r12]
mov r12d, dword [rax]
mov eax, dword [r14 + 0x38]
lea r15d, [rax + 1]
inc eax
add eax, r12d
mov dword [rsp + 0x58], r15d
mov dword [r14 + 0x38], eax
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140106a9e
xor r8d, r8d
mov dword [rsp + 0x20], ebp
mov r9d, r15d
mov rcx, rsi
lea edx, [r8 + 0x4d]
call fcn.1400b9830
jmp 0x140106ac5
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], Ordinal_79
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rdi, qword [rsp + 0x78]
mov r8d, 1
mov rcx, rdi
mov edx, r12d
call fcn.140102530
mov qword [rsp + 0x90], rax
test rax, rax
je 0x140106b93
mov ebx, ebp
test r12d, r12d
jle 0x140106b8b
mov rsi, qword [rsp + 0x148]
lea r15, [rax + 0x20]
mov r14, rbp
mov rdi, rbp
mov r13, rax
nop dword [rax]
mov rdx, qword [rsi + 0x48]
test rdx, rdx
je 0x140106b30
mov rcx, qword [rsp + 0x140]
mov r8d, ebx
call fcn.140104290
test rax, rax
jne 0x140106b4f
jmp 0x140106b33
mov rax, rbp
mov rdx, qword [rsi]
cmp ebx, dword [rdx]
jge 0x140106b4f
mov rdx, qword [rdx + 8]
mov rcx, qword [rsp + 0x140]
mov rdx, qword [rdx + rdi]
call fcn.1400ceaf0
mov qword [r15], rax
inc ebx
mov rax, qword [r13 + 0x18]
add r15, 8
add rdi, 0x28
mov byte [r14 + rax], bpl
inc r14
cmp ebx, r12d
jl 0x140106b10
mov rsi, qword [rsp + 0x88]
mov r13d, dword [rsp + 0x50]
mov r15d, dword [rsp + 0x58]
mov rdi, qword [rsp + 0x78]
mov r14, qword [rsp + 0x140]
movzx ebx, byte [rsp + 0x158]
mov r12, qword [rsp + 0x148]
mov rax, qword [rsp + 0x60]
lea r9, str.ORDER
mov qword [r12 + 0x48], rbp
mov rdx, r12
mov rcx, r14
mov qword [rax + 0x50], rbp
mov r8, qword [r12 + 0x40]
call fcn.1400cdfc0
mov rax, qword [rsp + 0x60]
cmp qword [rax + 0x48], rbp
jne 0x140106be1
mov r8, qword [rax + 0x40]
lea r9, str.ORDER
mov rdx, rax
mov rcx, r14
call fcn.1400cdfc0
mov r8d, dword [rsp + 0x4c]
mov rdx, r12
mov rcx, r14
call fcn.140103f10
cmp dword [r12 + 0x10], ebp
je 0x140106cd4
cmp bl, 0x74
jne 0x140106cd4
mov ebx, dword [r14 + 0x38]
mov rax, qword [rsp + 0x140]
inc ebx
lea r14d, [rbx + 1]
mov dword [rax + 0x38], r14d
mov edx, dword [r12 + 0x14]
test edx, edx
je 0x140106c28
inc edx
jmp 0x140106c2d
mov edx, dword [r12 + 0x10]
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140106c56
mov r8d, edx
mov dword [rsp + 0x20], ebp
mov edx, 0x55
mov r9d, ebx
mov rcx, rsi
call fcn.1400b9830
jmp 0x140106c7f
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x55
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140106ca8
mov r9d, r14d
mov dword [rsp + 0x20], ebp
mov r8d, ebx
mov edx, 0x55
mov rcx, rsi
call fcn.1400b9830
jmp 0x140106cd9
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x55
mov dword [rax + rcx*8 + 4], ebx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
jmp 0x140106cd9
mov r14d, ebp
mov ebx, ebp
mov rdx, qword [r12 + 0x58]
test rdx, rdx
je 0x140106ceb
mov rcx, rdi
call fcn.1400d0200
mov rdx, qword [r12 + 0x60]
mov qword [r12 + 0x58], rbp
test rdx, rdx
je 0x140106d02
mov rcx, rdi
call fcn.1400d0200
mov r9, qword [rsp + 0x140]
mov qword [r12 + 0x60], rbp
mov byte [rsp + 0xc0], reloc.WSOCK32.dll_listen
mov qword [rsp + 0xc8], rbp
mov r8d, dword [r9 + 0x38]
inc r8d
mov qword [rsp + 0xd4], rbp
mov dword [rsp + 0xd0], r8d
mov byte [rsp + 0x98], reloc.WSOCK32.dll_listen
mov qword [rsp + 0xa0], rbp
lea eax, [r8 + 1]
mov qword [rsp + 0xac], rbp
mov dword [rsp + 0xa8], eax
lea r12d, [rax + 1]
lea ecx, [r12 + 1]
mov dword [rsp + 0x40], eax
mov dword [r9 + 0x38], ecx
movsxd rdi, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
mov dword [rsp + 0x44], r8d
mov dword [rsp + 0x50], ecx
lea edx, [rdi + 1]
cmp dword [rax + 0x3c], edi
jg 0x140106da5
xor r9d, r9d
mov dword [rsp + 0x20], edx
mov rcx, rsi
lea edx, [r9 + 0xf]
call fcn.1400b9830
mov r9, qword [rsp + 0x140]
mov edi, eax
jmp 0x140106dcc
mov rax, qword [rsi + 0x68]
lea rcx, [rdi + rdi*2]
mov dword [rsi + 0xb8], edx
mov dword [rax + rcx*8], reloc.WSOCK32.dll_ntohs
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], rbp
mov rcx, qword [rsp + 0x60]
lea r8, [rsp + 0xc0]
mov rdx, rcx
mov dword [rcx + 0x10], ebx
mov rcx, r9
mov eax, dword [r9 + 0x1e4]
mov dword [rsp + 0x88], eax
call fcn.14010a390
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140106e1f
mov r8d, dword [rsp + 0x44]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], ebp
lea edx, [r9 + 0x4a]
call fcn.1400b9830
jmp 0x140106e49
mov edx, dword [rsp + 0x44]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], Ordinal_79
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], rbp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
mov byte [rax + 0x1f], bpl
mov rax, qword [rsi + 0x18]
mov dword [rax + 0x28], ebp
mov rax, qword [rsi]
mov edx, dword [rsi + 0xb8]
cmp byte [rax + 0x55], bpl
je 0x140106e70
lea rax, [0x14021dca8]
jmp 0x140106e86
lea eax, [rdx - 1]
test edi, edi
cmovns eax, edi
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
movsxd rcx, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
mov dword [rsp + 0x58], ecx
lea r8d, [rcx + 1]
cmp dword [rax + 0x3c], ecx
jg 0x140106ec0
xor r9d, r9d
mov dword [rsp + 0x20], r8d
mov r8d, dword [rsp + 0x40]
mov rcx, rsi
lea edx, [r9 + 0xf]
call fcn.1400b9830
mov dword [rsp + 0x58], eax
jmp 0x140106eec
mov rax, qword [rsi + 0x68]
lea rcx, [rcx + rcx*2]
mov edx, dword [rsp + 0x40]
mov dword [rsi + 0xb8], r8d
mov dword [rax + rcx*8], reloc.WSOCK32.dll_ntohs
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsp + 0x148]
lea r8, [rsp + 0x98]
mov rcx, qword [rsp + 0x140]
mov edi, dword [rax + 0x10]
mov ebx, dword [rax + 0x14]
mov dword [rax + 0x10], r14d
mov r14, rax
mov dword [rax + 0x14], ebp
mov rdx, r14
mov eax, dword [rcx + 0x1e4]
mov dword [rsp + 0x80], eax
call fcn.14010a390
mov dword [r14 + 0x10], edi
mov dword [r14 + 0x14], ebx
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140106f5b
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
mov rcx, rsi
mov dword [rsp + 0x20], ebp
lea edx, [r9 + 0x4a]
call fcn.1400b9830
jmp 0x140106f85
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], Ordinal_79
mov dword [rax + rcx*8 + 4], edx
mov qword [rax + rcx*8 + 8], rbp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
lea r8, [rsp + 0xc0]
mov rbx, qword [rsp + 0x90]
mov rdx, r14
mov r9, qword [rsp + 0x150]
mov rcx, qword [rsp + 0x140]
mov byte [rax + 0x1f], bpl
mov rax, qword [rsi + 0x18]
mov dword [rax + 0x28], ebp
mov eax, dword [rsp + 0x4c]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], r15d
mov dword [rsp + 0x20], r12d
call fcn.140105e00
mov edi, eax
movzx eax, byte [rsp + 0x158]
sub al, 0x73
cmp al, 1
ja 0x140107028
mov eax, dword [rsp + 0x4c]
lea r8, [rsp + 0x98]
mov r9, qword [rsp + 0x150]
mov rdx, r14
mov rcx, qword [rsp + 0x140]
mov dword [rsp + 0x38], eax
mov qword [rsp + 0x30], rbx
mov dword [rsp + 0x28], r15d
lea r15d, [r12 + 1]
mov dword [rsp + 0x20], r15d
call fcn.140105e00
mov r12d, eax
mov dword [rsp + 0x54], eax
jmp 0x140107030
mov r15d, dword [rsp + 0x50]
mov r12d, ebp
test rbx, rbx
je 0x140107089
add dword [rbx], 0xffffffff
jne 0x140107089
mov rcx, qword [rbx + 0x10]
test rcx, rcx
je 0x140107081
cmp qword [rcx + 0x298], rbp
je 0x140107056
mov rdx, rbx
call fcn.140097930
jmp 0x140107089
cmp rbx, qword [rcx + 0x180]
jb 0x140107081
cmp rbx, qword [rcx + 0x188]
jae 0x140107081
mov rax, qword [rcx + 0x178]
mov qword [rbx], rax
dec dword [rcx + 0x160]
mov qword [rcx + 0x178], rbx
jmp 0x140107089
mov rcx, rbx
call fcn.1400978c0
movzx eax, byte [rsp + 0x158]
sub al, 0x75
cmp al, 1
jbe 0x140107234
mov rax, qword [rsi + 0x18]
movsxd rbx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ebx
jg 0x1401070c6
mov r9d, r12d
mov dword [rsp + 0x20], ebp
mov r8d, r15d
mov edx, reloc.WSOCK32.dll_ntohl
mov rcx, rsi
call fcn.1400b9830
mov ebx, eax
jmp 0x1401070f1
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WSOCK32.dll_ntohl
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd r12, dword [rsi + 0xb8]
mov r15d, dword [rsp + 0x4c]
cmp dword [rax + 0x3c], r12d
jg 0x140107125
mov r8d, dword [rsp + 0x40]
mov r9d, r15d
mov edx, reloc.WSOCK32.dll_recv
mov dword [rsp + 0x20], ebp
mov rcx, rsi
call fcn.1400b9830
mov r12d, eax
jmp 0x140107155
mov edx, dword [rsp + 0x40]
lea rcx, [r12 + r12*2]
lea eax, [r12 + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WSOCK32.dll_recv
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14010717d
xor r8d, r8d
mov dword [rsp + 0x20], ebp
mov r9d, ebx
mov rcx, rsi
lea edx, [r8 + 0xd]
call fcn.1400b9830
jmp 0x1401071a3
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], reloc.WSOCK32.dll_listen
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
movsx ecx, word [r14 + 0xa]
mov r10, qword [rsp + 0x60]
mov edx, ecx
movsx r9d, word [r10 + 0xa]
mov r8d, r9d
cmp cx, r9w
jl 0x1401071f2
lea eax, [r9 + 0x31]
cmp ecx, eax
jg 0x14010722d
lea eax, [r9 + 0x1f]
cmp ecx, eax
jle 0x1401071d7
inc cx
mov word [r14 + 0xa], cx
jmp 0x140107244
sub edx, r8d
movsxd rax, edx
lea rdx, str._n_n_t_t_b_b_a_a_a
movzx eax, byte [rax + rdx]
add cx, ax
mov word [r14 + 0xa], cx
jmp 0x140107244
lea eax, [rcx + 0x31]
cmp r8d, eax
jle 0x140107205
movzx ecx, r9w
mov word [r14 + 0xa], cx
jmp 0x140107244
lea eax, [rcx + 0x1f]
cmp r8d, eax
jle 0x140107218
lea ecx, [r9 + 1]
mov word [r14 + 0xa], cx
jmp 0x140107244
sub r8d, edx
lea rdx, str._n_n_t_t_b_b_a_a_a
movsxd rax, r8d
movzx ecx, byte [rax + rdx]
add cx, r9w
mov word [r14 + 0xa], cx
jmp 0x140107244
mov r15d, dword [rsp + 0x4c]
mov ebx, r15d
mov r10, qword [rsp + 0x60]
mov r12d, r15d
cmp byte [rsp + 0x158], 0x76
jne 0x140107271
mov rcx, qword [rsp + 0x148]
mov r14d, ebx
movzx eax, word [r10 + 0xa]
cmp word [rcx + 0xa], ax
jle 0x14010737b
mov word [rcx + 0xa], ax
jmp 0x14010737b
mov rax, qword [rsi + 0x18]
movsxd r14, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], r14d
jg 0x1401072a3
mov r8d, dword [rsp + 0x40]
mov r9d, edi
inc r8d
mov dword [rsp + 0x20], ebp
mov edx, reloc.WSOCK32.dll_ntohl
mov rcx, rsi
call fcn.1400b9830
mov r14d, eax
jmp 0x1401072d3
mov edx, dword [rsp + 0x40]
lea rcx, [r14 + r14*2]
lea eax, [r14 + 1]
inc edx
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WSOCK32.dll_ntohl
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x1401072fe
mov r8d, dword [rsp + 0x44]
mov r9d, r15d
mov edx, reloc.WSOCK32.dll_recv
mov dword [rsp + 0x20], ebp
mov rcx, rsi
call fcn.1400b9830
jmp 0x14010732c
mov edx, dword [rsp + 0x44]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WSOCK32.dll_recv
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140107354
xor r8d, r8d
mov dword [rsp + 0x20], ebp
mov r9d, r14d
mov rcx, rsi
lea edx, [r8 + 0xd]
call fcn.1400b9830
jmp 0x14010737b
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], reloc.WSOCK32.dll_listen
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd r15, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], r15d
jg 0x1401073ad
mov r8d, dword [rsp + 0x40]
mov r9d, edi
inc r8d
mov dword [rsp + 0x20], ebp
mov edx, reloc.WSOCK32.dll_ntohl
mov rcx, rsi
call fcn.1400b9830
mov r15d, eax
jmp 0x1401073dd
mov edx, dword [rsp + 0x40]
lea rcx, [r15 + r15*2]
lea eax, [r15 + 1]
inc edx
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WSOCK32.dll_ntohl
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140107408
mov r8d, dword [rsp + 0x44]
mov r9d, ebx
mov edx, reloc.WSOCK32.dll_recv
mov dword [rsp + 0x20], ebp
mov rcx, rsi
call fcn.1400b9830
jmp 0x140107435
mov edx, dword [rsp + 0x44]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WSOCK32.dll_recv
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14010745f
mov r9d, dword [rsp + 0x48]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], ebp
lea edx, [r8 + 0xd]
call fcn.1400b9830
jmp 0x140107489
mov edx, dword [rsp + 0x48]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], reloc.WSOCK32.dll_listen
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
movzx eax, byte [rsp + 0x158]
cmp al, 0x74
jne 0x14010749d
mov edi, r15d
jmp 0x140107562
cmp al, 0x76
jne 0x1401074ac
mov edi, r15d
inc r15d
jmp 0x140107562
mov rax, qword [rsi + 0x18]
movsxd rdi, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], edi
jg 0x1401074d9
mov r8d, dword [rsp + 0x44]
mov r9d, ebx
mov edx, reloc.WSOCK32.dll_recv
mov dword [rsp + 0x20], ebp
mov rcx, rsi
call fcn.1400b9830
mov edi, eax
jmp 0x140107506
mov edx, dword [rsp + 0x44]
lea rcx, [rdi + rdi*2]
lea eax, [rdi + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WSOCK32.dll_recv
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], ebx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140107530
mov r9d, dword [rsp + 0x48]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], ebp
lea edx, [r8 + 0xd]
call fcn.1400b9830
jmp 0x14010755a
mov edx, dword [rsp + 0x48]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], reloc.WSOCK32.dll_listen
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
movzx eax, byte [rsp + 0x158]
movsxd rbx, dword [rsi + 0xb8]
cmp al, 0x74
je 0x140107571
cmp al, 0x73
jne 0x1401075c5
mov rax, qword [rsi + 0x18]
mov r8d, dword [rsp + 0x50]
cmp dword [rax + 0x3c], ebx
jg 0x140107597
mov r9d, dword [rsp + 0x54]
mov edx, reloc.WSOCK32.dll_ntohl
mov rcx, rsi
mov dword [rsp + 0x20], ebp
call fcn.1400b9830
jmp 0x1401075c5
mov edx, dword [rsp + 0x54]
lea rcx, [rbx + rbx*2]
lea eax, [rbx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WSOCK32.dll_ntohl
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x1401075f0
mov r8d, dword [rsp + 0x40]
mov r9d, r14d
mov edx, reloc.WSOCK32.dll_recv
mov dword [rsp + 0x20], ebp
mov rcx, rsi
call fcn.1400b9830
jmp 0x14010761e
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WSOCK32.dll_recv
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x140107648
mov r9d, dword [rsp + 0x48]
xor r8d, r8d
mov rcx, rsi
mov dword [rsp + 0x20], ebp
lea edx, [r8 + 0xd]
call fcn.1400b9830
jmp 0x140107672
mov edx, dword [rsp + 0x48]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], reloc.WSOCK32.dll_listen
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi]
mov edx, dword [rsi + 0xb8]
cmp byte [rax + 0x55], bpl
je 0x14010768a
lea r8, [0x14021dca8]
jmp 0x1401076a4
mov ecx, dword [rsp + 0x58]
lea eax, [rdx - 1]
test ecx, ecx
cmovns eax, ecx
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
lea r8, [rax + rcx*8]
mov dword [r8 + 8], edx
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x1401076d3
mov r8d, dword [rsp + 0x44]
mov r9d, r12d
mov edx, reloc.WSOCK32.dll_recv
mov dword [rsp + 0x20], ebp
mov rcx, rsi
call fcn.1400b9830
jmp 0x140107701
mov edx, dword [rsp + 0x44]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WSOCK32.dll_recv
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r12d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
movsxd rcx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], ecx
jg 0x14010772c
mov r8d, dword [rsp + 0x40]
mov r9d, r14d
mov edx, reloc.WSOCK32.dll_recv
mov dword [rsp + 0x20], ebp
mov rcx, rsi
call fcn.1400b9830
jmp 0x14010775a
mov edx, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WSOCK32.dll_recv
mov dword [rax + rcx*8 + 4], edx
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], ebp
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x14010777d
mov eax, dword [rsp + 0x48]
not eax
movsxd rcx, eax
mov eax, dword [rsi + 0xb8]
mov dword [rdx + rcx*4], eax
mov rax, qword [rsi + 0x18]
movsxd rdx, dword [rsi + 0xb8]
cmp dword [rax + 0x3c], edx
jg 0x1401077a3
xor r9d, r9d
mov dword [rsp + 0x20], ebp
xor r8d, r8d
mov rcx, rsi
lea edx, [r9 + 0x5f]
call fcn.1400b9830
mov edx, eax
jmp 0x1401077c6
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov qword [rax + rcx*8], 0x5f
mov qword [rax + rcx*8 + 8], rbp
mov qword [rax + rcx*8 + 0x10], rbp
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], bpl
je 0x1401077e0
mov r8, qword [rsp + 0x68]
mov edx, 0xfffffff4
call fcn.1400ba120
jmp 0x140107829
test edx, edx
jns 0x1401077ec
mov edx, dword [rsi + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
cmp byte [rax + rcx*8 + 1], bpl
lea rdx, [rax + rcx*8]
je 0x140107817
mov r8, qword [rsp + 0x68]
mov r9d, 0xfffffff4
mov rcx, rsi
call fcn.1400ba320
jmp 0x140107829
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x140107829
mov qword [rdx + 0x10], rax
mov byte [rdx + 1], 0xf4
mov rax, qword [rsi + 0x18]
movsxd rdx, dword [rsi + 0xb8]
mov r9d, dword [rsp + 0xac]
mov r8d, dword [rsp + 0xd4]
cmp dword [rax + 0x3c], edx
jg 0x14010785f
mov edx, 0x60
mov dword [rsp + 0x20], r13d
mov rcx, rsi
call fcn.1400b9830
mov edx, eax
jmp 0x14010788b
lea rcx, [rdx + rdx*2]
lea eax, [rdx + 1]
mov dword [rsi + 0xb8], eax
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], 0x60
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 0xc], r13d
mov qword [rax + rcx*8 + 0x10], rbp
mov rcx, qword [rsi]
cmp byte [rcx + 0x55], bpl
je 0x1401078a5
mov r8, qword [rsp + 0x70]
mov edx, 0xfffffffb
call fcn.1400ba120
jmp 0x1401078ee
test edx, edx
jns 0x1401078b1
mov edx, dword [rsi + 0xb8]
dec edx
movsxd rax, edx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
cmp byte [rax + rcx*8 + 1], bpl
lea rdx, [rax + rcx*8]
je 0x1401078dc
mov r8, qword [rsp + 0x70]
mov r9d, 0xfffffffb
mov rcx, rsi
call fcn.1400ba320
jmp 0x1401078ee
mov rax, qword [rsp + 0x70]
test rax, rax
je 0x1401078ee
mov qword [rdx + 0x10], rax
mov byte [rdx + 1], 0xfb
movsxd rcx, dword [rsi + 0xb8]
mov r14d, 1
test ecx, ecx
jle 0x140107913
mov rax, qword [rsi + 0x68]
lea rcx, [rcx + rcx*2]
mov word [rax + rcx*8 - 0x16], r14w
mov ecx, dword [rsi + 0xb8]
mov rax, qword [rsi + 0x18]
cmp dword [rax + 0x3c], ecx
jg 0x140107935
mov r9d, edi
mov dword [rsp + 0x20], ebx
mov r8d, r15d
mov edx, reloc.WSOCK32.dll_select
mov rcx, rsi
call fcn.1400b9830
jmp 0x140107962
lea eax, [rcx + 1]
mov dword [rsi + 0xb8], eax
movsxd rax, ecx
lea rcx, [rax + rax*2]
mov rax, qword [rsi + 0x68]
mov dword [rax + rcx*8], reloc.WSOCK32.dll_select
mov dword [rax + rcx*8 + 4], r15d
mov dword [rax + rcx*8 + 8], edi
mov dword [rax + rcx*8 + 0xc], ebx
mov qword [rax + rcx*8 + 0x10], rbp
mov rax, qword [rsi + 0x18]
mov rdx, qword [rax + 0x58]
test rdx, rdx
je 0x140107981
mov eax, dword [rsp + 0x4c]
not eax
movsxd rcx, eax
mov eax, dword [rsi + 0xb8]
mov dword [rdx + rcx*4], eax
mov rax, qword [rsp + 0x150]
mov rsi, qword [rsp + 0x60]
cmp byte [rax], 9
jne 0x1401079c5
mov rax, qword [rsi + 0x48]
mov rdx, rsi
test rax, rax
je 0x1401079ac
nop
mov rdx, rax
mov rax, qword [rax + 0x48]
test rax, rax
jne 0x1401079a0
mov r8, qword [rdx]
mov rdi, qword [rsp + 0x140]
mov rdx, qword [rdx + 0x20]
mov rcx, rdi
call fcn.1401034f0
jmp 0x1401079cd
mov rdi, qword [rsp + 0x140]
mov rbx, qword [rsp + 0x148]
mov rdx, qword [rbx + 0x48]
test rdx, rdx
je 0x1401079eb
mov rcx, qword [rsp + 0x78]
mov r8d, r14d
call fcn.1400ffb30
mov r9d, dword [rsp + 0x80]
mov rcx, rdi
mov r8d, dword [rsp + 0x88]
mov qword [rbx + 0x48], rsi
mov qword [rsi + 0x50], rbx
movzx edx, byte [rbx + 8]
mov dword [rsp + 0x20], ebp
call fcn.1401027d0
cmp dword [rdi + 0x30], ebp
setne bpl
mov eax, ebp
add rsp, 0xf8
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret