Function at 0x180004070
Capabilities:
Contain obfuscated stackstrings
Parse pe header

Disassembly:
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rsi
mov qword [rsp + 0x20], rdi
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x4c0]
sub rsp, 0x5c0
mov rax, qword [0x180230100]
xor rax, rsp
mov qword [rbp + 0x4b0], rax
mov rbx, rcx
mov qword [rbp + 0x40], rcx
xor r13d, r13d
lea rax, [rcx + 0x48]
mov qword [rbp + 0x110], rax
mov rcx, rax
cmp qword [rax + 0x18], 0xf
jbe 0x1800040ca
mov rcx, qword [rax]
mov qword [rax + 0x10], r13
mov byte [rcx], r13b
lea rcx, [rbp + 0x470]
call fcn.180007b40
mov rdi, rax
add rbx, 0x68
cmp rbx, rax
je 0x18000414b
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x18000411f
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x18000411a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180004183
mov rcx, r8
call fcn.1800d084c
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], r13b
movups xmm0, xmmword [rdi]
movups xmmword [rbx], xmm0
movups xmm1, xmmword [rdi + 0x10]
movups xmmword [rbx + 0x10], xmm1
mov qword [rdi + 0x10], r13
mov qword [rdi + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rdi], r13b
mov rdx, qword [rbp + 0x488]
cmp rdx, 0xf
jbe 0x18000418f
inc rdx
mov rcx, qword [rbp + 0x470]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000418a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000418a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800d084c
mov byte [rsp + 0x30], 0x3e
mov al, 0x55
mov cl, 0x5b
mov dl, 0x47
mov r8b, 0x5f
mov r9b, 0x4b
mov r10b, 0x4a
mov r11b, 0x56
mov bl, 0x61
movzx edi, r11b
mov sil, 0x49
mov r14b, 0x57
mov r15b, 0x5a
xor r12d, r12d
xor al, 0x3e
mov byte [rsp + 0x31], al
xor cl, 0x3e
mov byte [rsp + 0x32], cl
xor dl, 0x3e
mov byte [rsp + 0x33], dl
xor r8b, 0x3e
mov byte [rsp + 0x34], r8b
xor r9b, 0x3e
mov byte [rsp + 0x35], r9b
xor r10b, 0x3e
mov byte [rsp + 0x36], r10b
xor r11b, 0x3e
mov byte [rsp + 0x37], r11b
xor bl, 0x3e
mov byte [rsp + 0x38], bl
xor dil, 0x3e
mov byte [rsp + 0x39], dil
xor sil, 0x3e
mov byte [rsp + 0x3a], sil
xor r14b, 0x3e
mov byte [rsp + 0x3b], r14b
xor r15b, 0x3e
mov byte [rsp + 0x3c], r15b
mov byte [rsp + 0x3d], r12b
mov byte [rbp + 0xe0], r12b
xor eax, eax
mov qword [rbp + 0xe8], rax
xor edx, edx
lea rcx, [rbp + 0xe8]
call fcn.18000b310
mov byte [rbp + 0xe0], 3
xorps xmm0, xmm0
movups xmmword [rbp + 0x460], xmm0
lea ecx, [r12 + 0x20]
call fcn.1800d0a4c
mov rbx, rax
lea rax, [rbp + 0x450]
mov qword [rbp + 0x460], rax
mov qword [rbp + 0x468], rbx
lea rdx, [rsp + 0x31]
mov rcx, rbx
call fcn.18000a1d0
nop
mov qword [rbp + 0xe8], rbx
mov qword [rbp + 0xf0], r13
lea rcx, [rbp + 0x3f0]
call fcn.180009090
mov rbx, rax
mov byte [rbp + 0xf8], r12b
xor eax, eax
mov qword [rbp + 0x100], rax
xor edx, edx
lea rcx, [rbp + 0x100]
call fcn.18000b310
mov byte [rbp + 0xf8], 3
lea ecx, [r12 + 0x20]
call fcn.1800d0a4c
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], r13
movups xmm0, xmmword [rbx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm1
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], r12b
mov qword [rbp + 0x100], rax
mov qword [rbp + 0x108], r13
lea rax, [rbp + 0xe0]
mov qword [rbp + 0x460], rax
lea rax, [rbp + 0x110]
mov qword [rbp + 0x468], rax
mov r9b, 2
mov r8b, 1
lea rdx, [rbp + 0x460]
lea rcx, [rbp + 0x260]
call fcn.180009ac0
mov qword [rbp + 0x270], r13
mov byte [rsp + 0x30], reloc.WLDAP32.dll_Ordinal_79
mov al, 0x3f
mov cl, reloc.WLDAP32.dll_Ordinal_33
movzx edx, al
mov r8b, reloc.WS2_32.dll_recv
mov r9b, 0x26
mov r10b, Ordinal_45
xor r11d, r11d
xor al, 0x4f
mov byte [rsp + 0x31], al
xor cl, 0x4f
mov byte [rsp + 0x32], cl
xor dl, 0x4f
mov byte [rsp + 0x33], dl
xor r8b, 0x4f
mov byte [rsp + 0x34], r8b
xor r9b, 0x4f
mov byte [rsp + 0x35], r9b
xor r10b, 0x4f
mov byte [rsp + 0x36], r10b
mov byte [rsp + 0x37], r11b
mov byte [rbp + 0xb0], r11b
xor eax, eax
mov qword [rbp + 0xb8], rax
xor edx, edx
lea rcx, [rbp + 0xb8]
call fcn.18000b310
mov byte [rbp + 0xb0], 3
xorps xmm0, xmm0
movups xmmword [rbp + 0x460], xmm0
lea ecx, [r12 + 0x20]
call fcn.1800d0a4c
mov rbx, rax
lea rax, [rbp + 0x450]
mov qword [rbp + 0x460], rax
mov qword [rbp + 0x468], rbx
lea rdx, [rsp + 0x31]
mov rcx, rbx
call fcn.18000a1d0
nop
mov qword [rbp + 0xb8], rbx
mov qword [rbp + 0xc0], r13
movdqa xmm1, xmmword [0x1802129f0]
movdqu xmmword [rbp - 0x58], xmm1
movdqa xmm2, xmmword [0x1802129c0]
movdqu xmmword [rbp - 0x48], xmm2
mov dl, Ordinal_32
movzx r8d, dl
mov r9b, reloc.WLDAP32.dll_Ordinal_22
mov r10b, 1
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rbp - 0x57], al
xor byte [rbp - 0x56], cl
xor byte [rbp - 0x55], cl
xor byte [rbp - 0x54], cl
xor byte [rbp - 0x53], cl
xor byte [rbp - 0x52], cl
xor byte [rbp - 0x51], cl
xor byte [rbp - 0x50], cl
xor byte [rbp - 0x4f], cl
xor byte [rbp - 0x4e], cl
xor byte [rbp - 0x4d], cl
xor byte [rbp - 0x4c], cl
xor byte [rbp - 0x4b], cl
xor byte [rbp - 0x4a], cl
xor byte [rbp - 0x49], cl
movd eax, xmm2
xor al, cl
mov byte [rbp - 0x48], al
xor byte [rbp - 0x47], cl
xor byte [rbp - 0x46], cl
xor byte [rbp - 0x45], cl
xor byte [rbp - 0x44], cl
xor byte [rbp - 0x43], cl
xor byte [rbp - 0x42], cl
xor byte [rbp - 0x41], cl
xor byte [rbp - 0x40], cl
xor byte [rbp - 0x3f], cl
xor byte [rbp - 0x3e], cl
xor byte [rbp - 0x3d], cl
xor byte [rbp - 0x3c], cl
xor byte [rbp - 0x3b], cl
xor byte [rbp - 0x3a], cl
xor byte [rbp - 0x39], cl
xor dl, cl
mov byte [rbp - 0x38], dl
xor r8b, cl
mov byte [rbp - 0x37], r8b
xor r9b, cl
mov byte [rbp - 0x36], r9b
xor r10b, cl
mov byte [rbp - 0x35], r10b
mov byte [rbp - 0x34], r12b
lea r8, str.PNPDeviceID
lea rdx, [rbp - 0x57]
lea rcx, [rbp + 0x3d0]
call fcn.1800082b0
mov rbx, rax
mov byte [rbp + 0xc8], r12b
xor eax, eax
mov qword [rbp + 0xd0], rax
xor edx, edx
lea rcx, [rbp + 0xd0]
call fcn.18000b310
mov byte [rbp + 0xc8], 3
lea ecx, [r12 + 0x20]
call fcn.1800d0a4c
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov qword [rax + 0x10], r13
mov qword [rax + 0x18], r13
movups xmm0, xmmword [rbx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm1
mov qword [rbx + 0x10], r13
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], r12b
mov qword [rbp + 0xd0], rax
mov qword [rbp + 0xd8], r13
lea rax, [rbp + 0xb0]
mov qword [rbp + 0x460], rax
lea rax, [rbp + 0xe0]
mov qword [rbp + 0x468], rax
mov r9b, 2
mov r8b, 1
lea rdx, [rbp + 0x460]
lea rcx, [rbp + 0x278]
call fcn.180009ac0
mov qword [rbp + 0x288], r13
mov byte [rsp + 0x30], reloc.WLDAP32.dll_Ordinal_22
mov al, 0x5b
mov cl, 0x79
mov dl, 0x62
mov r8b, 0x7e
mov r9b, reloc.WS2_32.dll_WSAStartup
mov r10b, 0x64
mov r11b, reloc.WS2_32.dll_WSACleanup
movzx ebx, cl
mov dil, 0x77
movzx esi, r10b
mov r14b, WSACleanup
xor r15d, r15d
xor al, 0x16
mov byte [rsp + 0x31], al
xor cl, 0x16
mov byte [rsp + 0x32], cl
xor dl, 0x16
mov byte [rsp + 0x33], dl
xor r8b, 0x16
mov byte [rsp + 0x34], r8b
xor r9b, 0x16
mov byte [rsp + 0x35], r9b
xor r10b, 0x16
mov byte [rsp + 0x36], r10b
xor r11b, 0x16
mov byte [rsp + 0x37], r11b
xor bl, 0x16
mov byte [rsp + 0x38], bl
xor dil, 0x16
mov byte [rsp + 0x39], dil
xor sil, 0x16
mov byte [rsp + 0x3a], sil
xor r14b, 0x16
mov byte [rsp + 0x3b], r14b
mov byte [rsp + 0x3c], r15b
mov byte [rbp + 0x80], r15b
xor eax, eax
mov qword [rbp + 0x88], rax
xor edx, edx
lea rcx, [rbp + 0x88]
call fcn.18000b310
mov byte [rbp + 0x80], 3
xorps xmm0, xmm0
movups xmmword [rbp + 0x460], xmm0
lea ecx, [r12 + 0x20]
call fcn.1800d0a4c
mov rbx, rax
lea rax, [rbp + 0x450]
mov qword [rbp + 0x460], rax
mov qword [rbp + 0x468], rbx
lea rdx, [rsp + 0x31]
mov rcx, rbx
call fcn.18000a1d0
nop
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x90], r13
movdqa xmm1, xmmword [0x180212910]
movdqu xmmword [rbp - 0x30], xmm1
mov cl, 0x3a
mov dl, 0x3d
mov r8b, 0x60
mov r9b, 0x61
mov r10b, listen
mov bl, reloc.WS2_32.dll_recvfrom
mov dil, reloc.WLDAP32.dll_Ordinal_50
mov sil, reloc.WLDAP32.dll_Ordinal_32
mov r14b, 0x36
movzx r15d, bl
mov r12b, reloc.WLDAP32.dll_Ordinal_60
movzx r13d, dil
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd r11d, xmm1
xor al, r11b
mov byte [rbp - 0x2f], al
xor byte [rbp - 0x2e], r11b
xor byte [rbp - 0x2d], r11b
xor byte [rbp - 0x2c], r11b
xor byte [rbp - 0x2b], r11b
xor byte [rbp - 0x2a], r11b
xor byte [rbp - 0x29], r11b
xor byte [rbp - 0x28], r11b
xor byte [rbp - 0x27], r11b
xor byte [rbp - 0x26], r11b
xor byte [rbp - 0x25], r11b
xor byte [rbp - 0x24], r11b
xor byte [rbp - 0x23], r11b
xor byte [rbp - 0x22], r11b
xor byte [rbp - 0x21], r11b
xor cl, r11b
mov byte [rbp - 0x20], cl
xor dl, r11b
mov byte [rbp - 0x1f], dl
xor r8b, r11b
mov byte [rbp - 0x1e], r8b
xor r9b, r11b
mov byte [rbp - 0x1d], r9b
xor r10b, r11b
mov byte [rbp - 0x1c], r10b
xor bl, r11b
mov byte [rbp - 0x1b], bl
xor dil, r11b
mov byte [rbp - 0x1a], dil
xor sil, r11b
mov byte [rbp - 0x19], sil
xor r14b, r11b
mov byte [rbp - 0x18], r14b
xor r15b, r11b
mov byte [rbp - 0x17], r15b
xor r12b, r11b
mov byte [rbp - 0x16], r12b
xor r13b, r11b
mov byte [rbp - 0x15], r13b
mov al, reloc.WLDAP32.dll_Ordinal_33
xor al, r11b
mov byte [rbp - 0x14], al
mov al, 0x37
xor al, r11b
mov byte [rbp - 0x13], al
mov byte [rbp - 0x12], 0
lea r8, str.Product
lea rdx, [rbp - 0x2f]
lea rcx, [rbp + 0x3b0]
call fcn.1800082b0
mov rbx, rax
mov byte [rbp + 0x98], 0
xor eax, eax
mov qword [rbp + 0xa0], rax
xor edx, edx
lea rcx, [rbp + 0xa0]
call fcn.18000b310
mov byte [rbp + 0x98], 3
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call fcn.1800d0a4c
xorps xmm0, xmm0
movups xmmword [rax], xmm0
xor edi, edi
mov qword [rax + 0x10], rdi
mov qword [rax + 0x18], rdi
movups xmm0, xmmword [rbx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm1
mov qword [rbx + 0x10], rdi
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], dil
mov qword [rbp + 0xa0], rax
mov qword [rbp + 0xa8], rdi
lea rax, [rbp + 0x80]
mov qword [rbp + 0x460], rax
lea rax, [rbp + 0xb0]
mov qword [rbp + 0x468], rax
mov r9b, 2
mov r8b, 1
lea rdx, [rbp + 0x460]
lea rcx, [rbp + 0x290]
call fcn.180009ac0
mov qword [rbp + 0x2a0], rdi
mov byte [rsp + 0x30], WSAGetLastError
mov al, Ordinal_41
mov cl, Ordinal_60
mov dl, 0x3e
xor r8d, r8d
xor al, 0x6b
mov byte [rsp + 0x31], al
xor cl, 0x6b
mov byte [rsp + 0x32], cl
xor dl, 0x6b
mov byte [rsp + 0x33], dl
mov byte [rsp + 0x34], r8b
mov byte [rbp + 0x50], r8b
xor eax, eax
mov qword [rbp + 0x58], rax
xor edx, edx
lea rcx, [rbp + 0x58]
call fcn.18000b310
mov byte [rbp + 0x50], 3
xorps xmm0, xmm0
movups xmmword [rbp + 0x460], xmm0
lea ecx, [rdi + 0x20]
call fcn.1800d0a4c
mov rbx, rax
lea rax, [rbp + 0x450]
mov qword [rbp + 0x460], rax
mov qword [rbp + 0x468], rbx
lea rdx, [rsp + 0x31]
mov rcx, rbx
call fcn.18000a1d0
nop
mov qword [rbp + 0x58], rbx
mov qword [rbp + 0x60], rdi
movdqa xmm1, xmmword [0x180212b50]
movdqu xmmword [rbp - 0x10], xmm1
mov cl, 0x58
mov dl, 0x5f
mov r8b, 2
mov r9b, 3
mov r10b, WSASetLastError
mov bl, 0x61
mov dil, 0x43
mov sil, 0x5e
mov r14b, 0x52
mov r15b, 0x54
mov r12b, 0x42
movzx r13d, r12b
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd r11d, xmm1
xor al, r11b
mov byte [rbp - 0xf], al
xor byte [rbp - 0xe], r11b
xor byte [rbp - 0xd], r11b
xor byte [rbp - 0xc], r11b
xor byte [rbp - 0xb], r11b
xor byte [rbp - 0xa], r11b
xor byte [rbp - 9], r11b
xor byte [rbp - 8], r11b
xor byte [rbp - 7], r11b
xor byte [rbp - 6], r11b
xor byte [rbp - 5], r11b
xor byte [rbp - 4], r11b
xor byte [rbp - 3], r11b
xor byte [rbp - 2], r11b
xor byte [rbp - 1], r11b
xor cl, r11b
mov byte [rbp], cl
xor dl, r11b
mov byte [rbp + 1], dl
xor r8b, r11b
mov byte [rbp + 2], r8b
xor r9b, r11b
mov byte [rbp + 3], r9b
xor r10b, r11b
mov byte [rbp + 4], r10b
xor bl, r11b
mov byte [rbp + 5], bl
xor dil, r11b
mov byte [rbp + 6], dil
xor sil, r11b
mov byte [rbp + 7], sil
xor r14b, r11b
mov byte [rbp + 8], r14b
xor r15b, r11b
mov byte [rbp + 9], r15b
xor r12b, r11b
mov byte [rbp + 0xa], r12b
xor r13b, r11b
mov byte [rbp + 0xb], r13b
mov al, 0x5e
xor al, r11b
mov byte [rbp + 0xc], al
mov al, 0x43
xor al, r11b
mov byte [rbp + 0xd], al
mov byte [rbp + 0xe], 0
lea r8, str.Name
lea rdx, [rbp - 0xf]
lea rcx, [rbp + 0x390]
call fcn.1800082b0
mov rbx, rax
mov byte [rbp + 0x68], 0
xor eax, eax
mov qword [rbp + 0x70], rax
xor edx, edx
lea rcx, [rbp + 0x70]
call fcn.18000b310
mov byte [rbp + 0x68], 3
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call fcn.1800d0a4c
xorps xmm0, xmm0
movups xmmword [rax], xmm0
xor ecx, ecx
mov qword [rax + 0x10], rcx
mov qword [rax + 0x18], rcx
movups xmm0, xmmword [rbx]
movups xmmword [rax], xmm0
movups xmm1, xmmword [rbx + 0x10]
movups xmmword [rax + 0x10], xmm1
mov qword [rbx + 0x10], rcx
mov qword [rbx + 0x18], reloc.WS2_32.dll_ntohs
mov byte [rbx], cl
mov qword [rbp + 0x70], rax
mov qword [rbp + 0x78], rcx
lea rax, [rbp + 0x50]
mov qword [rbp + 0x460], rax
lea rax, [rbp + 0x80]
mov qword [rbp + 0x468], rax
lea rdx, [rbp + 0x460]
lea rcx, [rbp + 0x2a8]
call fcn.180009360
nop
mov byte [rbp + 0x10], Ordinal_35
mov al, reloc.WS2_32.dll_WSASetLastError
mov cl, 0x63
mov dl, reloc.WS2_32.dll_WSAGetLastError
xor r8d, r8d
xor al, 0x22
mov byte [rbp + 0x11], al
xor cl, 0x22
mov byte [rbp + 0x12], cl
xor dl, 0x22
mov byte [rbp + 0x13], dl
mov byte [rbp + 0x14], r8b
lea rax, [rbp + 0x11]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x128]
call fcn.18000c870
nop
movdqa xmm1, xmmword [0x180212b60]
movdqu xmmword [rsp + 0x58], xmm1
movdqa xmm2, xmmword [0x180212ad0]
movdqu xmmword [rsp + 0x68], xmm2
mov dl, 0x51
mov r8b, 0x4c
mov r9b, 0x47
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rsp + 0x59], al
xor byte [rsp + 0x5a], cl
xor byte [rsp + 0x5b], cl
xor byte [rsp + 0x5c], cl
xor byte [rsp + 0x5d], cl
xor byte [rsp + 0x5e], cl
xor byte [rsp + 0x5f], cl
xor byte [rsp + 0x60], cl
xor byte [rsp + 0x61], cl
xor byte [rsp + 0x62], cl
xor byte [rsp + 0x63], cl
xor byte [rsp + 0x64], cl
xor byte [rsp + 0x65], cl
xor byte [rsp + 0x66], cl
xor byte [rsp + 0x67], cl
movd eax, xmm2
xor al, cl
mov byte [rsp + 0x68], al
xor byte [rsp + 0x69], cl
xor byte [rsp + 0x6a], cl
xor byte [rsp + 0x6b], cl
xor byte [rsp + 0x6c], cl
xor byte [rsp + 0x6d], cl
xor byte [rsp + 0x6e], cl
xor byte [rsp + 0x6f], cl
xor byte [rsp + 0x70], cl
xor byte [rsp + 0x71], cl
xor byte [rsp + 0x72], cl
xor byte [rsp + 0x73], cl
xor byte [rsp + 0x74], cl
xor byte [rsp + 0x75], cl
xor byte [rsp + 0x76], cl
xor byte [rsp + 0x77], cl
xor dl, cl
mov byte [rsp + 0x78], dl
xor r8b, cl
mov byte [rsp + 0x79], r8b
xor r9b, cl
mov byte [rsp + 0x7a], r9b
mov byte [rsp + 0x7b], 0
lea r8, str.PartNumber
lea rdx, [rsp + 0x59]
lea rcx, [rbp + 0x370]
call fcn.1800082b0
nop
mov rcx, rax
call fcn.180009e50
mov rcx, rax
call fcn.180009020
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x140]
call fcn.18000c870
nop
lea rax, [rbp + 0x128]
mov qword [rbp + 0x460], rax
lea rax, [rbp + 0x158]
mov qword [rbp + 0x468], rax
lea rdx, [rbp + 0x460]
lea rcx, [rbp + 0x2c0]
call fcn.180009360
nop
mov byte [rbp + 0x18], 0x59
mov al, 0xa
movzx ecx, al
mov dl, Ordinal_30
mov r8b, reloc.WS2_32.dll_WSACleanup
mov r9b, reloc.WS2_32.dll_recvfrom
movzx r10d, dl
movzx r11d, dl
xor ebx, ebx
xor al, 0x59
mov byte [rbp + 0x19], al
xor cl, 0x59
mov byte [rbp + 0x1a], cl
xor dl, 0x59
mov byte [rbp + 0x1b], dl
xor r8b, 0x59
mov byte [rbp + 0x1c], r8b
xor r9b, 0x59
mov byte [rbp + 0x1d], r9b
xor r10b, 0x59
mov byte [rbp + 0x1e], r10b
xor r11b, 0x59
mov byte [rbp + 0x1f], r11b
mov byte [rbp + 0x20], bl
lea rax, [rbp + 0x19]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x228]
call fcn.18000c870
nop
movdqa xmm1, xmmword [0x180212ae0]
movdqu xmmword [rbp + 0x470], xmm1
mov cl, 0x68
mov dl, reloc.WS2_32.dll_WSAGetLastError
mov r8b, reloc.WLDAP32.dll_Ordinal_50
mov r9b, 0x33
mov r10b, 0x5e
mov bl, 0x45
movzx edi, cl
mov sil, WSACleanup
mov r14b, 0x6a
movzx r15d, bl
mov r12b, reloc.WS2_32.dll_WSAStartup
movzx r13d, cl
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd r11d, xmm1
xor al, r11b
mov byte [rbp + 0x471], al
xor byte [rbp + 0x472], r11b
xor byte [rbp + 0x473], r11b
xor byte [rbp + 0x474], r11b
xor byte [rbp + 0x475], r11b
xor byte [rbp + 0x476], r11b
xor byte [rbp + 0x477], r11b
xor byte [rbp + 0x478], r11b
xor byte [rbp + 0x479], r11b
xor byte [rbp + 0x47a], r11b
xor byte [rbp + 0x47b], r11b
xor byte [rbp + 0x47c], r11b
xor byte [rbp + 0x47d], r11b
xor byte [rbp + 0x47e], r11b
xor byte [rbp + 0x47f], r11b
xor cl, r11b
mov byte [rbp + 0x480], cl
xor dl, r11b
mov byte [rbp + 0x481], dl
xor r8b, r11b
mov byte [rbp + 0x482], r8b
xor r9b, r11b
mov byte [rbp + 0x483], r9b
xor r10b, r11b
mov byte [rbp + 0x484], r10b
xor bl, r11b
mov byte [rbp + 0x485], bl
xor dil, r11b
mov byte [rbp + 0x486], dil
xor sil, r11b
mov byte [rbp + 0x487], sil
xor r14b, r11b
mov byte [rbp + 0x488], r14b
xor r15b, r11b
mov byte [rbp + 0x489], r15b
xor r12b, r11b
mov byte [rbp + 0x48a], r12b
xor r13b, r11b
mov byte [rbp + 0x48b], r13b
mov al, 0x77
xor al, r11b
mov byte [rbp + 0x48c], al
mov al, 0x64
xor al, r11b
mov byte [rbp + 0x48d], al
mov byte [rbp + 0x48e], 0
lea r8, str.Model
lea rdx, [rbp + 0x471]
lea rcx, [rbp + 0x350]
call fcn.1800082b0
nop
mov rdx, rax
lea rcx, [rbp + 0x240]
call fcn.18000c910
nop
lea rax, [rbp + 0x228]
mov qword [rbp + 0x460], rax
lea rax, [rbp + 0x258]
mov qword [rbp + 0x468], rax
lea rdx, [rbp + 0x460]
lea rcx, [rbp + 0x2d8]
call fcn.180009360
nop
mov byte [rsp + 0x40], Ordinal_33
mov al, 0x78
mov cl, reloc.WS2_32.dll_WSAGetLastError
mov dl, 0x6a
xor r8d, r8d
xor al, 0x1f
mov byte [rsp + 0x41], al
xor cl, 0x1f
mov byte [rsp + 0x42], cl
xor dl, 0x1f
mov byte [rsp + 0x43], dl
mov byte [rsp + 0x44], r8b
lea rax, [rsp + 0x41]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x1f8]
call fcn.18000c870
nop
movdqa xmm1, xmmword [0x180212b20]
movdqu xmmword [rbp - 0x80], xmm1
movdqa xmm2, xmmword [0x180212b40]
movdqu xmmword [rbp - 0x70], xmm2
mov dl, 0x60
movzx r9d, dl
mov r10b, 0x69
mov r11b, 0x7e
movdqa xmm0, xmm1
psrldq xmm0, 1
movd eax, xmm0
movd ecx, xmm1
xor al, cl
mov byte [rbp - 0x7f], al
xor byte [rbp - 0x7e], cl
xor byte [rbp - 0x7d], cl
xor byte [rbp - 0x7c], cl
xor byte [rbp - 0x7b], cl
xor byte [rbp - 0x7a], cl
xor byte [rbp - 0x79], cl
xor byte [rbp - 0x78], cl
xor byte [rbp - 0x77], cl
xor byte [rbp - 0x76], cl
xor byte [rbp - 0x75], cl
xor byte [rbp - 0x74], cl
xor byte [rbp - 0x73], cl
xor byte [rbp - 0x72], cl
xor byte [rbp - 0x71], cl
movd eax, xmm2
xor al, cl
mov byte [rbp - 0x70], al
xor byte [rbp - 0x6f], cl
xor byte [rbp - 0x6e], cl
xor byte [rbp - 0x6d], cl
xor byte [rbp - 0x6c], cl
xor byte [rbp - 0x6b], cl
xor byte [rbp - 0x6a], cl
xor byte [rbp - 0x69], cl
xor byte [rbp - 0x68], cl
xor byte [rbp - 0x67], cl
xor byte [rbp - 0x66], cl
xor byte [rbp - 0x65], cl
xor byte [rbp - 0x64], cl
xor byte [rbp - 0x63], cl
xor byte [rbp - 0x62], cl
xor byte [rbp - 0x61], cl
xor dl, cl
mov byte [rbp - 0x60], dl
xor r9b, cl
mov byte [rbp - 0x5f], r9b
xor r10b, cl
mov byte [rbp - 0x5e], r10b
xor r11b, cl
mov byte [rbp - 0x5d], r11b
mov byte [rbp - 0x5c], 0
lea r8, str.Name
lea rdx, [rbp - 0x7f]
lea rcx, [rbp + 0x430]
call fcn.1800082b0
nop
mov rdx, rax
lea rcx, [rbp + 0x210]
call fcn.18000c910
nop
lea rax, [rbp + 0x1f8]
mov qword [rbp + 0x460], rax
lea rax, [rbp + 0x228]
mov qword [rbp + 0x468], rax
lea rdx, [rbp + 0x460]
lea rcx, [rbp + 0x2f0]
call fcn.180009360
nop
mov byte [rbp + 0x490], reloc.WS2_32.dll_recvfrom
mov al, WSAStartup
mov cl, 0x7e
mov dl, 0x7c
mov r8b, 0x61
mov r9b, 0x64
mov r10b, 0x65
mov r11b, reloc.WS2_32.dll_WSACleanup
mov bl, 0x63
mov dil, Ordinal_79
mov sil, 0x7f
mov r14b, reloc.WS2_32.dll_WSASetLastError
movzx r15d, dl
movzx r12d, r11b
xor r13d, r13d
xor al, 0x11
mov byte [rbp + 0x491], al
xor cl, 0x11
mov byte [rbp + 0x492], cl
xor dl, 0x11
mov byte [rbp + 0x493], dl
xor r8b, 0x11
mov byte [rbp + 0x494], r8b
xor r9b, 0x11
mov byte [rbp + 0x495], r9b
xor r10b, 0x11
mov byte [rbp + 0x496], r10b
xor r11b, 0x11
mov byte [rbp + 0x497], r11b
xor bl, 0x11
mov byte [rbp + 0x498], bl
xor dil, 0x11
mov byte [rbp + 0x499], dil
xor sil, 0x11
mov byte [rbp + 0x49a], sil
xor r14b, 0x11
mov byte [rbp + 0x49b], r14b
xor r15b, 0x11
mov byte [rbp + 0x49c], r15b
xor r12b, 0x11
mov byte [rbp + 0x49d], r12b
mov byte [rbp + 0x49e], r13b
lea rax, [rbp + 0x491]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x1c8]
call fcn.18000c870
nop
call fcn.1800080a0
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x1e0]
call fcn.18000c870
nop
lea rax, [rbp + 0x1c8]
mov qword [rbp + 0x460], rax
lea rax, [rbp + 0x1f8]
mov qword [rbp + 0x468], rax
lea rdx, [rbp + 0x460]
lea rcx, [rbp + 0x308]
call fcn.180009360
nop
mov byte [rsp + 0x48], 0x33
mov al, 0x5a
mov cl, 0x43
mov dl, 0x52
mov r8b, 0x57
movzx r9d, r8b
mov r10b, 0x41
mov r11b, 0x56
mov bl, 0x40
movzx edi, bl
xor esi, esi
xor al, 0x33
mov byte [rsp + 0x49], al
xor cl, 0x33
mov byte [rsp + 0x4a], cl
xor dl, 0x33
mov byte [rsp + 0x4b], dl
xor r8b, 0x33
mov byte [rsp + 0x4c], r8b
xor r9b, 0x33
mov byte [rsp + 0x4d], r9b
xor r10b, 0x33
mov byte [rsp + 0x4e], r10b
xor r11b, 0x33
mov byte [rsp + 0x4f], r11b
xor bl, 0x33
mov byte [rsp + 0x50], bl
xor dil, 0x33
mov byte [rsp + 0x51], dil
mov byte [rsp + 0x52], sil
lea rax, [rsp + 0x49]
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x198]
call fcn.18000c870
nop
mov r15, qword [rbp + 0x40]
lea rcx, [r15 + 0x68]
call fcn.180009e50
mov qword [rbp + 0x40], rax
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x1b0]
call fcn.18000c870
nop
lea rax, [rbp + 0x198]
mov qword [rbp + 0x460], rax
lea rax, [rbp + 0x1c8]
mov qword [rbp + 0x468], rax
lea rdx, [rbp + 0x460]
lea rcx, [rbp + 0x320]
call fcn.180009360
nop
mov byte [rbp + 0x28], 0x41
mov al, 0x37
mov cl, 0x24
mov dl, 0x33
mov r8b, reloc.WLDAP32.dll_Ordinal_50
mov r9b, Ordinal_41
mov r10b, reloc.WLDAP32.dll_Ordinal_46
mov r11b, 0x2f
xor ebx, ebx
xor al, 0x41
mov byte [rbp + 0x29], al
xor cl, 0x41
mov byte [rbp + 0x2a], cl
xor dl, 0x41
mov byte [rbp + 0x2b], dl
xor r8b, 0x41
mov byte [rbp + 0x2c], r8b
xor r9b, 0x41
mov byte [rbp + 0x2d], r9b
xor r10b, 0x41
mov byte [rbp + 0x2e], r10b
xor r11b, 0x41
mov byte [rbp + 0x2f], r11b
mov byte [rbp + 0x30], bl
lea rax, [rbp + 0x29]
mov qword [rbp + 0x40], rax
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x168]
call fcn.18000c870
nop
lea rdx, [r15 + 0x20]
lea rcx, [rbp + 0x180]
call fcn.18000c9a0
nop
lea rax, [rbp + 0x168]
mov qword [rbp + 0x460], rax
lea rax, [rbp + 0x198]
mov qword [rbp + 0x468], rax
lea rdx, [rbp + 0x460]
lea rcx, [rbp + 0x338]
call fcn.180009360
nop
lea rax, [rbp + 0x260]
mov qword [rbp + 0x40], rax
lea rax, [rbp + 0x350]
mov qword [rbp + 0x48], rax
mov r9b, 2
mov r8b, 1
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x460]
call fcn.180009ac0
nop
lea r9, [0x1800055f0]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 0xa]
lea rcx, [rbp + 0x260]
call fcn.1800d0b08
nop
lea r9, [0x1800055f0]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x168]
call fcn.1800d0b08
nop
lea r9, [0x1800055f0]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x198]
call fcn.1800d0b08
nop
lea r9, [0x1800055f0]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x1c8]
call fcn.1800d0b08
nop
lea r9, [0x1800055f0]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x1f8]
call fcn.1800d0b08
nop
lea rcx, [rbp + 0x430]
call fcn.180009fd0
nop
lea r9, [0x1800055f0]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x228]
call fcn.1800d0b08
nop
lea rcx, [rbp + 0x350]
call fcn.180009fd0
nop
lea r9, [0x1800055f0]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x128]
call fcn.1800d0b08
nop
lea rcx, [rbp + 0x370]
call fcn.180009fd0
nop
lea r9, [0x1800055f0]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x50]
call fcn.1800d0b08
nop
lea rcx, [rbp + 0x390]
call fcn.180009fd0
nop
lea r9, [0x1800055f0]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x80]
call fcn.1800d0b08
nop
lea rcx, [rbp + 0x3b0]
call fcn.180009fd0
nop
lea r9, [0x1800055f0]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0xb0]
call fcn.1800d0b08
nop
lea rcx, [rbp + 0x3d0]
call fcn.180009fd0
nop
lea r9, [0x1800055f0]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0xe0]
call fcn.1800d0b08
nop
lea rcx, [rbp + 0x3f0]
call fcn.180009fd0
lea rax, [rbp + 0x118]
mov qword [rbp + 0x40], rax
lea rdx, [rbp + 0x460]
lea rcx, [rbp + 0x118]
call fcn.180009770
mov rbx, rax
mov byte [rsp + 0x30], 0x24
mov cl, 0xb
mov dl, 0x4d
mov r8b, 0x4a
movzx r9d, dl
mov r10b, 0x50
xor eax, eax
xor cl, 0x24
mov byte [rsp + 0x31], cl
xor dl, 0x24
mov byte [rsp + 0x32], dl
xor r8b, 0x24
mov byte [rsp + 0x33], r8b
xor r9b, 0x24
mov byte [rsp + 0x34], r9b
xor r10b, 0x24
mov byte [rsp + 0x35], r10b
mov byte [rsp + 0x36], al
lea r8, [rsp + 0x31]
mov rdx, r15
lea rcx, [rbp + 0x410]
call fcn.18000c9d0
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x4a0]
call fcn.180007180
nop
mov byte [rsp + 0x48], 0x7c
mov al, reloc.WS2_32.dll_ntohs
mov cl, 8
mov dl, Ordinal_30
movzx r8d, cl
mov r9b, 9
movzx r10d, al
mov r11b, reloc.WLDAP32.dll_Ordinal_35
mov bl, Ordinal_32
mov dil, reloc.WS2_32.dll_send
mov sil, Ordinal_26
mov r14b, Ordinal_27
xor r12d, r12d
xor al, 0x7c
mov byte [rsp + 0x49], al
xor cl, 0x7c
mov byte [rsp + 0x4a], cl
xor dl, 0x7c
mov byte [rsp + 0x4b], dl
xor r8b, 0x7c
mov byte [rsp + 0x4c], r8b
xor r9b, 0x7c
mov byte [rsp + 0x4d], r9b
xor r10b, 0x7c
mov byte [rsp + 0x4e], r10b
xor r11b, 0x7c
mov byte [rsp + 0x4f], r11b
xor bl, 0x7c
mov byte [rsp + 0x50], bl
xor dil, 0x7c
mov byte [rsp + 0x51], dil
xor sil, 0x7c
mov byte [rsp + 0x52], sil
xor r14b, 0x7c
mov byte [rsp + 0x53], r14b
mov byte [rsp + 0x54], r12b
lea rdx, [rsp + 0x49]
lea rcx, [rbp + 0x4a0]
call fcn.18000cb30
mov rcx, rax
call fcn.18000cb60
test al, al
je 0x180005534
mov byte [rsp + 0x40], reloc.WLDAP32.dll_Ordinal_33
mov al, 0x55
mov cl, 0x44
mov dl, 0x59
movzx r8d, al
xor r9d, r9d
xor al, 0x21
mov byte [rsp + 0x41], al
xor cl, 0x21
mov byte [rsp + 0x42], cl
xor dl, 0x21
mov byte [rsp + 0x43], dl
xor r8b, 0x21
mov byte [rsp + 0x44], r8b
mov byte [rsp + 0x45], r9b
lea rdx, [rsp + 0x41]
lea rcx, [rbp + 0x4a0]
call fcn.18000cb30
lea rdx, [rbp + 0x470]
mov rcx, rax
call fcn.18000cbc0
nop
mov qword [rbp + 0x160], r12
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x470]
lea rcx, [rbp + 0x490]
call fcn.18000cca0
nop
lea rdx, str.success
lea rcx, [rbp + 0x490]
call fcn.18000cb30
mov rcx, rax
call fcn.18000cdd0
test al, al
je 0x18000550c
mov byte [r15 + 0x40], 1
mov al, 1
jmp 0x18000550e
xor al, al
mov byte [r15 + 0x41], al
movzx edx, byte [rbp + 0x490]
lea rcx, [rbp + 0x498]
call fcn.18000b310
nop
lea rcx, [rbp + 0x470]
call fcn.180009fd0
jmp 0x180005538
mov byte [r15 + 0x41], r12b
mov byte [rsp + 0x40], reloc.WS2_32.dll_WSAGetLastError
mov al, reloc.WLDAP32.dll_Ordinal_27
mov dl, 0xa
mov r8b, reloc.WS2_32.dll_socket
movzx r9d, al
xor ecx, ecx
xor al, 0x6f
mov byte [rsp + 0x41], al
xor dl, 0x6f
mov byte [rsp + 0x42], dl
xor r8b, 0x6f
mov byte [rsp + 0x43], r8b
xor r9b, 0x6f
mov byte [rsp + 0x44], r9b
mov byte [rsp + 0x45], cl
lea rdx, [rsp + 0x41]
lea rcx, [rbp + 0x4a0]
call fcn.18000cb30
mov rdx, rax
mov rcx, qword [rbp + 0x110]
call fcn.18000ce40
nop
movzx edx, byte [rbp + 0x4a0]
lea rcx, [rbp + 0x4a8]
call fcn.18000b310
nop
movzx edx, byte [rbp + 0x460]
lea rcx, [rbp + 0x468]
call fcn.18000b310
nop
mov rcx, qword [rbp + 0x4b0]
xor rcx, rsp
call fcn.1800d08e0
lea r11, [rsp + 0x5c0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret