Function at 0x180003ff0
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 [0x180229ec0]
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 0x18000404a
mov rcx, qword [rax]
mov qword [rax + 0x10], r13
mov byte [rcx], r13b
lea rcx, [rbp + 0x470]
call fcn.180007ac0
mov rdi, rax
add rbx, 0x68
cmp rbx, rax
je 0x1800040cb
mov rdx, qword [rbx + 0x18]
cmp rdx, 0xf
jbe 0x18000409f
mov rcx, qword [rbx]
inc rdx
cmp rdx, 0x1000
jb 0x18000409a
add rdx, 0x27
mov r8, qword [rcx - 8]
sub rcx, r8
lea rax, [rcx - 8]
cmp rax, 0x1f
ja 0x180004103
mov rcx, r8
call fcn.1800cbd7c
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 0x18000410f
inc rdx
mov rcx, qword [rbp + 0x470]
mov rax, rcx
cmp rdx, 0x1000
jb 0x18000410a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x18000410a
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800cbd7c
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.18000b290
mov byte [rbp + 0xe0], 3
xorps xmm0, xmm0
movups xmmword [rbp + 0x460], xmm0
lea ecx, [r12 + 0x20]
call fcn.1800cbf7c
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.18000a150
nop
mov qword [rbp + 0xe8], rbx
mov qword [rbp + 0xf0], r13
lea rcx, [rbp + 0x3f0]
call fcn.180009010
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.18000b290
mov byte [rbp + 0xf8], 3
lea ecx, [r12 + 0x20]
call fcn.1800cbf7c
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.180009a40
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.18000b290
mov byte [rbp + 0xb0], 3
xorps xmm0, xmm0
movups xmmword [rbp + 0x460], xmm0
lea ecx, [r12 + 0x20]
call fcn.1800cbf7c
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.18000a150
nop
mov qword [rbp + 0xb8], rbx
mov qword [rbp + 0xc0], r13
movdqa xmm1, xmmword [0x18020d020]
movdqu xmmword [rbp - 0x58], xmm1
movdqa xmm2, xmmword [0x18020cff0]
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.180008230
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.18000b290
mov byte [rbp + 0xc8], 3
lea ecx, [r12 + 0x20]
call fcn.1800cbf7c
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.180009a40
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.18000b290
mov byte [rbp + 0x80], 3
xorps xmm0, xmm0
movups xmmword [rbp + 0x460], xmm0
lea ecx, [r12 + 0x20]
call fcn.1800cbf7c
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.18000a150
nop
mov qword [rbp + 0x88], rbx
mov qword [rbp + 0x90], r13
movdqa xmm1, xmmword [0x18020cf40]
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.180008230
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.18000b290
mov byte [rbp + 0x98], 3
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call fcn.1800cbf7c
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.180009a40
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.18000b290
mov byte [rbp + 0x50], 3
xorps xmm0, xmm0
movups xmmword [rbp + 0x460], xmm0
lea ecx, [rdi + 0x20]
call fcn.1800cbf7c
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.18000a150
nop
mov qword [rbp + 0x58], rbx
mov qword [rbp + 0x60], rdi
movdqa xmm1, xmmword [0x18020d180]
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.180008230
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.18000b290
mov byte [rbp + 0x68], 3
mov ecx, reloc.WLDAP32.dll_Ordinal_32
call fcn.1800cbf7c
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.1800092e0
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.18000c7f0
nop
movdqa xmm1, xmmword [0x18020d190]
movdqu xmmword [rsp + 0x58], xmm1
movdqa xmm2, xmmword [0x18020d100]
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.180008230
nop
mov rcx, rax
call fcn.180009dd0
mov rcx, rax
call fcn.180008fa0
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x140]
call fcn.18000c7f0
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.1800092e0
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.18000c7f0
nop
movdqa xmm1, xmmword [0x18020d110]
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.180008230
nop
mov rdx, rax
lea rcx, [rbp + 0x240]
call fcn.18000c890
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.1800092e0
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.18000c7f0
nop
movdqa xmm1, xmmword [0x18020d150]
movdqu xmmword [rbp - 0x80], xmm1
movdqa xmm2, xmmword [0x18020d170]
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.180008230
nop
mov rdx, rax
lea rcx, [rbp + 0x210]
call fcn.18000c890
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.1800092e0
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.18000c7f0
nop
call fcn.180008020
mov qword [rsp + 0x30], rax
lea rdx, [rsp + 0x30]
lea rcx, [rbp + 0x1e0]
call fcn.18000c7f0
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.1800092e0
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.18000c7f0
nop
mov r15, qword [rbp + 0x40]
lea rcx, [r15 + 0x68]
call fcn.180009dd0
mov qword [rbp + 0x40], rax
lea rdx, [rbp + 0x40]
lea rcx, [rbp + 0x1b0]
call fcn.18000c7f0
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.1800092e0
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.18000c7f0
nop
lea rdx, [r15 + 0x20]
lea rcx, [rbp + 0x180]
call fcn.18000c920
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.1800092e0
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.180009a40
nop
lea r9, [0x180005570]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 0xa]
lea rcx, [rbp + 0x260]
call fcn.1800cc038
nop
lea r9, [0x180005570]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x168]
call fcn.1800cc038
nop
lea r9, [0x180005570]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x198]
call fcn.1800cc038
nop
lea r9, [0x180005570]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x1c8]
call fcn.1800cc038
nop
lea r9, [0x180005570]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x1f8]
call fcn.1800cc038
nop
lea rcx, [rbp + 0x430]
call fcn.180009f50
nop
lea r9, [0x180005570]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x228]
call fcn.1800cc038
nop
lea rcx, [rbp + 0x350]
call fcn.180009f50
nop
lea r9, [0x180005570]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x128]
call fcn.1800cc038
nop
lea rcx, [rbp + 0x370]
call fcn.180009f50
nop
lea r9, [0x180005570]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x50]
call fcn.1800cc038
nop
lea rcx, [rbp + 0x390]
call fcn.180009f50
nop
lea r9, [0x180005570]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0x80]
call fcn.1800cc038
nop
lea rcx, [rbp + 0x3b0]
call fcn.180009f50
nop
lea r9, [0x180005570]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0xb0]
call fcn.1800cc038
nop
lea rcx, [rbp + 0x3d0]
call fcn.180009f50
nop
lea r9, [0x180005570]
lea edx, [rsi + 0x18]
lea r8d, [r13 + 2]
lea rcx, [rbp + 0xe0]
call fcn.1800cc038
nop
lea rcx, [rbp + 0x3f0]
call fcn.180009f50
lea rax, [rbp + 0x118]
mov qword [rbp + 0x40], rax
lea rdx, [rbp + 0x460]
lea rcx, [rbp + 0x118]
call fcn.1800096f0
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.18000c950
nop
mov r8, rbx
mov rdx, rax
lea rcx, [rbp + 0x4a0]
call fcn.180007100
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.18000cab0
mov rcx, rax
call fcn.18000cae0
test al, al
je 0x1800054b4
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.18000cab0
lea rdx, [rbp + 0x470]
mov rcx, rax
call fcn.18000cb40
nop
mov qword [rbp + 0x160], r12
lea r8, [rbp + 0x128]
lea rdx, [rbp + 0x470]
lea rcx, [rbp + 0x490]
call fcn.18000cc20
nop
lea rdx, str.success
lea rcx, [rbp + 0x490]
call fcn.18000cab0
mov rcx, rax
call fcn.18000cd50
test al, al
je 0x18000548c
mov byte [r15 + 0x40], 1
mov al, 1
jmp 0x18000548e
xor al, al
mov byte [r15 + 0x41], al
movzx edx, byte [rbp + 0x490]
lea rcx, [rbp + 0x498]
call fcn.18000b290
nop
lea rcx, [rbp + 0x470]
call fcn.180009f50
jmp 0x1800054b8
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.18000cab0
mov rdx, rax
mov rcx, qword [rbp + 0x110]
call fcn.18000cdc0
nop
movzx edx, byte [rbp + 0x4a0]
lea rcx, [rbp + 0x4a8]
call fcn.18000b290
nop
movzx edx, byte [rbp + 0x460]
lea rcx, [rbp + 0x468]
call fcn.18000b290
nop
mov rcx, qword [rbp + 0x4b0]
xor rcx, rsp
call fcn.1800cbe10
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