Function at 0x1401380e0
Capabilities:
Check for software breakpoints

Disassembly:
push r15
push r14
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x38
mov esi, r9d
mov rdi, rdx
mov rbx, rcx
mov rax, qword [0x1404a7eb8]
xor rax, rsp
mov qword [rsp + 0x30], rax
xor ebp, ebp
test r9d, r9d
setne bpl
lea r14, [rsp + 0x2c]
movsxd rax, r8d
lea r15, [rax - 1]
mov dword [rsp + 0x2c], r15d
movsx rcx, byte [rdi + rax - 1]
test rcx, rcx
js 0x1400ea3f0
movzx ecx, byte [rbx + rcx + 8]
test esi, esi
je 0x1400ea3b0
test cl, cl
je 0x1400ea577
movsxd rax, r8d
add r8d, 0xfffffffe
mov r15d, r8d
nop dword [rax + rax]
cmp rax, 1
je 0x1400ea55e
mov dword [rsp + 0x2c], r15d
movsx rcx, byte [rdi + rax - 2]
test rcx, rcx
js 0x1400ea3f0
dec rax
dec r15d
cmp byte [rbx + rcx + 8], 0
jne 0x1400ea380
jmp 0x1400ea574
test cl, cl
jne 0x1400ea577
add r8d, 0xfffffffe
mov r15d, r8d
nop
cmp rax, 1
je 0x1400ea55e
mov dword [rsp + 0x2c], r15d
movsx rcx, byte [rdi + rax - 2]
test rcx, rcx
js 0x1400ea3f0
dec rax
dec r15d
cmp byte [rbx + rcx + 8], 0
je 0x1400ea3c0
jmp 0x1400ea574
movzx r9d, cl
mov byte [rsp + 0x20], 0xfd
mov rcx, rdi
xor edx, edx
mov r8, r14
call fcn.14014f890
cmp eax, 0x7ff
jg 0x1400ea440
test esi, esi
setne dl
mov ecx, eax
and ecx, 0x3f
mov r8d, dword [rbx + rcx*4 + 0x10c]
shr eax, 6
mov ecx, eax
shr r8d, cl
xor r8b, dl
test r8b, 1
je 0x1400ea502
jmp 0x1400ea598
cmp eax, 0xffff
ja 0x1400ea478
mov ecx, eax
shr ecx, 0xc
mov edx, eax
shr edx, 4
and edx, 0xfc
mov edx, dword [rbx + rdx + 0x20c]
shr edx, cl
and edx, 0x10001
cmp edx, 1
ja 0x1400ea4d9
cmp edx, ebp
je 0x1400ea502
jmp 0x1400ea598
movsxd rdx, dword [rbx + 0x34c]
mov r8, qword [rbx + 0x358]
cmp eax, dword [r8 + rdx*4]
jl 0x1400ea4f0
mov ecx, dword [rbx + 0x350]
cmp edx, ecx
jge 0x1400ea4f2
movsxd r9, ecx
cmp eax, dword [r8 + r9*4 - 4]
jge 0x1400ea4f2
lea r9d, [rdx + rcx]
sar r9d, 1
cmp r9d, edx
jne 0x1400ea4bf
jmp 0x1400ea4f2
mov ecx, r9d
lea r9d, [rcx + rdx]
sar r9d, 1
cmp r9d, edx
je 0x1400ea4f2
movsxd r10, r9d
cmp eax, dword [r8 + r10*4]
jl 0x1400ea4b0
mov edx, r9d
lea r9d, [rcx + rdx]
sar r9d, 1
cmp r9d, edx
jne 0x1400ea4bf
jmp 0x1400ea4f2
mov ecx, ecx
movsxd rdx, dword [rbx + rcx*4 + 0x30c]
mov r8, qword [rbx + 0x358]
cmp eax, dword [r8 + rdx*4]
jge 0x1400ea512
mov ecx, edx
test esi, esi
setne al
xor cl, al
test cl, 1
jne 0x1400ea598
mov r8d, dword [rsp + 0x2c]
test r8d, r8d
jg 0x1400ea342
jmp 0x1400ea55e
mov ecx, dword [rbx + rcx*4 + 0x310]
cmp edx, ecx
jge 0x1400ea4f2
movsxd r9, ecx
cmp eax, dword [r8 + r9*4 - 4]
jge 0x1400ea4f2
lea r9d, [rdx + rcx]
sar r9d, 1
cmp r9d, edx
jne 0x1400ea544
jmp 0x1400ea4f2
mov ecx, r9d
lea r9d, [rcx + rdx]
sar r9d, 1
cmp r9d, edx
je 0x1400ea4f2
movsxd r10, r9d
cmp eax, dword [r8 + r10*4]
jl 0x1400ea535
mov edx, r9d
lea r9d, [rcx + rdx]
sar r9d, 1
cmp r9d, edx
jne 0x1400ea544
jmp 0x1400ea4f2
xor r8d, r8d
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
cmp rcx, qword [0x1404a7eb8]
je 0x1400ea588
jmp 0x1400ea5af
mov r8d, eax
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
cmp rcx, qword [0x1404a7eb8]
jne 0x1400ea5af
mov eax, r8d
add rsp, 0x38
pop rbx
pop rbp
pop rdi
pop rsi
pop r14
pop r15
ret
inc r15d
mov r8d, r15d
mov rcx, qword [rsp + 0x30]
xor rcx, rsp
cmp rcx, qword [0x1404a7eb8]
je 0x1400ea588
call fcn.14029fd30
int3
push r15
push r14
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x1c0
mov ebp, r9d
mov r15d, r8d
mov rsi, rdx
mov rdi, rcx
mov rax, qword [0x1404a7eb8]
xor rax, rsp
mov qword [rsp + 0x1b8], rax
test r8d, r8d
jle 0x14013814f
mov rbx, qword [rdi + 0x28]
test rbx, rbx
je 0x140138194
mov rcx, qword [rsp + 0x1b8]
xor rcx, rsp
call fcn.14029fd30
mov rcx, rbx
mov rdx, rsi
mov r8d, r15d
mov r9d, ebp
add rsp, 0x1c0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp 0x1400ea310
xor ebx, ebx
test r15d, r15d
js 0x140138184
mov rcx, qword [rsp + 0x1b8]
xor rcx, rsp
cmp rcx, qword [0x1404a7eb8]
jne 0x14013817e
mov eax, ebx
add rsp, 0x1c0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
ret
call fcn.14029fd30
int3
mov rcx, rsi
call fcn.1402c0ec0
mov r15, rax
test r15d, r15d
je 0x140138156
mov rbx, qword [rdi + 0x58]
test rbx, rbx
je 0x1401381cf
mov rcx, qword [rsp + 0x1b8]
xor rcx, rsp
call fcn.14029fd30
mov rcx, rbx
mov rdx, rsi
mov r8d, r15d
mov r9d, ebp
add rsp, 0x1c0
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r14
pop r15
jmp fcn.14013cca0
mov r8, qword [rdi + 0x50]
test r8, r8
je 0x140138232
cmp dword [r8 + 8], 0
je 0x140138232
cmp ebp, 1
mov r9d, reloc.WS2_32.dll_shutdown
sbb r9d, 0
lea rcx, [rsp + 0x38]
mov rdx, rdi
call fcn.14013a290
cmp dword [rsp + 0x130], 0
je 0x140138228
lea rdi, [rsp + 0x38]
mov rcx, rdi
mov rdx, rsi
mov r8d, r15d
mov r9d, ebp
call fcn.14013cca0
mov ebx, eax
mov rcx, rdi
call fcn.14013ac70
jmp 0x140138156
lea rcx, [rsp + 0x38]
call fcn.14013ac70
xor r12d, r12d
test ebp, ebp
setne r12b
lea r14, [rsp + 0x34]
mov ebx, r15d
nop word cs:[rax + rax]
movsxd rax, ebx
lea rcx, [rax - 1]
mov dword [rsp + 0x34], ecx
movzx r9d, byte [rsi + rax - 1]
test r9b, r9b
jns 0x14013827b
mov byte [rsp + 0x20], 0xfd
mov rcx, rsi
xor edx, edx
mov r8, r14
call fcn.14014f890
mov r9d, eax
mov rax, rdi
nop
mov rcx, qword [rax + 0x28]
test rcx, rcx
jne 0x1401382c0
mov rdx, rax
mov rax, qword [rax + 0x58]
test rax, rax
jne 0x140138280
xor eax, eax
cmp r9d, 0x10ffff
jg 0x1401382c9
mov rcx, qword [rdx + 0x10]
cmp r9d, dword [rcx]
jl 0x1401382b6
movsxd rdx, dword [rdx + 0x1c]
lea eax, [rdx - 1]
cmp rdx, 2
jge 0x1401382e6
and al, 1
jmp 0x1401382c9
mov rax, qword [rcx]
mov edx, r9d
call qword [rax + ioctlsocket]
movsx eax, al
cmp r12d, eax
jne 0x140138156
mov ebx, dword [rsp + 0x34]
test ebx, ebx
jg 0x140138250
jmp 0x140138156
cmp edx, 2
je 0x1401382b6
cmp r9d, dword [rcx + rdx*4 - 8]
jge 0x1401382b6
mov r8d, eax
shr r8d, 1
xor edx, edx
jmp 0x14013830f
mov edx, r8d
lea r8d, [rax + rdx]
shr r8d, 1
cmp r8d, edx
je 0x1401382b6
mov r10d, r8d
cmp r9d, dword [rcx + r10*4]
jge 0x140138300
mov eax, r8d
lea r8d, [rax + rdx]
shr r8d, 1
cmp r8d, edx
jne 0x14013830f
jmp 0x1401382b6