Function at 0x18001cc70
Capabilities:
Encode data using xor
Encrypt data using rc4 prga
Resolve function by parsing pe exports

Disassembly:
mov rax, rsp
mov dword [rax + 0x18], r8d
mov dword [rax + 0x10], edx
mov qword [rax + 8], rcx
sub rsp, 0x138
mov qword [rax + 0x20], rbx
mov ebx, r8d
mov qword [rax - 8], rbp
mov qword [rax - 0x10], rsi
mov qword [rax - 0x18], rdi
mov qword [rax - 0x28], r13
mov qword [rax - 0x30], r14
mov qword [rax - 0x38], r15
mov r15, rcx
movaps xmmword [rax - 0x48], xmm6
movaps xmmword [rax - 0x58], xmm7
movaps xmmword [rax - 0x68], xmm8
movsxd rbp, edx
movaps xmmword [rax - 0x78], xmm9
cmp ebp, r8d
movaps xmmword [rax - 0x88], xmm10
mov r8d, 0x3000
cmovg ebx, ebp
movaps xmmword [rax - 0x98], xmm11
movaps xmmword [rax - 0xa8], xmm12
xor ecx, ecx
movsxd rdx, ebx
movaps xmm12, xmm3
add rdx, 0xc8
movaps xmmword [rax - 0xb8], xmm13
lea r9d, [rcx + 4]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
xor ecx, ecx
movsxd rdx, ebx
shl rdx, 2
mov r8d, 0x3000
mov rdi, rax
mov qword [rsp + 0x58], rax
lea r9d, [rcx + 4]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
xor ecx, ecx
mov edx, 0x198
mov r8d, 0x3000
mov qword [rsp + 0x70], rax
lea r9d, [rcx + 4]
call qword [sym.imp.KERNEL32.dll_VirtualAlloc]
movss xmm6, dword [0x1800e0be0]
mov ebx, 1
movsd xmm7, qword [0x1800e0068]
mov r14, rax
movsd xmm8, qword [0x1800e0d20]
movsd xmm9, qword [0x1800e0cf0]
lea r13, [rax + 0xc8]
mov qword [rsp + 0x48], r13
lea rsi, [rax + 0xcc]
mov dword [r13], 0x3f800000
mov qword [rsp + 0x68], rax
nop dword [rax]
xorps xmm0, xmm0
mov ecx, ebx
cvtsi2ss xmm0, rcx
cvtps2pd xmm1, xmm0
mulsd xmm1, xmm7
divsd xmm1, xmm8
cvtpd2ps xmm0, xmm1
mulss xmm0, xmm0
xorps xmm0, xmm6
cvtss2sd xmm0, xmm0
mulsd xmm0, xmm9
call fcn.1800b1580
mov eax, gethostbyname
lea rsi, [rsi + 4]
sub eax, ebx
xorps xmm1, xmm1
cvtsd2ss xmm1, xmm0
inc ebx
movss dword [rsi - 4], xmm1
movss dword [r14 + rax*4], xmm1
cmp ebx, 0x33
jb 0x18001cd90
mov esi, dword [rsp + 0x150]
xor r9d, r9d
movzx r11d, byte [rsp + 0x160]
mov r10, rbp
movss xmm13, dword [0x1800e0294]
xorps xmm10, xmm10
movss xmm11, dword [0x1800e0298]
mov qword [rsp + 0x118], r12
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x50], rbp
test esi, esi
jle 0x18001d3b1
xor edx, edx
mov qword [rsp + 0x20], rsi
mov r8d, esi
nop dword [rax]
nop word [rax + rax]
movzx ecx, byte [rdx + r15]
lea rax, [rdx + r10]
mov qword [rsp + 0x40], rax
movzx eax, byte [r15 + rax - 1]
mov byte [r10 + rdi + 0x63], al
mov byte [rdi], cl
mov byte [r10 + rdi + 0x64], al
mov byte [rdi + 1], cl
mov byte [r10 + rdi + 0x65], al
mov byte [rdi + 2], cl
mov byte [r10 + rdi + 0x66], al
mov byte [rdi + 3], cl
mov byte [r10 + rdi + 0x67], al
mov byte [rdi + 4], cl
mov byte [r10 + rdi + 0x68], al
mov byte [rdi + 5], cl
mov byte [r10 + rdi + 0x69], al
mov byte [rdi + 6], cl
mov byte [r10 + rdi + 0x6a], al
mov byte [rdi + 7], cl
mov byte [r10 + rdi + 0x6b], al
mov byte [rdi + 8], cl
mov byte [r10 + rdi + 0x6c], al
mov byte [rdi + 9], cl
mov byte [r10 + rdi + 0x6d], al
mov byte [rdi + 0xa], cl
mov byte [r10 + rdi + 0x6e], al
mov byte [rdi + 0xb], cl
mov byte [r10 + rdi + 0x6f], al
mov byte [rdi + 0xc], cl
mov byte [r10 + rdi + 0x70], al
mov byte [rdi + 0xd], cl
mov byte [r10 + rdi + 0x71], al
mov byte [rdi + 0xe], cl
mov byte [r10 + rdi + 0x72], al
mov byte [rdi + 0xf], cl
mov byte [r10 + rdi + 0x73], al
mov byte [rdi + 0x10], cl
mov byte [r10 + rdi + 0x74], al
mov byte [rdi + 0x11], cl
mov byte [r10 + rdi + 0x75], al
mov byte [rdi + 0x12], cl
mov byte [r10 + rdi + 0x76], al
mov byte [rdi + 0x13], cl
mov byte [r10 + rdi + 0x77], al
mov byte [rdi + 0x14], cl
mov byte [r10 + rdi + 0x78], al
mov byte [rdi + 0x15], cl
mov byte [r10 + rdi + 0x79], al
mov byte [rdi + 0x16], cl
mov byte [r10 + rdi + 0x7a], al
mov byte [rdi + 0x17], cl
mov byte [r10 + rdi + 0x7b], al
mov byte [rdi + 0x18], cl
mov byte [r10 + rdi + 0x7c], al
mov byte [rdi + 0x19], cl
mov byte [r10 + rdi + 0x7d], al
mov byte [rdi + 0x1a], cl
mov byte [r10 + rdi + 0x7e], al
mov byte [rdi + 0x1b], cl
mov byte [r10 + rdi + 0x7f], al
mov byte [rdi + 0x1c], cl
mov byte [r10 + rdi + 0x80], al
mov byte [rdi + 0x1d], cl
mov byte [r10 + rdi + 0x81], al
mov byte [rdi + 0x1e], cl
mov byte [r10 + rdi + 0x82], al
mov byte [rdi + 0x1f], cl
mov byte [r10 + rdi + 0x83], al
mov byte [rdi + 0x20], cl
mov byte [r10 + rdi + 0x84], al
mov byte [rdi + 0x21], cl
mov byte [r10 + rdi + 0x85], al
mov byte [rdi + 0x22], cl
mov byte [r10 + rdi + 0x86], al
mov byte [rdi + 0x23], cl
mov byte [r10 + rdi + 0x87], al
mov byte [rdi + 0x24], cl
mov byte [r10 + rdi + 0x88], al
mov byte [rdi + 0x25], cl
mov byte [r10 + rdi + 0x89], al
mov byte [rdi + 0x26], cl
mov byte [r10 + rdi + 0x8a], al
mov byte [rdi + 0x27], cl
mov byte [r10 + rdi + 0x8b], al
mov byte [rdi + 0x28], cl
mov byte [r10 + rdi + 0x8c], al
mov byte [rdi + 0x29], cl
mov byte [r10 + rdi + 0x8d], al
mov byte [rdi + 0x2a], cl
mov byte [r10 + rdi + 0x8e], al
mov byte [rdi + 0x2b], cl
mov byte [r10 + rdi + 0x8f], al
mov byte [rdi + 0x2c], cl
mov byte [r10 + rdi + 0x90], al
mov byte [rdi + 0x2d], cl
mov byte [r10 + rdi + 0x91], al
mov byte [rdi + 0x2e], cl
mov byte [r10 + rdi + 0x92], al
mov byte [rdi + 0x2f], cl
mov byte [r10 + rdi + 0x93], al
mov byte [rdi + 0x30], cl
mov byte [r10 + rdi + 0x94], al
mov byte [rdi + 0x31], cl
mov byte [r10 + rdi + 0x95], al
mov byte [rdi + 0x32], cl
mov byte [r10 + rdi + 0x96], al
mov byte [rdi + 0x33], cl
mov byte [r10 + rdi + 0x97], al
mov byte [rdi + 0x34], cl
mov byte [r10 + rdi + 0x98], al
mov byte [rdi + 0x35], cl
mov byte [r10 + rdi + 0x99], al
mov byte [rdi + 0x36], cl
mov byte [r10 + rdi + 0x9a], al
mov byte [rdi + 0x37], cl
mov byte [r10 + rdi + 0x9b], al
mov byte [rdi + 0x38], cl
mov byte [r10 + rdi + 0x9c], al
mov byte [rdi + 0x39], cl
mov byte [r10 + rdi + 0x9d], al
mov byte [rdi + 0x3a], cl
mov byte [r10 + rdi + 0x9e], al
mov byte [rdi + 0x3b], cl
mov byte [r10 + rdi + 0x9f], al
mov byte [rdi + 0x3c], cl
mov byte [r10 + rdi + 0xa0], al
mov byte [rdi + 0x3d], cl
mov byte [r10 + rdi + 0xa1], al
mov byte [rdi + 0x3e], cl
mov byte [r10 + rdi + 0xa2], al
mov byte [rdi + 0x3f], cl
mov byte [r10 + rdi + 0xa3], al
mov byte [rdi + 0x40], cl
mov byte [r10 + rdi + 0xa4], al
mov byte [rdi + 0x41], cl
mov byte [r10 + rdi + 0xa5], al
mov byte [rdi + 0x42], cl
mov byte [r10 + rdi + 0xa6], al
mov byte [rdi + 0x43], cl
mov byte [r10 + rdi + 0xa7], al
mov byte [rdi + 0x44], cl
mov byte [r10 + rdi + 0xa8], al
mov byte [rdi + 0x45], cl
mov byte [r10 + rdi + 0xa9], al
mov byte [rdi + 0x46], cl
mov byte [r10 + rdi + 0xaa], al
mov byte [rdi + 0x47], cl
mov byte [r10 + rdi + 0xab], al
mov byte [rdi + 0x48], cl
mov byte [r10 + rdi + 0xac], al
mov byte [rdi + 0x49], cl
mov byte [r10 + rdi + 0xad], al
mov byte [rdi + 0x4a], cl
mov byte [r10 + rdi + 0xae], al
mov byte [rdi + 0x4b], cl
mov byte [r10 + rdi + 0xaf], al
mov byte [rdi + 0x4c], cl
mov byte [r10 + rdi + 0xb0], al
mov byte [rdi + 0x4d], cl
mov byte [r10 + rdi + 0xb1], al
mov byte [rdi + 0x4e], cl
mov byte [r10 + rdi + 0xb2], al
mov byte [rdi + 0x4f], cl
mov byte [r10 + rdi + 0xb3], al
mov byte [rdi + 0x50], cl
mov byte [r10 + rdi + 0xb4], al
mov byte [rdi + 0x51], cl
mov byte [r10 + rdi + 0xb5], al
mov byte [rdi + 0x52], cl
mov byte [r10 + rdi + 0xb6], al
mov byte [rdi + 0x53], cl
mov byte [r10 + rdi + 0xb7], al
mov byte [rdi + 0x54], cl
mov byte [r10 + rdi + 0xb8], al
mov byte [rdi + 0x55], cl
mov byte [r10 + rdi + 0xb9], al
mov byte [rdi + 0x56], cl
mov byte [r10 + rdi + 0xba], al
mov byte [rdi + 0x57], cl
mov byte [r10 + rdi + 0xbb], al
mov byte [rdi + 0x58], cl
mov byte [r10 + rdi + 0xbc], al
mov byte [rdi + 0x59], cl
mov byte [r10 + rdi + 0xbd], al
mov byte [rdi + 0x5a], cl
mov byte [r10 + rdi + 0xbe], al
mov byte [rdi + 0x5b], cl
mov byte [r10 + rdi + 0xbf], al
mov byte [rdi + 0x5c], cl
mov byte [r10 + rdi + 0xc0], al
mov byte [rdi + 0x5d], cl
mov byte [r10 + rdi + 0xc1], al
mov byte [rdi + 0x5e], cl
mov byte [r10 + rdi + 0xc2], al
mov byte [rdi + 0x5f], cl
mov byte [r10 + rdi + 0xc3], al
mov byte [rdi + 0x60], cl
mov byte [r10 + rdi + 0xc4], al
mov byte [rdi + 0x61], cl
mov byte [r10 + rdi + 0xc5], al
mov byte [rdi + 0x62], cl
mov byte [r10 + rdi + 0xc6], al
mov byte [rdi + 0x63], cl
test r10, r10
jle 0x18001d277
sub rdx, rdi
lea rcx, [rdi + 0x64]
lea r8, [rdx + r15]
mov rdx, r10
nop dword [rax + rax]
movzx eax, byte [r8 + rcx - 0x64]
mov byte [rcx], al
lea rcx, [rcx + 1]
sub rdx, 1
jne 0x18001d260
mov r8, qword [rsp + 0x20]
movsxd r12, r9d
add r12, r15
test ebp, ebp
jle 0x18001d38e
cvttss2si eax, xmm12
lea r15, [rdi + 0x64]
movaps xmm9, xmm12
cdq
mulss xmm9, xmm13
sub eax, edx
mov rdx, r13
sar eax, 1
movsxd rcx, eax
shl rcx, 2
sub rdx, rcx
mov r13d, ebp
mov ecx, eax
lea r14d, [rax + 1]
not ecx
mov rdi, rdx
mov dword [rsp + 0x30], ecx
nop dword [rax + rax]
movsxd rbx, ecx
movaps xmm8, xmm10
mov rbp, rdi
movaps xmm7, xmm10
cmp ebx, r14d
jge 0x18001d340
lea rsi, [r15 + rbx]
nop word [rax + rax]
movzx eax, byte [rsi]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
cmp r11b, 1
jne 0x18001d30e
movd xmm0, ebx
movaps xmm1, xmm9
cvtdq2ps xmm0, xmm0
call fcn.1800142c0
movzx r11d, byte [rsp + 0x160]
movaps xmm1, xmm0
jmp 0x18001d317
movss xmm1, dword [rbp]
add rbp, 4
mulss xmm6, xmm1
movaps xmm0, xmm1
inc ebx
inc rsi
addss xmm0, xmm7
addss xmm6, xmm8
movaps xmm7, xmm0
movaps xmm8, xmm6
cmp ebx, r14d
jl 0x18001d2e0
ucomiss xmm0, xmm10
jp 0x18001d344
jne 0x18001d344
movaps xmm7, xmm11
mov ecx, dword [rsp + 0x30]
inc r15
divss xmm8, xmm7
cvttss2si eax, xmm8
mov byte [r12], al
inc r12
sub r13, 1
jne 0x18001d2c0
mov rdi, qword [rsp + 0x58]
mov ebp, dword [rsp + 0x148]
mov r9d, dword [rsp + 0x28]
mov r8, qword [rsp + 0x20]
mov r10, qword [rsp + 0x50]
mov r15, qword [rsp + 0x140]
mov r13, qword [rsp + 0x48]
mov rdx, qword [rsp + 0x40]
add r9d, ebp
sub r8, 1
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x20], r8
jne 0x18001ce40
mov esi, dword [rsp + 0x150]
movsxd rbx, esi
mov qword [rsp + 0x40], rbx
test ebp, ebp
jle 0x18001d8f8
lea eax, [rsi - 1]
mov edx, ebp
imul eax, ebp
lea r8, [rdi + 0x64]
mov qword [rsp + 0x38], r8
mov r9, r15
mov qword [rsp + 0x28], r15
mov qword [rsp + 0x20], rdx
movsxd rcx, eax
mov qword [rsp + 0x60], rcx
nop word [rax + rax]
movzx eax, byte [r15]
movzx ecx, byte [rcx + r9]
mov byte [rdi], al
mov byte [rbx + rdi + 0x63], cl
mov byte [rdi + 1], al
mov byte [rbx + rdi + 0x64], cl
mov byte [rdi + 2], al
mov byte [rbx + rdi + 0x65], cl
mov byte [rdi + 3], al
mov byte [rbx + rdi + 0x66], cl
mov byte [rdi + 4], al
mov byte [rbx + rdi + 0x67], cl
mov byte [rdi + 5], al
mov byte [rbx + rdi + 0x68], cl
mov byte [rdi + 6], al
mov byte [rbx + rdi + 0x69], cl
mov byte [rdi + 7], al
mov byte [rbx + rdi + 0x6a], cl
mov byte [rdi + 8], al
mov byte [rbx + rdi + 0x6b], cl
mov byte [rdi + 9], al
mov byte [rbx + rdi + 0x6c], cl
mov byte [rdi + 0xa], al
mov byte [rbx + rdi + 0x6d], cl
mov byte [rdi + 0xb], al
mov byte [rbx + rdi + 0x6e], cl
mov byte [rdi + 0xc], al
mov byte [rbx + rdi + 0x6f], cl
mov byte [rdi + 0xd], al
mov byte [rbx + rdi + 0x70], cl
mov byte [rdi + 0xe], al
mov byte [rbx + rdi + 0x71], cl
mov byte [rdi + 0xf], al
mov byte [rbx + rdi + 0x72], cl
mov byte [rdi + 0x10], al
mov byte [rbx + rdi + 0x73], cl
mov byte [rdi + 0x11], al
mov byte [rbx + rdi + 0x74], cl
mov byte [rdi + 0x12], al
mov byte [rbx + rdi + 0x75], cl
mov byte [rdi + 0x13], al
mov byte [rbx + rdi + 0x76], cl
mov byte [rdi + 0x14], al
mov byte [rbx + rdi + 0x77], cl
mov byte [rdi + 0x15], al
mov byte [rbx + rdi + 0x78], cl
mov byte [rdi + 0x16], al
mov byte [rbx + rdi + 0x79], cl
mov byte [rdi + 0x17], al
mov byte [rbx + rdi + 0x7a], cl
mov byte [rdi + 0x18], al
mov byte [rbx + rdi + 0x7b], cl
mov byte [rdi + 0x19], al
mov byte [rbx + rdi + 0x7c], cl
mov byte [rdi + 0x1a], al
mov byte [rbx + rdi + 0x7d], cl
mov byte [rdi + 0x1b], al
mov byte [rbx + rdi + 0x7e], cl
mov byte [rdi + 0x1c], al
mov byte [rbx + rdi + 0x7f], cl
mov byte [rdi + 0x1d], al
mov byte [rbx + rdi + 0x80], cl
mov byte [rdi + 0x1e], al
mov byte [rbx + rdi + 0x81], cl
mov byte [rdi + 0x1f], al
mov byte [rbx + rdi + 0x82], cl
mov byte [rdi + 0x20], al
mov byte [rbx + rdi + 0x83], cl
mov byte [rdi + 0x21], al
mov byte [rbx + rdi + 0x84], cl
mov byte [rdi + 0x22], al
mov byte [rbx + rdi + 0x85], cl
mov byte [rdi + 0x23], al
mov byte [rbx + rdi + 0x86], cl
mov byte [rdi + 0x24], al
mov byte [rbx + rdi + 0x87], cl
mov byte [rdi + 0x25], al
mov byte [rbx + rdi + 0x88], cl
mov byte [rdi + 0x26], al
mov byte [rbx + rdi + 0x89], cl
mov byte [rdi + 0x27], al
mov byte [rbx + rdi + 0x8a], cl
mov byte [rdi + 0x28], al
mov byte [rbx + rdi + 0x8b], cl
mov byte [rdi + 0x29], al
mov byte [rbx + rdi + 0x8c], cl
mov byte [rdi + 0x2a], al
mov byte [rbx + rdi + 0x8d], cl
mov byte [rdi + 0x2b], al
mov byte [rbx + rdi + 0x8e], cl
mov byte [rdi + 0x2c], al
mov byte [rbx + rdi + 0x8f], cl
mov byte [rdi + 0x2d], al
mov byte [rbx + rdi + 0x90], cl
mov byte [rdi + 0x2e], al
mov byte [rbx + rdi + 0x91], cl
mov byte [rdi + 0x2f], al
mov byte [rbx + rdi + 0x92], cl
mov byte [rdi + 0x30], al
mov byte [rbx + rdi + 0x93], cl
mov byte [rdi + 0x31], al
mov byte [rbx + rdi + 0x94], cl
mov byte [rdi + 0x32], al
mov byte [rbx + rdi + 0x95], cl
mov byte [rdi + 0x33], al
mov byte [rbx + rdi + 0x96], cl
mov byte [rdi + 0x34], al
mov byte [rbx + rdi + 0x97], cl
mov byte [rdi + 0x35], al
mov byte [rbx + rdi + 0x98], cl
mov byte [rdi + 0x36], al
mov byte [rbx + rdi + 0x99], cl
mov byte [rdi + 0x37], al
mov byte [rbx + rdi + 0x9a], cl
mov byte [rdi + 0x38], al
mov byte [rbx + rdi + 0x9b], cl
mov byte [rdi + 0x39], al
mov byte [rbx + rdi + 0x9c], cl
mov byte [rdi + 0x3a], al
mov byte [rbx + rdi + 0x9d], cl
mov byte [rdi + 0x3b], al
mov byte [rbx + rdi + 0x9e], cl
mov byte [rdi + 0x3c], al
mov byte [rbx + rdi + 0x9f], cl
mov byte [rdi + 0x3d], al
mov byte [rbx + rdi + 0xa0], cl
mov byte [rdi + 0x3e], al
mov byte [rbx + rdi + 0xa1], cl
mov byte [rdi + 0x3f], al
mov byte [rbx + rdi + 0xa2], cl
mov byte [rdi + 0x40], al
mov byte [rbx + rdi + 0xa3], cl
mov byte [rdi + 0x41], al
mov byte [rbx + rdi + 0xa4], cl
mov byte [rdi + 0x42], al
mov byte [rbx + rdi + 0xa5], cl
mov byte [rdi + 0x43], al
mov byte [rbx + rdi + 0xa6], cl
mov byte [rdi + 0x44], al
mov byte [rbx + rdi + 0xa7], cl
mov byte [rdi + 0x45], al
mov byte [rbx + rdi + 0xa8], cl
mov byte [rdi + 0x46], al
mov byte [rbx + rdi + 0xa9], cl
mov byte [rdi + 0x47], al
mov byte [rbx + rdi + 0xaa], cl
mov byte [rdi + 0x48], al
mov byte [rbx + rdi + 0xab], cl
mov byte [rdi + 0x49], al
mov byte [rbx + rdi + 0xac], cl
mov byte [rdi + 0x4a], al
mov byte [rbx + rdi + 0xad], cl
mov byte [rdi + 0x4b], al
mov byte [rbx + rdi + 0xae], cl
mov byte [rdi + 0x4c], al
mov byte [rbx + rdi + 0xaf], cl
mov byte [rdi + 0x4d], al
mov byte [rbx + rdi + 0xb0], cl
mov byte [rdi + 0x4e], al
mov byte [rbx + rdi + 0xb1], cl
mov byte [rdi + 0x4f], al
mov byte [rbx + rdi + 0xb2], cl
mov byte [rdi + 0x50], al
mov byte [rbx + rdi + 0xb3], cl
mov byte [rdi + 0x51], al
mov byte [rbx + rdi + 0xb4], cl
mov byte [rdi + 0x52], al
mov byte [rbx + rdi + 0xb5], cl
mov byte [rdi + 0x53], al
mov byte [rbx + rdi + 0xb6], cl
mov byte [rdi + 0x54], al
mov byte [rbx + rdi + 0xb7], cl
mov byte [rdi + 0x55], al
mov byte [rbx + rdi + 0xb8], cl
mov byte [rdi + 0x56], al
mov byte [rbx + rdi + 0xb9], cl
mov byte [rdi + 0x57], al
mov byte [rbx + rdi + 0xba], cl
mov byte [rdi + 0x58], al
mov byte [rbx + rdi + 0xbb], cl
mov byte [rdi + 0x59], al
mov byte [rbx + rdi + 0xbc], cl
mov byte [rdi + 0x5a], al
mov byte [rbx + rdi + 0xbd], cl
mov byte [rdi + 0x5b], al
mov byte [rbx + rdi + 0xbe], cl
mov byte [rdi + 0x5c], al
mov byte [rbx + rdi + 0xbf], cl
mov byte [rdi + 0x5d], al
mov byte [rbx + rdi + 0xc0], cl
mov byte [rdi + 0x5e], al
mov byte [rbx + rdi + 0xc1], cl
mov byte [rdi + 0x5f], al
mov byte [rbx + rdi + 0xc2], cl
mov byte [rdi + 0x60], al
mov byte [rbx + rdi + 0xc3], cl
mov byte [rdi + 0x61], al
mov byte [rbx + rdi + 0xc4], cl
mov byte [rdi + 0x62], al
mov byte [rbx + rdi + 0xc5], cl
mov byte [rdi + 0x63], al
mov byte [rbx + rdi + 0xc6], cl
xor ecx, ecx
test rbx, rbx
jle 0x18001d7b7
mov rdx, r15
nop dword [rax]
nop word [rax + rax]
movzx eax, byte [rdx]
add rdx, r10
mov byte [r8 + rcx], al
inc rcx
cmp rcx, rbx
jl 0x18001d7a0
mov rdx, qword [rsp + 0x20]
mov r13, r9
mov r12, r8
test esi, esi
jle 0x18001d8d1
mov rdi, qword [rsp + 0x48]
movaps xmm9, xmm12
cvttss2si eax, xmm12
mulss xmm9, xmm13
cdq
sub eax, edx
sar eax, 1
movsxd rcx, eax
mov ebx, eax
shl rcx, 2
not ebx
sub rdi, rcx
lea r15d, [rax + 1]
mov eax, esi
mov qword [rsp + 0x30], rax
nop word [rax + rax]
movsxd rsi, ebx
movaps xmm7, xmm10
mov r14, rdi
movaps xmm8, xmm10
cmp esi, r15d
jge 0x18001d881
lea rbp, [r12 + rsi]
nop word [rax + rax]
movzx eax, byte [rbp]
movd xmm6, eax
cvtdq2ps xmm6, xmm6
cmp r11b, 1
jne 0x18001d84f
movd xmm0, esi
movaps xmm1, xmm9
cvtdq2ps xmm0, xmm0
call fcn.1800142c0
movzx r11d, byte [rsp + 0x160]
movaps xmm1, xmm0
jmp 0x18001d858
movss xmm1, dword [r14]
add r14, 4
movaps xmm0, xmm1
inc esi
mulss xmm1, xmm6
addss xmm0, xmm8
inc rbp
addss xmm1, xmm7
movaps xmm8, xmm0
movaps xmm7, xmm1
cmp esi, r15d
jl 0x18001d820
ucomiss xmm0, xmm10
jp 0x18001d885
jne 0x18001d885
movaps xmm8, xmm11
mov r10, qword [rsp + 0x50]
inc r12
divss xmm7, xmm8
cvttss2si eax, xmm7
mov byte [r13], al
add r13, r10
sub qword [rsp + 0x30], 1
jne 0x18001d800
mov rdi, qword [rsp + 0x58]
mov rbx, qword [rsp + 0x40]
mov r8, qword [rsp + 0x38]
mov r9, qword [rsp + 0x28]
mov rdx, qword [rsp + 0x20]
mov r15, qword [rsp + 0x140]
mov esi, dword [rsp + 0x150]
mov rcx, qword [rsp + 0x60]
inc r9
inc r15
mov qword [rsp + 0x28], r9
sub rdx, 1
mov qword [rsp + 0x140], r15
mov qword [rsp + 0x20], rdx
jne 0x18001d3f0
mov rcx, qword [rsp + 0x68]
movaps xmm13, xmmword [rsp + 0x80]
movaps xmm12, xmmword [rsp + 0x90]
movaps xmm11, xmmword [rsp + 0xa0]
movaps xmm10, xmmword [rsp + 0xb0]
movaps xmm9, xmmword [rsp + 0xc0]
movaps xmm8, xmmword [rsp + 0xd0]
movaps xmm7, xmmword [rsp + 0xe0]
movaps xmm6, xmmword [rsp + 0xf0]
mov r15, qword [rsp + 0x100]
mov r14, qword [rsp + 0x108]
mov r13, qword [rsp + 0x110]
mov r12, qword [rsp + 0x118]
mov rsi, qword [rsp + 0x128]
mov rbp, qword [rsp + 0x130]
mov rbx, qword [rsp + 0x158]
test rcx, rcx
je 0x18001d98e
xor edx, edx
mov r8d, 0x8000
call qword [sym.imp.KERNEL32.dll_VirtualFree]
test rdi, rdi
je 0x18001d9a4
xor edx, edx
mov r8d, 0x8000
mov rcx, rdi
call qword [sym.imp.KERNEL32.dll_VirtualFree]
mov rax, qword [rsp + 0x70]
mov rdi, qword [rsp + 0x120]
test rax, rax
je 0x18001d9c7
xor edx, edx
mov r8d, 0x8000
mov rcx, rax
call qword [sym.imp.KERNEL32.dll_VirtualFree]
add rsp, 0x138
ret