Function at 0x140138414
Capabilities:
Access peb ldr_data
Encode data using xor
Hash data using fnv
Resolve function by fnv-1a hash
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov qword [rax + 8], rbx
mov qword [rax + 0x10], rsi
mov qword [rax + 0x18], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x5f]
sub rsp, 0x100
mov rax, qword [0x1403768c0]
xor rax, rsp
mov qword [rbp + 0x27], rax
xor r15d, r15d
mov r12b, r15b
mov dword [rsp + 0x38], r12d
mov dword [rbp + 0x1f], r15d
mov dword [rsp + 0x40], 0xb85bb944
mov dword [rsp + 0x44], 0x42b7bfa9
mov dword [rsp + 0x48], 0xb0a0a0a9
mov dword [rbp - 0x7d], 0xbdba5eb9
mov dword [rbp - 0x79], 0xbcb7abb7
mov dword [rbp - 0x75], 0xcdb1b6ae
mov byte [rbp - 0x71], 0x5e
xor eax, eax
mov qword [rbp - 0x70], rax
mov dword [rbp - 0x68], eax
mov byte [rbp - 0x64], al
mov qword [rsp + 0x28], r15
mov rax, qword [rsp + 0x28]
lea r13d, [r15 + 1]
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x28]
movzx edx, byte [rsp + rax + 0x40]
movabs rax, 0x3d8d3d50a400daa9
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x61
mov rax, qword [rsp + 0x28]
mov byte [rsp + rax + 0x40], r8b
mov rax, qword [rsp + 0x28]
add rax, r13
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp rax, 0x26
jb 0x14013849f
xorps xmm0, xmm0
movups xmmword [rbp - 1], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp + 0xf], xmm1
lea rax, [rsp + 0x40]
or rbx, 0xffffffffffffffff
mov r8, rbx
inc r8
cmp byte [rax + r8], r15b
jne 0x14013850c
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 1]
call fcn.140039338
nop
mov dword [rsp + 0x40], 0x87809194
mov dword [rsp + 0x44], 0x838c5b86
mov word [rsp + 0x48], 0x2d82
xor eax, eax
mov qword [rbp - 0x7f], rax
mov dword [rbp - 0x77], eax
mov byte [rbp - 0x73], al
mov qword [rsp + 0x28], r15
mov rax, qword [rsp + 0x28]
mov rcx, qword [rsp + 0x28]
mov rax, qword [rsp + 0x28]
movzx edx, byte [rsp + rax + 0x40]
movabs rax, 0xd83f861ef3c9bd05
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x23
mov rax, qword [rsp + 0x28]
mov byte [rsp + rax + 0x40], r8b
mov rax, qword [rsp + 0x28]
add rax, r13
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x28]
cmp rax, 0x17
jb 0x140138551
xorps xmm0, xmm0
movups xmmword [rbp - 0x21], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x11], xmm1
lea rax, [rsp + 0x40]
mov r8, rbx
inc r8
cmp byte [rax + r8], r15b
jne 0x1401385ba
lea rdx, [rsp + 0x40]
lea rcx, [rbp - 0x21]
call fcn.140039338
nop
lea rdx, [rbp - 1]
lea rcx, [rbp - 0x21]
call fcn.1400f1cb4
mov r14, rax
mov qword [rsp + 0x30], rax
mov ebx, 0x1000
mov rdx, qword [rbp - 9]
cmp rdx, 0xf
jbe 0x140138626
inc rdx
mov rcx, qword [rbp - 0x21]
mov rax, rcx
cmp rdx, rbx
jb 0x140138621
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x140138621
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14015a4ac
movdqa xmm0, xmmword [0x1401f3d90]
movdqu xmmword [rbp - 0x11], xmm0
mov byte [rbp - 0x21], r15b
mov rdx, qword [rbp + 0x17]
cmp rdx, 0xf
jbe 0x140138679
inc rdx
mov rcx, qword [rbp - 1]
mov rax, rcx
cmp rdx, rbx
jb 0x14013866c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x14013866c
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.14015a4ac
movdqa xmm0, xmmword [0x1401f3d90]
movdqu xmmword [rbp + 0xf], xmm0
mov byte [rbp - 1], r15b
call fcn.140141438
movsx edi, al
call fcn.140141434
movsx esi, al
mov r9d, esi
imul r9d, edi
call fcn.140141444
movsx r10d, al
imul ebx, r9d, 7
add ebx, r10d
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14013891b
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mov rax, r15
test r14, r14
sete al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140138764
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140138764
mov r11d, r13d
jmp 0x1401387ca
lea ecx, [r9 + r10]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + r9*8]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1401387c5
lea ecx, [r9 + r10]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + r9*2]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si r11d, xmm0
jmp 0x1401387ca
mov r11d, dword [rsp + 0x28]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
lea eax, [rax + r9*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, r11d
test eax, eax
je 0x14013891b
lea r10d, [r10 + r9*2]
add r10d, r9d
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1401388ab
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
jne 0x14013951f
call fcn.140141444
movsx eax, al
mov edx, esi
imul edx, edi
lea ecx, [rdx + rdx*8]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14013890e
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
jmp 0x140138912
mov eax, dword [rsp + 0x28]
cmp r15d, eax
jl 0x14013951f
lea r9, [rbp + 0x1f]
mov r8d, dword [rbp + 0x1f]
xor edx, edx
lea ecx, [rdx + 0x16]
call r14
mov r10d, eax
mov r11d, 0x3a9acc72
mov dword [rbp - 0x49], r11d
mov ebx, 8
cmp eax, 0xc0000004
jne 0x140138e50
call fcn.140141434
movsx edx, al
call fcn.140141438
movsx ecx, al
imul edx, ecx
call fcn.140141444
movsx ecx, al
lea r8d, [rcx + rdx*8]
mov dword [rbp - 0x59], r8d
call fcn.140141434
movsx edx, al
call fcn.140141438
movsx ecx, al
imul edx, ecx
imul r10d, edx, 7
call fcn.140141444
movsx ecx, al
add r10d, ecx
mov dword [rsp + 0x28], r10d
call fcn.140141434
movsx r12d, al
call fcn.140141438
movsx ecx, al
imul r12d, ecx
call fcn.140141444
movsx r9d, al
mov dword [rbp - 0x55], r9d
mov r13d, dword [rsp + 0x28]
jmp 0x1401389c0
mov r10d, dword [rsp + 0x28]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r8d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140138c89
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x1401f3c80]
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r10d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140138a73
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140138a73
mov r13d, 1
jmp 0x140138ad2
lea ecx, [r12 + r9]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + r12*8]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140138ad2
lea ecx, [r12 + r9]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + r12*2]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si r13d, xmm0
lea ecx, [r12 + r9]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + r12*8]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, r13d
test eax, eax
je 0x140138c89
mov r9, qword [0x14037cdd8]
test r9, r9
jne 0x140138c7c
mov edi, r15d
mov esi, r11d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov rbx, r14
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x140138b77
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
jmp 0x140138b6a
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140138b5b
cmp edx, edi
jne 0x140138c53
mov r10, qword [rbx + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rax, qword [rax + r10 + 0x88]
mov r11d, eax
add r11, r10
shr rax, 0x20
cmp r11, r10
je 0x140138c53
mov r9d, dword [r11 + 0x18]
test r9d, r9d
je 0x140138c53
mov r15d, dword [r11 + 0x20]
dec r9d
lea rdx, [r15 + r9*4]
mov r8d, dword [rdx + r10]
add r8, r10
mov edx, 0x811c9dc5
jmp 0x140138bcb
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x140138bc0
cmp edx, esi
je 0x140138be3
test r9d, r9d
jne 0x140138bab
xor r15d, r15d
jmp 0x140138c53
mov ecx, dword [r11 + 0x24]
add rcx, r10
movzx r8d, word [rcx + r9*2]
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov r9d, dword [rdx + r8*4]
add r9, r10
cmp r9, r11
jbe 0x140138ce3
lea rcx, [r11 + rax]
cmp r9, rcx
jae 0x140138ce3
mov eax, 0x811c9dc5
mov edi, eax
mov esi, eax
jmp 0x140138c2c
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x140138c1e
inc r9
xor r15d, r15d
jmp 0x140138c49
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc r9
mov al, byte [r9]
test al, al
jne 0x140138c3b
mov rbx, qword [r14]
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r14
je 0x140138c68
cmp qword [rax + 0x30], r15
jne 0x140138b30
mov r9, r15
mov qword [0x14037cdd8], r9
mov r14, qword [rsp + 0x30]
mov ebx, 8
xor edx, edx
xor ecx, ecx
mov r8d, 0x8000
call r9
mov r10, qword [0x14037cdd0]
test r10, r10
jne 0x140138e04
mov edi, r15d
mov esi, 0x3285501
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r10, r14
movups xmm0, xmmword [r10 + 0x58]
movd eax, xmm0
sub ax, bx
test edi, edi
je 0x140138d04
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
jmp 0x140138cf7
xor r15d, r15d
jmp 0x140138c6b
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x140138ce8
cmp edx, edi
jne 0x140138de0
mov r11, qword [r10 + 0x30]
movsxd rax, dword [r11 + 0x3c]
mov rax, qword [rax + r11 + 0x88]
mov ebx, eax
add rbx, r11
shr rax, 0x20
cmp rbx, r11
je 0x140138ddb
mov r9d, dword [rbx + 0x18]
test r9d, r9d
je 0x140138ddb
mov r15d, dword [rbx + 0x20]
dec r9d
lea rdx, [r11 + r9*4]
mov r8d, dword [rdx + r15]
add r8, r11
mov edx, 0x811c9dc5
jmp 0x140138d57
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x140138d4c
cmp edx, esi
je 0x140138d6f
test r9d, r9d
jne 0x140138d37
xor r15d, r15d
jmp 0x140138ddb
mov edx, dword [rbx + 0x24]
add rdx, r11
movzx r9d, word [rdx + r9*2]
mov edx, dword [rbx + 0x1c]
add rdx, r11
mov r10d, dword [rdx + r9*4]
add r10, r11
cmp r10, rbx
jbe 0x140138f50
lea rcx, [rbx + rax]
cmp r10, rcx
jae 0x140138f50
mov edi, 0x811c9dc5
mov esi, edi
jmp 0x140138db4
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
inc r10
mov al, byte [r10]
cmp al, 0x2e
jne 0x140138da6
inc r10
xor r15d, r15d
jmp 0x140138dd1
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc r10
mov al, byte [r10]
test al, al
jne 0x140138dc3
mov r10, qword [r14]
mov ebx, 8
mov rax, qword [r10]
mov r10, rax
cmp rax, r14
je 0x140138df5
cmp qword [rax + 0x30], r15
jne 0x140138cb8
mov r10, r15
mov qword [0x14037cdd0], r10
mov r14, qword [rsp + 0x30]
mov edx, dword [rbp + 0x1f]
xor ecx, ecx
lea r9d, [rcx + 4]
mov r8d, 0x3000
call r10
lea r9, [rbp + 0x1f]
mov r8d, dword [rbp + 0x1f]
xor edx, edx
lea ecx, [rdx + 0x16]
call r14
mov r10d, eax
cmp eax, 0xc0000004
mov r9d, dword [rbp - 0x55]
mov r8d, dword [rbp - 0x59]
mov ebx, 8
mov r11d, 0x3a9acc72
je 0x1401389bb
mov r12d, dword [rsp + 0x38]
lea r13d, [rbx - 7]
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*4]
call fcn.140141444
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139526
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
shr r10d, 0x1f
mov eax, r10d
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
imul r9d, edx, 7
call fcn.140141444
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140138f58
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140138f58
mov r9d, r13d
jmp 0x140138ff2
xor r15d, r15d
jmp 0x140138df8
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140141444
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140138fed
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140141444
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r9d, xmm0
jmp 0x140138ff2
mov r9d, dword [rsp + 0x28]
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*4]
call fcn.140141444
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, r9d
test eax, eax
je 0x140139526
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea edx, [rdx + rdx*2]
call fcn.140141444
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14013938f
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, qword [0x1401f3c80]
movsd qword [rsp + 0x30], xmm1
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
imul r9d, edx, 7
call fcn.140141444
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139130
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140139130
mov r10d, r13d
jmp 0x1401391ca
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140141444
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1401391c5
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140141444
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si r10d, xmm0
jmp 0x1401391ca
mov r10d, dword [rsp + 0x28]
call fcn.140141438
movsx r9d, al
call fcn.140141434
movsx ecx, al
imul r9d, ecx
call fcn.140141444
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, r10d
test eax, eax
je 0x14013938f
mov r9, qword [0x14037cdd8]
test r9, r9
jne 0x140139382
mov edi, r15d
mov esi, r11d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r14, qword [rax]
mov r9, r14
movups xmm0, xmmword [r9 + 0x58]
movd eax, xmm0
sub ax, bx
test edi, edi
je 0x140139287
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
jmp 0x14013927a
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14013926b
cmp edx, edi
jne 0x140139363
mov r10, qword [r9 + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rax, qword [rax + r10 + 0x88]
mov r11d, eax
add r11, r10
shr rax, 0x20
cmp r11, r10
je 0x140139363
mov ebx, dword [r11 + 0x18]
test ebx, ebx
je 0x14013935e
mov r15d, dword [r11 + 0x20]
dec ebx
lea rdx, [r10 + rbx*4]
mov r8d, dword [rdx + r15]
add r8, r10
mov edx, 0x811c9dc5
jmp 0x1401392d9
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
add r8, r13
test cl, cl
jne 0x1401392ce
cmp edx, esi
je 0x1401392f0
test ebx, ebx
jne 0x1401392ba
xor r15d, r15d
jmp 0x14013935e
mov edx, dword [r11 + 0x24]
add rdx, r10
movzx r9d, word [rdx + rbx*2]
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov r9d, dword [rdx + r9*4]
add r9, r10
cmp r9, r11
jbe 0x14013950e
lea rcx, [r11 + rax]
cmp r9, rcx
jae 0x14013950e
mov edi, 0x811c9dc5
mov esi, edi
jmp 0x140139337
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
add r9, r13
mov al, byte [r9]
cmp al, 0x2e
jne 0x140139329
add r9, r13
xor r15d, r15d
jmp 0x140139354
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
add r9, r13
mov al, byte [r9]
test al, al
jne 0x140139346
mov r9, qword [r14]
mov ebx, 8
mov rax, qword [r9]
mov r9, rax
cmp rax, r14
je 0x140139378
cmp qword [rax + 0x30], r15
jne 0x140139240
mov r9, r15
mov qword [0x14037cdd8], r9
xor edx, edx
xor ecx, ecx
mov r8d, 0x8000
call r9
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
call fcn.140141444
movsx ecx, al
lea eax, [rcx + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
imul r9d, edx, 7
call fcn.140141444
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14013947a
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
jne 0x14013951f
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140141444
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139516
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140141444
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
jmp 0x14013951a
xor r15d, r15d
jmp 0x14013937b
mov eax, dword [rsp + 0x28]
cmp r15d, eax
jge 0x140139526
xor al, al
jmp 0x14013a660
mov eax, 8
mov r9d, eax
mov qword [rsp + 0x30], rax
mov r10d, r15d
mov dword [rsp + 0x28], r15d
call fcn.140141434
movsx edx, al
call fcn.140141438
movsx ecx, al
imul edx, ecx
lea r11d, [rdx + rdx*4]
call fcn.140141444
movsx ecx, al
add r11d, ecx
mov dword [rbp - 0x4d], r11d
call fcn.140141434
movsx edx, al
call fcn.140141438
movsx ecx, al
imul edx, ecx
imul ebx, edx, 7
call fcn.140141444
movsx ecx, al
add ebx, ecx
mov dword [rsp + 0x3c], ebx
call fcn.140141434
movsx edx, al
call fcn.140141438
movsx ecx, al
imul edx, ecx
lea r13d, [rdx + rdx*2]
call fcn.140141444
movsx ecx, al
add r13d, ecx
call fcn.140141434
movsx edi, al
call fcn.140141438
movsx ecx, al
imul edi, ecx
call fcn.140141444
movsx esi, al
lea r14d, [r9 - 7]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139676
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140139676
mov eax, r14d
mov dword [rbp - 0x45], eax
jmp 0x1401396d0
lea ecx, [rdi + rsi]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rdi*8]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1401396cd
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
jmp 0x140139671
mov eax, dword [rbp - 0x45]
cmp r10d, eax
jge 0x14013a356
mov dword [rbp - 0x55], r15d
cmp dword [r15], r15d
jbe 0x14013a349
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14013a329
mov dword [rsp + 0x40], 0x979a5484
mov byte [rsp + 0x44], 0xf0
xor eax, eax
mov qword [rsp + 0x45], rax
mov dword [rbp - 0x7c], eax
mov word [rbp - 0x78], ax
mov byte [rbp - 0x76], al
mov qword [rsp + 0x20], r15
jmp 0x140139763
mov rdx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
mov cl, byte [rsp + rax + 0x40]
sub dl, 0x22
mov al, dl
and al, cl
add al, al
sub dl, al
sub dl, 0x12
add dl, cl
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x40], dl
mov rax, qword [rsp + 0x20]
add rax, r14
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x14
jb 0x14013972f
lea r14, [rsp + 0x40]
mov r15, r9
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, esi
lea eax, [rax + rdi*4]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139e12
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xor r10d, r10d
mov eax, r10d
test r9, r9
setne al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14013983b
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14013983b
mov dword [rbp - 0x41], 1
jmp 0x140139893
lea ecx, [rdi + rsi]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rdi*8]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139893
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp - 0x41], eax
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r11d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, dword [rbp - 0x41]
test eax, eax
je 0x140139e12
movsx ecx, byte [r9]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov ebx, eax
movsx ecx, byte [rsp + 0x40]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
cmp ebx, eax
jne 0x140139cc1
lea r12d, [rdi + rsi]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r12d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
xor r9d, r9d
cmp eax, ecx
je 0x140139b50
cmp byte [r15], r9b
jne 0x14013991a
cmp byte [r14], r9b
jne 0x14013991a
lea r10d, [r9 + 1]
mov edx, r10d
jmp 0x140139923
mov rdx, r9
mov r10d, 1
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
mov ebx, dword [rsp + 0x3c]
add eax, ebx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x1401399b7
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x1401399b7
mov dword [rbp - 0x3d], r10d
jmp 0x140139a0f
lea ecx, [rdi + rsi]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rdi*8]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139a0f
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp - 0x3d], eax
lea edx, [rdi + rdi*2]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, esi
lea eax, [rax + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, dword [rbp - 0x3d]
test eax, eax
je 0x140139b54
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139ae9
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
jne 0x140139d78
lea ecx, [rdi + rsi]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rdi*8]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139b43
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp - 0x35], eax
jmp 0x140139b46
mov eax, dword [rbp - 0x35]
test eax, eax
jg 0x140139d7c
jmp 0x140139b54
mov ebx, dword [rsp + 0x3c]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, esi
lea eax, [rax + rdi*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139c9d
cmp byte [r15], r9b
je 0x140139b87
cmp byte [r14], r9b
mov rdx, r9
jne 0x140139b8c
mov edx, 1
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139c1f
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140139c1f
mov dword [rbp - 0x39], 1
jmp 0x140139c77
lea ecx, [rdi + rsi]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rdi*8]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139c77
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp - 0x39], eax
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, dword [rbp - 0x39]
test eax, eax
jne 0x140139cc5
inc r15
inc r14
movsx ecx, byte [r15]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov ebx, eax
movsx ecx, byte [r14]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
cmp ebx, eax
je 0x1401398e0
mov ebx, dword [rsp + 0x3c]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, esi
lea eax, [rax + rdi*4]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139d8a
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140139d8a
mov dword [rbp - 0x31], 1
jmp 0x140139def
mov dword [rbp - 0x35], r10d
xor r15d, r15d
mov ebx, r15d
mov dword [rbp - 0x51], ebx
jmp 0x140139f3a
lea ecx, [rdi + rsi]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rdi*8]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139de6
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si r12d, xmm0
mov dword [rbp - 0x31], r12d
jmp 0x140139dea
mov r12d, dword [rbp - 0x31]
test r12d, r12d
jle 0x140139e12
movsx ecx, byte [r15]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
mov ebx, eax
movsx ecx, byte [r14]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_tolower]
sub ebx, eax
mov dword [rbp - 0x51], ebx
xor r15d, r15d
jmp 0x140139f3a
lea edx, [rdi + rdi*4]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, esi
lea eax, [rax + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139ecb
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140139ecb
mov dword [rbp - 0x2d], 1
xor r15d, r15d
jmp 0x140139f2f
lea ecx, [rdi + rsi]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rdi*8]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139f25
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp - 0x2d], eax
jmp 0x140139f28
mov eax, dword [rbp - 0x2d]
xor r15d, r15d
test eax, eax
jle 0x140139f37
or ebx, 0xffffffff
jmp 0x140139d82
mov ebx, dword [rbp - 0x51]
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mov rax, r15
test ebx, ebx
sete al
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
mov ebx, dword [rsp + 0x3c]
add eax, ebx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x140139fdc
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x140139fdc
mov r10d, 1
mov dword [rbp - 0x29], r10d
jmp 0x14013a03a
lea ecx, [rdi + rsi]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rdi*8]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
mov r10d, 1
cmp eax, ecx
je 0x14013a03a
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x20]
cvttsd2si eax, xmm0
mov dword [rbp - 0x29], eax
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, esi
lea eax, [rax + rdi*4]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, dword [rbp - 0x29]
mov r9, qword [rsp + 0x30]
test eax, eax
je 0x14013a31a
lea edx, [rdi + rdi*4]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, esi
lea eax, [rax + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14013a31a
cmp dword [r9 + 4], r15d
jne 0x14013a0a3
cmp dword [r9 + 0x18], r15d
mov rdx, r15
je 0x14013a0a6
mov rdx, r10
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14013a136
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14013a136
mov dword [rbp - 0x25], r10d
jmp 0x14013a18e
lea ecx, [rdi + rsi]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rdi*8]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14013a18e
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rbp - 0x25], eax
movsx eax, byte [reloc.WS2_32.dll_htons]
mov r11d, dword [rbp - 0x4d]
add eax, r11d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, dword [rbp - 0x25]
test eax, eax
je 0x14013a31e
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, edi
add eax, esi
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14013a31e
cmp qword [r9 + 0x20], 0xa
ja 0x14013a1f2
cmp qword [r9 + 0x10], 0xa
mov rdx, r15
jbe 0x14013a1f5
mov rdx, r10
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
xorps xmm0, xmm0
cvtsi2sd xmm0, rdx
mulsd xmm1, xmm0
movsd qword [rsp + 0x30], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, ebx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14013a285
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
je 0x14013a285
mov dword [rbp - 0x59], r10d
jmp 0x14013a2dd
lea ecx, [rdi + rsi]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rdi*8]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14013a2dd
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r13d
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
mov dword [rbp - 0x59], eax
lea edx, [rdi + rdi*2]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, esi
lea eax, [rax + rdx*2]
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
imul eax, dword [rbp - 0x59]
mov r12d, dword [rsp + 0x38]
movzx r12d, r12b
test eax, eax
cmovne r12d, r10d
mov dword [rsp + 0x38], r12d
jmp 0x14013a323
mov r11d, dword [rbp - 0x4d]
mov r12d, dword [rsp + 0x38]
mov r14d, 1
add r9, 0x28
mov qword [rsp + 0x30], r9
mov eax, dword [rbp - 0x55]
add eax, r14d
mov dword [rbp - 0x55], eax
cmp eax, dword [r15]
jb 0x1401396e6
mov r10d, dword [rsp + 0x28]
add r10d, r14d
mov dword [rsp + 0x28], r10d
jmp 0x1401395c6
mov r9, qword [0x14037cdd8]
test r9, r9
jne 0x14013a4c4
mov edi, r15d
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov rsi, qword [rax]
mov r9, rsi
movups xmm0, xmmword [r9 + 0x58]
movd eax, xmm0
sub ax, 8
test edi, edi
je 0x14013a3c8
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
jmp 0x14013a3bb
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14013a3ac
cmp edx, edi
jne 0x14013a4a5
mov r10, qword [r9 + 0x30]
movsxd rax, dword [r10 + 0x3c]
mov rax, qword [rax + r10 + 0x88]
mov r11d, eax
add r11, r10
shr rax, 0x20
cmp r11, r10
je 0x14013a4a5
mov ebx, dword [r11 + 0x18]
test ebx, ebx
je 0x14013a4a5
mov r14d, dword [r11 + 0x20]
mov r13d, 1
dec ebx
lea rdx, [r10 + rbx*4]
mov r8d, dword [rdx + r14]
add r8, r10
mov edx, 0x811c9dc5
jmp 0x14013a420
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
add r8, r13
test cl, cl
jne 0x14013a415
cmp edx, dword [rbp - 0x49]
je 0x14013a435
test ebx, ebx
jne 0x14013a401
jmp 0x14013a4a5
mov edx, dword [r11 + 0x24]
add rdx, r10
movzx r9d, word [rdx + rbx*2]
mov edx, dword [r11 + 0x1c]
add rdx, r10
mov r9d, dword [rdx + r9*4]
add r9, r10
cmp r9, r11
jbe 0x14013a4bd
lea rcx, [r11 + rax]
cmp r9, rcx
jae 0x14013a4bd
mov eax, 0x811c9dc5
mov edi, eax
mov ecx, eax
mov dword [rbp - 0x49], eax
jmp 0x14013a479
movsx eax, al
xor eax, edi
imul edi, eax, 0x1000193
add r9, r13
mov al, byte [r9]
cmp al, 0x2e
jne 0x14013a46b
add r9, r13
mov al, byte [r9]
test al, al
je 0x14013a4a2
movsx eax, al
xor eax, ecx
imul ecx, eax, 0x1000193
add r9, r13
mov al, byte [r9]
test al, al
jne 0x14013a48a
mov dword [rbp - 0x49], ecx
mov r9, qword [rsi]
mov rax, qword [r9]
mov r9, rax
cmp rax, rsi
je 0x14013a4ba
cmp qword [rax + 0x30], r15
jne 0x14013a380
mov r9, r15
mov qword [0x14037cdd8], r9
xor edx, edx
xor ecx, ecx
mov r8d, 0x8000
call r9
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
imul r9d, edx, 7
call fcn.140141444
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm2, xmm2
cvtsi2sd xmm2, rax
movsx eax, byte [reloc.WS2_32.dll_getsockopt]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
movsx eax, byte [reloc.WS2_32.dll_closesocket]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
addsd xmm0, xmm0
subsd xmm1, xmm0
mulsd xmm1, xmm2
movsd qword [rsp + 0x30], xmm1
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
imul r9d, edx, 7
call fcn.140141444
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14013a5c0
call fcn.14014143c
movsx edx, al
movsx eax, byte [0x14037a680]
imul edx, eax
add edx, edx
call fcn.140141448
movsx ecx, al
sub edx, ecx
call fcn.140141440
movsx ecx, al
add edx, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, edx
jne 0x14013a65d
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*8]
call fcn.140141444
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
cmp eax, ecx
je 0x14013a654
call fcn.140141438
movsx edx, al
call fcn.140141434
movsx ecx, al
imul edx, ecx
lea r9d, [rdx + rdx*2]
call fcn.140141444
movsx eax, al
add eax, r9d
movsx ecx, byte [reloc.WS2_32.dll_htons]
add eax, ecx
movsx ecx, byte [reloc.WS2_32.dll_htonl]
xor edx, edx
div ecx
movsx ecx, byte [reloc.WS2_32.dll_accept]
sub eax, ecx
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm0, qword [rsp + 0x30]
cvttsd2si eax, xmm0
jmp 0x14013a658
mov eax, dword [rsp + 0x28]
cmp r15d, eax
jge 0x14013a660
mov al, r12b
mov rcx, qword [rbp + 0x27]
xor rcx, rsp
call fcn.14015a2d0
lea r11, [rsp + 0x100]
mov rbx, qword [r11 + 0x30]
mov rsi, qword [r11 + 0x38]
mov rdi, qword [r11 + 0x40]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret