Function at 0x1400181c0
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
mov qword [rsp + 0x18], rbp
mov qword [rsp + 0x20], rsi
push rdi
sub rsp, 0x20
mov eax, r8d
mov edi, r8d
mov rbp, rdx
mov rsi, rcx
sub eax, 0x80
je 0x140018211
sub eax, 0x40
je 0x140018209
cmp eax, 0x40
je 0x140018201
mov eax, 0xffffffe0
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret
mov dword [rcx], 0xe
jmp 0x140018217
mov dword [rcx], reloc.WS2_32.dll_inet_ntoa
jmp 0x140018217
mov dword [rcx], 0xa
cmp dword [0x140056be0], 0
mov qword [rsp + 0x30], rbx
mov qword [rsp + 0x38], r14
jne 0x140018239
call fcn.140017ea0
mov dword [0x140056be0], 1
mov ebx, dword [0x1400569c4]
test ebx, ebx
jne 0x140018277
mov eax, 1
xor ecx, ecx
cpuid
mov dword [0x140056bd4], ebx
mov ebx, 1
mov dword [0x1400569c4], ebx
mov dword [0x140056bd0], eax
mov dword [0x140056bd8], ecx
mov dword [0x140056bdc], edx
mov dword [0x1400569c8], ecx
jmp 0x14001827d
mov ecx, dword [0x1400569c8]
xor r8d, r8d
bt ecx, 0x19
jae 0x14001829b
mov rdx, rsi
shr rdx, 2
and edx, 3
je 0x14001829b
mov eax, 4
sub eax, edx
jmp 0x14001829e
mov eax, r8d
mov qword [rsi + 8], rax
lea r14, [rsi + 0x10]
lea r14, [r14 + rax*4]
test ebx, ebx
jne 0x1400182df
mov eax, 1
mov dword [0x1400569c4], 1
xor ecx, ecx
cpuid
mov dword [0x140056bd0], eax
mov dword [0x140056bd4], ebx
mov dword [0x140056bd8], ecx
mov dword [0x140056bdc], edx
mov dword [0x1400569c8], ecx
bt ecx, 0x19
jae 0x140018343
mov rax, rdi
sub rax, 0x80
je 0x140018330
sub rax, 0x40
je 0x14001831d
cmp rax, 0x40
je 0x14001830a
mov r8d, 0xffffffe0
mov eax, r8d
jmp 0x140018a6c
mov rdx, rbp
mov rcx, r14
call fcn.14000ffe0
mov eax, r8d
jmp 0x140018a6c
mov rdx, rbp
mov rcx, r14
call fcn.14000fcf0
mov eax, r8d
jmp 0x140018a6c
mov rdx, rbp
mov rcx, r14
call fcn.14000fac0
mov eax, r8d
jmp 0x140018a6c
shr edi, 5
test edi, edi
je 0x140018369
mov rdx, r14
nop dword [rax]
lea eax, [r8*4]
inc r8d
mov eax, dword [rax + rbp]
mov dword [rdx], eax
lea rdx, [rdx + 4]
cmp r8d, edi
jb 0x140018350
mov eax, dword [rsi]
cmp eax, 0xa
je 0x140018852
cmp eax, 0xc
je 0x14001846e
cmp eax, 0xe
jne 0x140018a6a
mov r9d, dword [r14]
lea r8, [r14 + 0x1e]
lea r11d, [rax - 7]
movzx eax, byte [r8]
lea r10, [0x1400571f0]
lea rbp, [0x140056bf0]
movzx ecx, byte [r8 + 1]
lea r10, [r10 + 4]
lea r8, [r8 + 0x20]
movzx ebx, byte [rcx + rbp]
movzx ecx, byte [r8 - 0x22]
movzx edx, byte [rcx + rbp]
movzx ecx, al
shl edx, 8
xor ebx, edx
shl ebx, 8
movzx eax, byte [rcx + rbp]
xor ebx, eax
movzx eax, byte [r8 - 0x21]
shl ebx, 8
movzx ecx, byte [rax + rbp]
xor ebx, ecx
xor ebx, dword [r10 - 4]
xor ebx, r9d
mov eax, ebx
mov dword [r8 - 0x1e], ebx
xor eax, dword [r8 - 0x3a]
mov r9d, ebx
mov dword [r8 - 0x1a], eax
xor eax, dword [r8 - 0x36]
mov dword [r8 - 0x16], eax
xor eax, dword [r8 - 0x32]
mov ebx, eax
shr rax, 0x18
mov ecx, ebx
shr ecx, 0x10
movzx edx, cl
mov dword [r8 - 0x12], ebx
movzx eax, byte [rax + rbp]
shl eax, 8
movzx ecx, byte [rdx + rbp]
xor eax, ecx
mov ecx, ebx
shl eax, 8
shr ecx, 8
movzx edx, cl
movzx ecx, byte [rdx + rbp]
xor eax, ecx
movzx ecx, bl
shl eax, 8
movzx edx, byte [rcx + rbp]
xor eax, edx
xor eax, dword [r8 - 0x2e]
mov dword [r8 - 0xe], eax
xor eax, dword [r8 - 0x2a]
mov dword [r8 - 0xa], eax
xor eax, dword [r8 - 0x26]
mov dword [r8 - 6], eax
xor eax, dword [r8 - 0x22]
mov dword [r8 - 2], eax
shr eax, 0x10
sub r11, 1
jne 0x1400183a3
jmp 0x140018a6a
movzx eax, byte [r14 + 0x17]
lea rbp, [0x140056bf0]
movzx r11d, byte [rax + rbp]
movzx eax, byte [r14 + 0x14]
movzx ecx, byte [rax + rbp]
movzx eax, byte [r14 + 0x16]
shl ecx, 8
xor r11d, ecx
shl r11d, 8
movzx ecx, byte [rax + rbp]
movzx eax, byte [r14 + 0x15]
xor r11d, ecx
shl r11d, 8
movzx ecx, byte [rax + rbp]
xor r11d, ecx
xor r11d, dword [r14]
xor r11d, dword [0x1400571f0]
mov ebx, r11d
mov dword [r14 + 0x18], r11d
xor ebx, dword [r14 + 4]
mov r8d, ebx
mov dword [r14 + 0x1c], ebx
xor r8d, dword [r14 + 8]
mov r9d, r8d
mov dword [r14 + 0x20], r8d
xor r9d, dword [r14 + 0xc]
mov r10d, r9d
mov dword [r14 + 0x24], r9d
xor r10d, dword [r14 + 0x10]
mov eax, r10d
mov dword [r14 + 0x28], r10d
xor eax, dword [r14 + 0x14]
mov edx, eax
shr rax, 0x18
mov dword [r14 + 0x2c], edx
movzx edi, byte [rax + rbp]
movzx eax, dl
movzx ecx, byte [rax + rbp]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor edi, ecx
movzx ecx, al
shl edi, 8
movzx eax, byte [rcx + rbp]
xor edi, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl edi, 8
movzx eax, byte [rcx + rbp]
xor edi, eax
xor edi, r11d
xor edi, dword [0x1400571f4]
mov r11d, edi
mov dword [r14 + 0x30], edi
xor r11d, ebx
mov ebx, r11d
mov dword [r14 + 0x34], r11d
xor ebx, r8d
mov r8d, ebx
mov dword [r14 + 0x38], ebx
xor r8d, r9d
mov r9d, r8d
mov dword [r14 + 0x3c], r8d
xor r9d, r10d
xor edx, r9d
mov dword [r14 + 0x40], r9d
mov eax, edx
mov dword [r14 + 0x44], edx
shr rax, 0x18
movzx esi, byte [rax + rbp]
movzx eax, dl
movzx ecx, byte [rax + rbp]
mov eax, edx
shl ecx, 8
xor esi, ecx
shl esi, 8
shr eax, 0x10
movzx ecx, al
movzx eax, byte [rcx + rbp]
xor esi, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl esi, 8
movzx eax, byte [rcx + rbp]
xor esi, eax
xor esi, edi
xor esi, dword [0x1400571f8]
mov r10d, esi
mov dword [r14 + 0x48], esi
xor r10d, r11d
mov r11d, r10d
mov dword [r14 + 0x4c], r10d
xor r11d, ebx
mov ebx, r11d
mov dword [r14 + 0x50], r11d
xor ebx, r8d
mov r8d, ebx
mov dword [r14 + 0x54], ebx
xor r8d, r9d
xor edx, r8d
mov dword [r14 + 0x58], r8d
mov eax, edx
mov dword [r14 + 0x5c], edx
shr rax, 0x18
movzx edi, byte [rax + rbp]
movzx eax, dl
movzx ecx, byte [rax + rbp]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor edi, ecx
movzx ecx, al
shl edi, 8
movzx eax, byte [rcx + rbp]
xor edi, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl edi, 8
movzx eax, byte [rcx + rbp]
xor edi, eax
xor edi, esi
xor edi, dword [0x1400571fc]
mov r9d, edi
mov dword [r14 + 0x60], edi
xor r9d, r10d
mov r10d, r9d
mov dword [r14 + 0x64], r9d
xor r10d, r11d
mov r11d, r10d
mov dword [r14 + 0x68], r10d
xor r11d, ebx
mov ebx, r11d
mov dword [r14 + 0x6c], r11d
xor ebx, r8d
xor edx, ebx
mov dword [r14 + 0x70], ebx
mov eax, edx
mov dword [r14 + 0x74], edx
shr rax, 0x18
movzx esi, byte [rax + rbp]
movzx eax, dl
movzx ecx, byte [rax + rbp]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor esi, ecx
movzx ecx, al
shl esi, 8
movzx eax, byte [rcx + rbp]
xor esi, eax
mov eax, edx
shr eax, 8
shl esi, 8
movzx ecx, al
movzx eax, byte [rcx + rbp]
xor esi, eax
xor esi, edi
xor esi, dword [0x140057200]
mov r8d, esi
mov dword [r14 + 0x78], esi
xor r8d, r9d
mov r9d, r8d
mov dword [r14 + 0x7c], r8d
xor r9d, r10d
mov r10d, r9d
mov dword [r14 + 0x80], r9d
xor r10d, r11d
mov r11d, r10d
mov dword [r14 + 0x84], r10d
xor r11d, ebx
xor edx, r11d
mov dword [r14 + 0x88], r11d
mov eax, edx
mov dword [r14 + 0x8c], edx
shr rax, 0x18
movzx edi, byte [rax + rbp]
movzx eax, dl
movzx ecx, byte [rax + rbp]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor edi, ecx
movzx ecx, al
shl edi, 8
movzx eax, byte [rcx + rbp]
xor edi, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl edi, 8
movzx eax, byte [rcx + rbp]
xor edi, eax
xor edi, esi
xor edi, dword [0x140057204]
mov ebx, edi
mov dword [r14 + 0x90], edi
xor ebx, r8d
mov r8d, ebx
mov dword [r14 + 0x94], ebx
xor r8d, r9d
mov r9d, r8d
mov dword [r14 + 0x98], r8d
xor r9d, r10d
mov r10d, r9d
mov dword [r14 + 0x9c], r9d
xor r10d, r11d
xor edx, r10d
mov dword [r14 + 0xa0], r10d
mov eax, edx
mov dword [r14 + 0xa4], edx
shr rax, 0x18
movzx esi, byte [rax + rbp]
movzx eax, dl
movzx ecx, byte [rax + rbp]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor esi, ecx
movzx ecx, al
shl esi, 8
movzx eax, byte [rcx + rbp]
xor esi, eax
mov eax, edx
shl esi, 8
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + rbp]
xor esi, eax
xor esi, dword [0x140057208]
xor esi, edi
mov r11d, esi
mov dword [r14 + 0xa8], esi
xor r11d, ebx
mov edi, r11d
mov dword [r14 + 0xac], r11d
xor edi, r8d
mov r8d, edi
mov dword [r14 + 0xb0], edi
xor r8d, r9d
mov r9d, r8d
mov dword [r14 + 0xb4], r8d
xor r9d, r10d
xor edx, r9d
mov dword [r14 + 0xb8], r9d
mov ebx, edx
mov eax, edx
shr rax, 0x18
mov dword [r14 + 0xbc], ebx
movzx edx, byte [rax + rbp]
movzx eax, bl
movzx ecx, byte [rax + rbp]
mov eax, ebx
shr eax, 0x10
shl ecx, 8
xor edx, ecx
movzx ecx, al
shl edx, 8
movzx eax, byte [rcx + rbp]
xor edx, eax
mov eax, ebx
shl edx, 8
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + rbp]
xor edx, eax
xor edx, dword [0x14005720c]
xor edx, esi
mov dword [r14 + 0xc0], edx
xor edx, r11d
mov dword [r14 + 0xc4], edx
xor edx, edi
mov dword [r14 + 0xc8], edx
xor edx, r8d
mov dword [r14 + 0xcc], edx
xor edx, r9d
xor ebx, edx
mov dword [r14 + 0xd0], edx
mov dword [r14 + 0xd4], ebx
jmp 0x140018a6a
mov r11d, dword [r14]
lea rdi, [r14 + 0xe]
movzx r10d, byte [rdi]
lea rsi, [0x1400571f8]
mov r14d, 2
lea rbp, [0x140056bf0]
movzx eax, byte [rdi + 1]
movzx r9d, byte [rax + rbp]
movzx eax, byte [rdi - 2]
movzx ecx, byte [rax + rbp]
shl ecx, 8
xor r9d, ecx
movzx eax, r10b
shl r9d, 8
movzx ecx, byte [rax + rbp]
movzx eax, byte [rdi - 1]
xor r9d, ecx
shl r9d, 8
movzx ecx, byte [rax + rbp]
xor r9d, ecx
xor r9d, dword [rsi - 8]
xor r9d, r11d
mov ebx, r9d
mov dword [rdi + 2], r9d
xor ebx, dword [rdi - 0xa]
mov r8d, ebx
mov dword [rdi + 6], ebx
xor r8d, dword [rdi - 6]
mov eax, r8d
mov dword [rdi + 0xa], r8d
xor eax, dword [rdi - 2]
mov edx, eax
shr rax, 0x18
mov dword [rdi + 0xe], edx
movzx r10d, byte [rax + rbp]
movzx eax, dl
movzx ecx, byte [rax + rbp]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor r10d, ecx
movzx ecx, al
shl r10d, 8
movzx eax, byte [rcx + rbp]
xor r10d, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl r10d, 8
movzx eax, byte [rcx + rbp]
xor r10d, eax
xor r10d, dword [rsi - 4]
xor r10d, r9d
mov r9d, r10d
mov dword [rdi + 0x12], r10d
xor r9d, ebx
mov ebx, r9d
mov dword [rdi + 0x16], r9d
xor ebx, r8d
xor edx, ebx
mov dword [rdi + 0x1a], ebx
mov eax, edx
mov dword [rdi + 0x1e], edx
shr rax, 0x18
movzx r11d, byte [rax + rbp]
movzx eax, dl
movzx ecx, byte [rax + rbp]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor r11d, ecx
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + rbp]
xor r11d, eax
mov eax, edx
shl r11d, 8
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + rbp]
xor r11d, eax
xor r11d, r10d
xor r11d, dword [rsi]
mov r8d, r11d
mov dword [rdi + 0x22], r11d
xor r8d, r9d
mov dword [rdi + 0x26], r8d
mov r9d, r8d
lea rdi, [rdi + 0x50]
xor r9d, ebx
lea rsi, [rsi + 0x14]
xor edx, r9d
mov dword [rdi - 0x26], r9d
mov eax, edx
mov dword [rdi - 0x22], edx
shr rax, 0x18
movzx r10d, byte [rax + rbp]
movzx eax, dl
movzx ecx, byte [rax + rbp]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor r10d, ecx
movzx ecx, al
shl r10d, 8
movzx eax, byte [rcx + rbp]
xor r10d, eax
mov eax, edx
shr eax, 8
movzx ecx, al
shl r10d, 8
movzx eax, byte [rcx + rbp]
xor r10d, eax
xor r10d, dword [rsi - 0x10]
xor r10d, r11d
mov ebx, r10d
mov dword [rdi - 0x1e], r10d
xor ebx, r8d
mov r8d, ebx
mov dword [rdi - 0x1a], ebx
xor r8d, r9d
xor edx, r8d
mov dword [rdi - 0x16], r8d
mov eax, edx
mov dword [rdi - 0x12], edx
shr rax, 0x18
movzx r11d, byte [rax + rbp]
movzx eax, dl
movzx ecx, byte [rax + rbp]
mov eax, edx
shr eax, 0x10
shl ecx, 8
xor r11d, ecx
movzx ecx, al
shl r11d, 8
movzx eax, byte [rcx + rbp]
xor r11d, eax
mov eax, edx
shl r11d, 8
shr eax, 8
movzx ecx, al
movzx eax, byte [rcx + rbp]
xor r11d, eax
xor r11d, dword [rsi - 0xc]
xor r11d, r10d
mov r10d, r11d
mov dword [rdi - 0xe], r11d
xor r10d, ebx
mov dword [rdi - 0xa], r10d
xor r10d, r8d
mov dword [rdi - 6], r10d
xor r10d, edx
mov dword [rdi - 2], r10d
shr r10d, 0x10
sub r14, 1
jne 0x140018871
xor eax, eax
mov rbx, qword [rsp + 0x30]
mov r14, qword [rsp + 0x38]
mov rbp, qword [rsp + 0x40]
mov rsi, qword [rsp + 0x48]
add rsp, 0x20
pop rdi
ret