Function at 0x180040380
Capabilities:
Check http status code
Create thread
Encode data using base64
Manipulate console buffer
Read file on windows

Disassembly:
mov qword [rsp + 8], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0xae0]
sub rsp, 0xbe0
mov rax, qword [0x18005a098]
xor rax, rsp
mov qword [rbp + 0xad0], rax
mov qword [rbp - 0x58], r9
mov rsi, r8
mov qword [rsp + 0x70], r8
mov qword [rbp - 0x78], rdx
mov r15d, ecx
mov dword [rsp + 0x54], ecx
movdqa xmm0, xmmword [0x180050bc0]
movdqa xmmword [rbp + 0x1e0], xmm0
mov byte [rbp + 0x1d0], 0
movdqa xmm1, xmm0
movdqa xmmword [rbp + 0x200], xmm0
mov byte [rbp + 0x1f0], 0
movdqa xmmword [rbp + 0x220], xmm0
mov byte [rbp + 0x210], 0
movdqa xmmword [rbp + 0x240], xmm0
mov byte [rbp + 0x230], 0
movdqa xmmword [rbp + 0x270], xmm0
mov byte [rbp + 0x260], 0
movdqa xmmword [rbp + 0x290], xmm0
mov byte [rbp + 0x280], 0
xor ecx, ecx
mov qword [rbp + 0x60], rcx
mov word [rbp + 0x68], cx
movdqu xmmword [rbp + 0x7a], xmm0
mov byte [rbp + 0x6a], cl
mov qword [rbp + 0x30], rcx
mov word [rbp + 0x38], cx
movdqu xmmword [rbp + 0x4a], xmm0
mov byte [rbp + 0x3a], cl
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], rcx
mov qword [rbp - 0x28], rcx
movdqa xmmword [rbp - 0x20], xmm0
mov qword [rbp - 0x10], rcx
mov qword [rbp - 8], rcx
mov qword [rbp], rcx
mov qword [rbp + 0x90], rcx
mov qword [rbp + 0x98], rcx
mov qword [rbp + 0xa0], rcx
mov ecx, 0x30
call fcn.1800431a8
mov qword [rax], rax
mov qword [rax + 8], rax
mov qword [rax + 0x10], rax
mov word [rax + 0x18], 0x101
mov qword [rbp + 0x98], rax
xor r9d, r9d
mov qword [rbp + 0xa8], r9
xorps xmm2, xmm2
movsd qword [rbp + 0xb0], xmm2
mov qword [rbp + 0xb8], r9
mov dword [rbp + 0xc0], 1
mov qword [rbp + 0xc8], r9
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xd0], xmm0
xorps xmm1, xmm1
movdqa xmmword [rbp + 0xe0], xmm1
movdqa xmmword [rbp + 0xf0], xmm0
mov qword [rbp + 0x100], r9
mov qword [rbp + 0x108], 0xffffffffffffffff
mov dword [rbp + 0x110], r9d
xor eax, eax
movups xmmword [rbp + 0x118], xmm0
movups xmmword [rbp + 0x128], xmm0
movups xmmword [rbp + 0x138], xmm0
movups xmmword [rbp + 0x148], xmm0
mov qword [rbp + 0x158], rax
movdqa xmm0, xmmword [0x180050bc0]
movdqa xmmword [rbp + 0x170], xmm0
mov byte [rbp + 0x160], al
mov word [rbp + 0x180], r9w
mov dword [rbp + 0x184], r9d
mov qword [rbp + 0x188], r9
xorps xmm0, xmm0
movaps xmmword [rbp + 0x190], xmm0
movsd qword [rbp + 0x1a0], xmm2
mov byte [rbp + 0x1a8], al
mov qword [rbp + 0x1ac], r9
mov r14d, r15d
lea r13d, [r15 + 0x4de]
lea rdx, [0x180000000]
lea r8d, [r9 + 0x65]
lea r10d, [r9 + 0x61]
lea r11d, [r9 + 0x73]
mov edi, dword [rsp + 0x5c]
mov dword [rsp + 0x68], edi
cmp r15d, r13d
jae 0x1800408dc
mov ecx, 0x6c65
mov r15, qword [rsp + 0x78]
mov r12d, dword [rsp + 0x6c]
mov ebx, dword [rsp + 0x6c]
nop dword [rax]
cmp r14d, 0x110
ja 0x180040820
je 0x1800406e6
lea eax, [r14 - 0x41]
cmp eax, 0xc8
ja case.default.0x1800405f4
movzx eax, byte [rdx + rax + 0x41a9c]
mov ecx, dword [rdx + rax*4 + 0x41a7c]
add rcx, rdx
jmp rcx
mov dword [rbp + 0x516], 0x610065
mov eax, 0x79
mov word [rbp + 0x51a], ax
jmp case.0x1800405f4.72
mov word [rbp + 0x4f0], 0x79
jmp case.0x1800405f4.72
mov word [rbp + 0x510], r11w
mov dword [rbp + 0x512], 0x6c0073
jmp case.0x1800405f4.72
xor r9d, r9d
mov r8, qword [rbp - 0x58]
mov edx, 0x10d
xor ecx, ecx
call fcn.18003e4c0
mov rsi, rax
mov r9d, 0xbd
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.180034c60
mov r15, rax
mov edx, 0xb6
mov ecx, edx
sub ecx, 0xb3
je 0x180040680
sub ecx, 2
je 0x18004068f
cmp ecx, 1
jne 0x180040685
xor eax, eax
mov ebx, eax
jmp 0x180040685
mov eax, dword [rsi]
mov dword [r15], eax
dec edx
cmp edx, 0xb3
ja 0x180040666
mov r12d, ebx
mov rsi, qword [rsp + 0x70]
mov r8d, 0x65
lea r10d, [r8 - 4]
lea r11d, [r8 + 0xe]
jmp 0x1800408bb
mov rdx, r15
mov ecx, 0xdf
call fcn.1800041b0
mov edi, r12d
mov dword [rsp + 0x68], r12d
mov dword [rsp + 0x5c], r12d
mov r8d, 0x65
lea r10d, [r8 - 4]
lea r11d, [r8 + 0xe]
jmp 0x1800408bb
mov dword [rbp + 0x51c], 0x320033
jmp case.0x1800405f4.72
mov rdx, qword [rsp + 0x70]
cmp qword [rdx], 0
je 0x1800407a2
mov rax, qword [rdx + 0x10]
mov rcx, qword [rbp - 0x78]
cmp qword [rcx], rax
jbe 0x1800408b8
mov esi, 0x121
nop dword [rax + rax]
mov eax, esi
sub eax, 0x121
je 0x180040765
cmp eax, 1
jne 0x18004078f
mov rax, qword [rbp - 0x58]
mov rax, qword [rax + 0x10]
imul rax, qword [rdx + 0x10]
mov qword [rbp - 0x70], rax
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r9
lea r9, [rbp - 0x70]
xor r8d, r8d
xor edx, edx
mov ecx, 0xca
call fcn.18003b6f0
mov rdx, qword [rsp + 0x70]
mov qword [rdx], rax
jmp 0x18004078c
xor r8d, r8d
mov rdx, qword [rdx]
mov ecx, 0x9e
call fcn.1800230f0
mov rcx, qword [rbp - 0x58]
mov rax, qword [rcx]
mov rcx, qword [rbp - 0x78]
add rax, qword [rcx]
mov rdx, qword [rsp + 0x70]
mov qword [rdx + 0x10], rax
xor r9d, r9d
inc esi
cmp esi, 0x123
jb 0x180040710
jmp 0x180040692
mov esi, 0x3d
cmp esi, 0x3d
jne 0x18004080d
mov r8, qword [rbp - 0x58]
mov rcx, qword [r8]
mov qword [rdx + 0x10], rcx
mov rax, qword [rbp - 0x78]
mov rax, qword [rax]
cmp rax, rcx
jbe 0x1800407ca
add rcx, rax
mov qword [rdx + 0x10], rcx
mov rax, qword [r8 + 0x10]
imul rax, rcx
mov qword [rbp - 0x70], rax
mov qword [rsp + 0x40], r9
mov qword [rsp + 0x38], r9
mov qword [rsp + 0x30], r9
mov qword [rsp + 0x28], r9
mov qword [rsp + 0x20], r9
lea r9, [rbp - 0x70]
xor r8d, r8d
xor edx, edx
mov ecx, 0xca
call fcn.18003b6f0
mov rdx, qword [rsp + 0x70]
mov qword [rdx], rax
xor r9d, r9d
add esi, 0x1cd5
cmp esi, 0x1cd5
jbe 0x1800407a7
jmp 0x180040692
cmp r14d, 0x1c2
ja 0x180040876
je case.0x180040fb8.124
mov eax, r14d
sub eax, 0x114
je 0x18004086d
sub eax, 0x55
je 0x180040850
cmp eax, 4
jne case.default.0x1800405f4
mov byte [rbp + 0x4f3], 0
jmp case.default.0x1800405f4
mov qword [rsi + 8], r9
cmp qword [rsi], 0
je 0x18004096e
mov edi, r9d
mov dword [rsp + 0x68], r9d
mov dword [rsp + 0x5c], r9d
jmp case.default.0x1800405f4
mov word [rbp + 0x4f1], cx
jmp case.default.0x1800405f4
mov eax, r14d
sub eax, 0x1c6
je 0x18004088e
cmp eax, 0x59
jne case.default.0x1800405f4
mov byte [rbp + 0x4f7], 0
jmp case.default.0x1800405f4
mov r8d, 4
lea rdx, [0x18004d3fc]
lea rcx, [rbp + 0x4f3]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncpy]
mov r8d, 0x65
lea r10d, [r8 - 4]
lea r11d, [r8 + 0xe]
jmp 0x1800408bb
mov rsi, rdx
lea rdx, [0x180000000]
mov ecx, 0x6c65
add r14d, 0x59
xor r9d, r9d
cmp r14d, r13d
jb 0x1800405c0
mov r15d, dword [rsp + 0x54]
mov ebx, r15d
mov dword [rbp - 0x80], ebx
lea r14d, [r15 + 0xa7e]
mov dword [rsp + 0x6c], r14d
mov edx, 0x64
lea r11d, [rdx - 0x36]
cmp r15d, r14d
jae 0x180040f45
mov ecx, 0x1bb
mov r15d, dword [rsp + 0x6c]
mov r12d, dword [rsp + 0x6c]
mov r13, qword [rsp + 0x78]
movzx eax, byte [rsp + 0x51]
mov byte [rsp + 0x50], al
movzx esi, byte [rsp + 0x51]
cmp ebx, 0x333
ja 0x180040d4f
je 0x180040d06
cmp ebx, 0x17d
ja 0x1800409cc
je 0x1800409bd
mov eax, ebx
sub eax, 0x41
je 0x1800409a2
sub eax, 0x7a
je 0x180040993
sub eax, 0x24
je 0x180040978
movzx r8d, byte [rsp + 0x50]
cmp eax, 0x7a
jne 0x180040f2f
mov byte [rbp + 0x4fb], 0
jmp 0x180040f2f
mov edi, 2
jmp case.0x180040fb8.124
mov dword [rbp + 0x526], 0x6c
mov eax, 0x73
mov word [rbp + 0x550], ax
jmp 0x180040f29
mov dword [rbp + 0x4f7], 0x2e656d6f
jmp 0x180040f29
mov dword [rbp + 0x520], 0x64002e
mov eax, 0x6c
mov word [rbp + 0x524], ax
jmp 0x180040f29
mov dword [rbp + 0x552], 0x6c0073
jmp 0x180040f29
mov eax, ebx
sub eax, 0x1f7
je 0x180040cde
sub eax, 0x24
je 0x180040ccf
cmp eax, 0x7a
jne 0x180040f29
xor r9d, r9d
lea r8, [0x1800573a8]
lea edx, [rax + 0x35]
xor ecx, ecx
call fcn.18001c9e0
test al, al
jne 0x180040ca6
xor r9d, r9d
mov r14d, r9d
mov dword [rsp + 0x60], r9d
lea ebx, [r9 + 0x64]
cmp r14d, 0xe
ja case.default.0x180040a34
mov eax, r14d
lea rdx, [0x180000000]
mov ecx, dword [rdx + rax*4 + 0x41b68]
add rcx, rdx
jmp rcx
mov byte [rsp + 0x58], 1
jmp case.default.0x180040a34
mov dword [rbp + 0x53e], 0x74006e
mov dword [rbp + 0x542], 0x790072
jmp case.default.0x180040a34
mov eax, 0x3f
mov word [rbp + 0x500], ax
jmp case.default.0x180040a34
test sil, sil
je 0x180040a79
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
mov edi, 1
mov dword [rsp + 0x68], edi
mov dword [rsp + 0x5c], edi
jmp case.default.0x180040a34
mov ecx, r9d
movzx eax, byte [rsp + 0x58]
cmp qword [rbp - 0x70], 0
cmovne ecx, eax
mov byte [rsp + 0x58], cl
cmp qword [rbp - 0x50], 0
jne case.default.0x180040a34
mov ebx, 5
lea esi, [rbx + 1]
mov r14d, dword [rbp - 0x60]
mov edi, dword [rbp - 0x68]
nop dword [rax]
cmp ebx, 5
ja case.default.0x180040ad5
mov eax, ebx
mov ecx, dword [rdx + rax*4 + 0x41ba4]
add rcx, rdx
jmp rcx
mov eax, 0x64
mov r15d, eax
mov r12d, eax
mov r13, r9
jmp case.default.0x180040ad5
mov r14d, 0x2d
jmp case.default.0x180040ad5
mov edi, 0x36
jmp case.default.0x180040ad5
mov qword [rsp + 0x78], r9
jmp case.default.0x180040ad5
mov dword [rbp - 0x44], r9d
mov dword [rbp - 0x48], r9d
jmp case.default.0x180040ad5
mov dword [rsp + 0x40], 0x40000000
mov eax, dword [rbp - 0x48]
mov dword [rsp + 0x38], eax
mov eax, dword [rbp - 0x44]
mov dword [rsp + 0x30], eax
mov qword [rsp + 0x28], r13
mov dword [rsp + 0x20], r12d
mov r9d, r15d
mov r8d, edi
mov edx, r14d
mov rcx, qword [rsp + 0x78]
call qword [sym.imp.GDI32.dll_BitBlt]
mov byte [rsp + 0x51], 0
xor r9d, r9d
lea rdx, [0x180000000]
dec ebx
sub rsi, 1
jne 0x180040ac0
mov dword [rbp - 0x68], edi
mov dword [rbp - 0x60], r14d
mov edi, dword [rsp + 0x68]
mov r14d, dword [rsp + 0x60]
movzx esi, byte [rsp + 0x51]
mov ebx, 0x64
jmp case.default.0x180040a34
mov r8d, 1
lea rdx, [0x18004cf9c]
lea rcx, [rbp + 0x500]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov eax, 0x49
mov word [rbp + 0x530], ax
jmp case.default.0x180040a34
cmp byte [rsp + 0x58], 0
je case.default.0x180040a34
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.GDI32.dll_DeleteObject]
jmp case.default.0x180040a34
mov r8d, 6
lea rdx, str.nCanEx
lea rcx, [rbp + 0x500]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
mov eax, 0x65
mov word [rbp + 0x507], ax
jmp case.default.0x180040a34
mov word [rbp + 0x546], r9w
jmp case.default.0x180040a34
lea r8, [rbp + 0x530]
xor edx, edx
mov ecx, 0x1f0003
call qword [sym.imp.KERNEL32.dll_OpenSemaphoreW]
mov qword [rbp - 0x50], rax
jmp case.default.0x180040a34
mov eax, 0x63
mov word [rbp + 0x508], ax
movzx eax, word [0x18004d414]
mov word [rbp + 0x509], ax
movzx eax, byte [0x18004d416]
mov byte [rbp + 0x50b], al
jmp case.default.0x180040a34
mov dword [rbp + 0x532], 0x64006e
mov eax, 0x65
mov word [rbp + 0x536], ax
jmp case.default.0x180040a34
mov sil, 1
mov byte [rsp + 0x51], sil
lea rcx, [rbp + 0x500]
call qword [sym.imp.GDI32.dll_CreateMetaFileA]
mov qword [rbp - 0x70], rax
jmp case.default.0x180040a34
mov eax, 0x78
mov word [rbp + 0x538], ax
mov dword [rbp + 0x53a], 0x450020
inc r14d
mov dword [rsp + 0x60], r14d
lea eax, [r14 + 0xdc]
cmp eax, 0xeb
mov r9d, 0
jb 0x180040a16
mov ebx, dword [rbp - 0x80]
mov r14d, dword [rsp + 0x6c]
call qword [sym.imp.KERNEL32.dll_GetTickCount]
mov ecx, eax
call qword [sym.imp.api_ms_win_crt_utility_l1_1_0.dll_srand]
mov r8b, 1
mov byte [rsp + 0x50], r8b
mov ecx, 0x1bb
mov edx, 0x64
lea r11d, [rdx - 0x36]
jmp 0x180040f2f
mov dword [rbp + 0x556], 0x610065
jmp 0x180040f29
mov word [rbp + 0x4fb], 0x72
mov r8d, 1
lea rdx, str.unknown_unsupported_pixel_block_0x_x
lea rcx, [rbp + 0x4f0]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_strncat]
jmp 0x180040f1a
lea rax, [rbp + 0x4f0]
mov r8, 0xffffffffffffffff
inc r8
cmp byte [rax + r8], 0
jne 0x180040d14
lea rdx, [rbp + 0x4f0]
lea rcx, [rbp + 0x1d0]
call fcn.180015250
mov r8d, 1
lea rdx, [0x18004ba6c]
lea rcx, [rbp + 0x1f0]
call fcn.180015250
jmp 0x180040f1a
cmp ebx, 0x649
ja 0x180040e69
je 0x180040e4c
cmp ebx, 0x3d1
je 0x180040e40
cmp ebx, 0x46f
je 0x180040ded
cmp ebx, 0x50d
je 0x180040de1
cmp ebx, 0x5ab
jne 0x180040f29
mov word [rsp + 0x60], cx
lea r9, [rbp + 0x60]
lea r8, [rsp + 0x60]
mov edx, 0xde
lea rcx, [0x180057408]
call fcn.18003ef40
mov eax, 0x1bb
mov word [rsp + 0x60], ax
lea rax, [0x180057428]
mov qword [rsp + 0x20], rax
xor r9d, r9d
mov r8d, 0x130
lea rdx, [rsp + 0x60]
lea rcx, [rbp + 0x30]
call fcn.180032870
mov dword [rbp + 0x24], 0x14
jmp 0x180040f1a
mov dword [rbp + 0x20], 0xa
jmp 0x180040f29
xor r9d, r9d
lea r8, [rbp + 0x210]
mov edx, 0xee
xor ecx, ecx
call fcn.180010d70
xorps xmm0, xmm0
movups xmmword [rbp + 0x20], xmm0
xor eax, eax
mov qword [rsp + 0x30], rax
lea rax, [rbp + 0x1d0]
mov qword [rsp + 0x28], rax
lea rax, [rbp + 0x260]
mov qword [rsp + 0x20], rax
mov r9d, 0x3b
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.18000b0e0
jmp 0x180040f1a
mov word [rbp + 0x250], cx
jmp 0x180040f29
mov qword [rsp + 0x20], r9
lea r9, [rbp - 0x40]
xor edx, edx
xor ecx, ecx
mov r8d, 0x114
call fcn.18000e210
jmp 0x180040f1a
cmp ebx, 0x6e7
je 0x180040ee9
cmp ebx, 0x785
je 0x180040ec6
cmp ebx, 0x823
jne 0x180040f29
mov eax, dword [0x180057450]
mov dword [rbp - 0x80], eax
lea rax, [rbp - 0x80]
mov qword [rsp + 0x28], rax
lea rax, [rbp - 0x40]
mov qword [rsp + 0x20], rax
mov r9d, 0x102
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.180028290
xorps xmm0, xmm0
movups xmmword [rbp + 0x1c0], xmm0
mov eax, 0x78
mov dword [rbp + 0x2c], eax
jmp 0x180040f1a
mov dword [rbp + 0x28], edx
lea rax, [rbp + 0x30]
mov qword [rbp - 0x80], rax
mov rax, qword [rbp - 0x38]
cmp rax, qword [rbp - 0x30]
je 0x180040f09
lea rcx, [rbp + 0x30]
mov qword [rax], rcx
add qword [rbp - 0x38], 8
jmp 0x180040f24
lea rax, [rbp + 0x60]
mov qword [rbp - 0x80], rax
mov rax, qword [rbp - 0x38]
cmp rax, qword [rbp - 0x30]
je 0x180040f09
lea rcx, [rbp + 0x60]
mov qword [rax], rcx
add qword [rbp - 0x38], 8
jmp 0x180040f24
lea r8, [rbp - 0x80]
mov rdx, qword [rbp - 0x38]
lea rcx, [rbp - 0x40]
call fcn.1800011c0
mov r11d, 0x2e
lea edx, [r11 + 0x36]
mov ecx, 0x1bb
movzx r8d, byte [rsp + 0x50]
add ebx, 0x9e
mov dword [rbp - 0x80], ebx
cmp ebx, r14d
jae 0x180040f52
xor r9d, r9d
jmp 0x180040922
movzx r8d, byte [rsp + 0x51]
mov byte [rsp + 0x50], r8b
jmp 0x180040f57
mov r15d, dword [rsp + 0x54]
mov r13d, r15d
lea ebx, [r15 - 0xe]
mov dword [rsp + 0x6c], ebx
cmp r15d, ebx
jbe 0x180041314
lea r12d, [r15 - 0x3a]
mov edx, 0x45
mov dword [rbp - 0x80], edx
lea r9d, [rdx - 0x13]
movzx r15d, byte [rsp + 0x51]
movzx esi, byte [rsp + 0x51]
mov r14, qword [rsp + 0x78]
nop dword [rax + rax]
cmp r12d, 0x81
ja case.0x180040fb8.8
lea r10, [0x180000000]
movzx eax, byte [r10 + r12 + 0x41bf8]
mov ecx, dword [r10 + rax*4 + 0x41bbc]
add rcx, r10
jmp rcx
mov dword [rbp + 0x57a], 0x79
jmp case.0x180040fb8.8
mov dword [rbp + 0x59a], 0x330079
jmp case.0x180040fb8.8
test r8b, r8b
je 0x180040fe7
mov rcx, qword [rbp - 0x70]
call qword [sym.imp.GDI32.dll_DeleteObject]
lea rcx, [rbp + 0x1c0]
call qword [sym.imp.KERNEL32.dll_GetConsoleSelectionInfo]
xor eax, eax
mov edi, eax
mov dword [rsp + 0x5c], eax
jmp 0x1800412f0
mov eax, 0x64
mov word [rbp + 0x562], ax
jmp case.0x180040fb8.8
lea r9, [0x1800573a0]
lea r8, [rbp + 0x90]
lea rcx, [rbp - 0x40]
call fcn.180031220
xor eax, eax
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], rax
lea r9, [rbp + 0x90]
xor edx, edx
xor ecx, ecx
mov r8d, 0xd5
call fcn.180005760
xor eax, eax
mov ecx, eax
movzx eax, byte [rsp + 0x50]
cmp qword [rbp - 0x70], rcx
cmovne ecx, eax
movzx r8d, cl
mov byte [rsp + 0x50], cl
jmp 0x1800412f6
lea rax, [rbp - 0x40]
mov qword [rbp + 0x500], rax
mov eax, dword [0x180057450]
mov dword [rbp + 0x508], eax
mov eax, dword [0x180057454]
mov dword [rbp + 0x50c], eax
movaps xmm0, xmmword [rbp + 0x500]
movdqa xmmword [rbp + 0x10], xmm0
xor eax, eax
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], eax
lea r9, [rbp + 0x10]
lea r8, [0x18000e1e0]
xor edx, edx
xor ecx, ecx
call qword [sym.imp.KERNEL32.dll_CreateThread]
mov qword [rbp - 0x50], rax
cmp rax, 0
jne 0x1800412f0
mov ebx, 0x1e
nop word [rax + rax]
cmp ebx, 0x1e
je 0x1800411ec
cmp ebx, 0xa3
je 0x1800411e4
cmp ebx, 0x128
je 0x1800411ca
cmp ebx, 0x1ad
je 0x18004119e
cmp ebx, 0x232
jne 0x180041207
test r15b, r15b
je 0x1800415af
mov edi, 2
lea edx, [rdi + 0x1e]
movabs rax, 0x5600200023
movabs rcx, 0x7500730069
lea r8d, [rdi + 0x4e]
mov rsi, qword [rsp + 0x78]
movzx r15d, byte [rsp + 0x51]
mov r12d, dword [rsp + 0x6c]
mov ebx, 0x45
mov r13, qword [rbp - 0x68]
nop dword [rax + rax]
cmp ebx, 0x120f
ja 0x1800413cd
je 0x1800413c0
cmp ebx, 0x45
je 0x180041393
cmp ebx, 0x633
je 0x18004136d
cmp ebx, 0xc21
jne 0x18004159a
mov r8d, 0xa
lea rdx, [rbp + 0x5f4]
mov ecx, r8d
call qword [sym.imp.api_ms_win_crt_convert_l1_1_0.dll__ultow]
jmp 0x18004157d
mov ecx, 0xfffffff5
call qword [sym.imp.KERNEL32.dll_GetStdHandle]
mov qword [rbp - 0x68], rax
test sil, sil
je 0x1800411bf
mov rcx, r14
call qword [sym.imp.GDI32.dll_DeleteColorSpace]
mov rax, qword [rbp - 0x68]
cmp rax, 0xffffffffffffffff
jne 0x180041207
xor r15b, r15b
jmp 0x180041207
lea rcx, [rbp + 0x2a0]
call qword [sym.imp.GDI32.dll_CreateColorSpaceW]
mov r14, rax
test rax, rax
jne 0x180041207
xor sil, sil
jmp 0x180041207
xor eax, eax
mov dword [rsp + 0x60], eax
jmp 0x180041207
mov r15b, 1
movzx esi, r15b
xor edx, edx
mov r8d, 0x24c
lea rcx, [rbp + 0x2a0]
call sub.VCRUNTIME140.dll_memset
add ebx, 0x85
cmp ebx, 0x2b7
jb 0x1800410d0
mov ebx, dword [rsp + 0x6c]
jmp 0x1800412f0
mov dword [rbp + 0x590], 0x730073
mov eax, 0x6c
mov word [rbp + 0x594], ax
mov dword [rbp + 0x596], 0x610065
jmp case.0x180040fb8.8
mov dword [rbp + 0x55a], 0x330079
mov dword [rbp + 0x55e], 0x2e0032
jmp case.0x180040fb8.8
mov dword [rbp + 0x5a6], 0x6c
movsd xmm0, qword [0x18004d4dc]
movsd qword [rbp + 0x570], xmm0
movzx eax, word [0x18004d4e4]
mov word [rbp + 0x578], ax
jmp case.0x180040fb8.8
lea rcx, [rbp + 0x20]
call qword [sym.imp.GDI32.dll_CreateEllipticRgnIndirect]
mov qword [rbp - 0x70], rax
jmp 0x1800412f0
mov dword [rbp + 0x59e], 0x2e0032
mov dword [rbp + 0x5a2], 0x6c0064
jmp case.0x180040fb8.8
mov dword [rbp + 0x564], 0x6c006c
xor eax, eax
mov word [rbp + 0x568], ax
jmp case.0x180040fb8.8
mov rcx, qword [rbp - 0x50]
call qword [sym.imp.KERNEL32.dll_CloseHandle]
lea rax, [0x1800095d0]
mov qword [rsp + 0x78], rax
xor r9d, r9d
xor r8d, r8d
lea rdx, [rsp + 0x78]
mov ecx, 0x119
call fcn.180015b90
movzx r8d, byte [rsp + 0x50]
mov r9d, 0x32
lea edx, [r9 + 0x13]
dec r13d
dec r12d
cmp r13d, ebx
ja 0x180040f90
mov r15d, dword [rsp + 0x54]
lea esi, [r15 + 0xe]
cmp r15d, esi
jae case.0x180040fb8.124
lea edi, [r15 - 0x41]
movabs rdx, 0x64002e0032
mov r14, qword [rsp + 0x78]
mov r13, qword [rsp + 0x78]
mov r15, qword [rsp + 0x78]
mov r12, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x70]
mov eax, dword [rsp + 0x54]
nop dword [rax]
cmp edi, 0xd
ja case.default.0x18004136b
lea r8, [0x180000000]
mov ecx, dword [r8 + rdi*4 + 0x41c7c]
add rcx, r8
jmp rcx
mov word [rbp + 0x5e0], dx
movups xmm0, xmmword [str.Studio_20]
movups xmmword [rbp + 0x5e2], xmm0
mov eax, dword [0x18004d450]
mov dword [rbp + 0x5f2], eax
jmp 0x180041590
mov qword [rbp + 0x5d0], rax
mov qword [rbp + 0x5d6], rcx
mov eax, dword [0x18004d454]
mov dword [rbp + 0x5dc], eax
movzx eax, word [0x18004d458]
mov word [rbp + 0x5e0], ax
jmp 0x180041590
mov r15b, 1
mov word [rsp + 0x62], di
jmp 0x18004159a
cmp ebx, 0x17fd
je 0x18004153c
cmp ebx, 0x1deb
jne 0x18004159a
xor eax, eax
mov ecx, eax
movzx eax, r15b
test rsi, rsi
cmovne ecx, eax
movzx r15d, cl
test cl, cl
je 0x180041516
mov r14d, 0x52
xor r13d, r13d
nop dword [rax + rax]
cmp r14d, 0x52
je 0x1800414d8
cmp r14d, 0x142e
je 0x1800414be
cmp r14d, 0x280a
jne 0x1800414fb
test r15b, r15b
je 0x1800414fb
mov ebx, 7
mov eax, ebx
sub eax, 5
je 0x1800414ac
sub eax, 1
je 0x18004148b
cmp eax, 1
jne 0x1800414b5
mov r9d, edi
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_SetFilePointer]
lea rax, [rbp + 0x530]
mov qword [rsp + 0x28], rax
mov eax, dword [rsp + 0x68]
mov dword [rsp + 0x20], eax
xor r9d, r9d
xor r8d, r8d
mov edx, edi
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_LockFileEx]
jmp 0x1800414b5
lea rax, [rbp + 0x530]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x68]
xor r8d, r8d
xor edx, edx
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_UnlockFileEx]
jmp 0x1800414b5
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
dec ebx
cmp ebx, 4
ja 0x180041442
jmp 0x1800414fb
test r12d, r12d
jne 0x1800414fb
cmp dword [rsp + 0x68], r13d
ja 0x1800414fb
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_CloseHandle]
xor r15b, r15b
jmp 0x1800414fb
mov qword [rsp + 0x20], r13
lea r9, [rsp + 0x68]
mov r8d, 0x400
lea rdx, [rbp + 0x6d0]
mov rcx, rsi
call qword [sym.imp.KERNEL32.dll_ReadFile]
mov r12d, eax
add r14d, 0x13dc
cmp r14d, 0x3b94
jbe 0x180041410
mov ebx, dword [rbp - 0x80]
mov r13, qword [rbp - 0x68]
lea rax, [rbp - 0x60]
mov qword [rsp + 0x20], rax
mov r9d, dword [rsp + 0x60]
mov r8d, 0x64
lea rdx, [rbp + 0x600]
mov rcx, r13
call qword [sym.imp.KERNEL32.dll_ReadConsoleOutputCharacterW]
jmp 0x18004157d
mov word [rsp + 0x60], r8w
xorps xmm0, xmm0
movups xmmword [rbp + 0x530], xmm0
movups xmmword [rbp + 0x540], xmm0
lea rax, [rbp + 0x5d0]
mov qword [rsp + 0x28], rax
mov dword [rsp + 0x20], 0x100
xor r9d, r9d
xor edx, edx
lea rcx, [rdx - 1]
lea r8d, [r9 + 4]
call qword [sym.imp.KERNEL32.dll_CreateFileMappingW]
mov rsi, rax
movabs rcx, 0x7500730069
mov edx, 0x20
lea r8d, [rdx + 0x30]
movabs rax, 0x5600200023
add ebx, 0x5ee
mov dword [rbp - 0x80], ebx
cmp ebx, 0x2394
jbe 0x180041150
mov edi, 1
jmp case.0x180040fb8.124
mov r8d, 0xc
lea rdx, [rbp + 0x5b0]
lea ecx, [r8 + 0x37]
call fcn.18003df30
mov r14, rax
mov rax, qword [rbp - 0x78]
xor ecx, ecx
mov qword [rax], rcx
movabs rdx, 0x64002e0032
mov eax, dword [rsp + 0x54]
inc eax
mov dword [rsp + 0x54], eax
inc edi
cmp eax, esi
jae 0x18004181f
jmp 0x180041350
mov eax, 0x6c
mov word [rbp + 0x586], ax
jmp 0x1800415e5
mov qword [rbp + 0x5be], rdx
jmp 0x1800415e5
mov eax, dword [0x18004d580]
mov dword [rbp + 0x5c4], eax
movzx eax, word [0x18004d584]
mov word [rbp + 0x5c8], ax
jmp 0x1800415e5
movsd xmm0, qword [str.sslea]
movsd qword [rbp + 0x5b0], xmm0
mov eax, dword [0x18004d590]
mov dword [rbp + 0x5b8], eax
mov r8d, 3
lea rdx, [0x18004d594]
lea rcx, [rbp + 0x5ba]
call qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_wcsncpy]
jmp 0x1800415db
mov r8d, 0x2b
lea rdx, [rbp + 0x510]
lea ecx, [r8 + 0x18]
call fcn.18003df30
mov r13, rax
mov r8d, 0x57
lea rdx, [rbp + 0x550]
lea ecx, [r8 - 0x14]
call fcn.18003df30
mov qword [rsp + 0x78], rax
jmp 0x1800415db
mov rax, qword [rbp - 0x58]
mov edx, dword [rax]
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax]
call qword [rsp + 0x78]
mov rax, qword [rbp - 0x78]
mov rcx, qword [rax]
call r13
cmp eax, 1
je 0x1800415db
mov ebx, 0xb
nop
mov eax, ebx
sub eax, 0xa
je 0x18004181f
cmp eax, 1
jne 0x18004170e
mov dword [rsp + 0x30], 0xfb
mov rax, qword [rbp - 0x78]
mov qword [rsp + 0x28], rax
xor eax, eax
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x70]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.18002f530
mov byte [rsp + 0x5c], 0
dec ebx
cmp ebx, 9
ja 0x1800416d0
mov rbx, qword [rsp + 0x70]
jmp 0x1800415db
mov r8d, 0x4b
lea rdx, [rbp + 0x590]
lea ecx, [r8 - 8]
call fcn.18003df30
mov r15, rax
mov r8d, 0x6f
lea rdx, [rbp + 0x570]
lea ecx, [r8 - 0x2c]
call fcn.18003df30
mov r12, rax
jmp 0x1800415db
xor eax, eax
mov word [rbp + 0x588], ax
jmp 0x1800415e5
mov dword [rbp + 0x584], 0x6c
jmp 0x1800415e5
call r12
mov rcx, rax
call r14
mov qword [rbx], rax
jmp 0x1800415db
mov dword [rbp + 0x57c], 0x320033
mov dword [rbp + 0x580], 0x64002e
jmp 0x1800415e5
mov rax, qword [rsp + 0x70]
mov rcx, qword [rax]
test rcx, rcx
je 0x1800417d2
call r15
mov rcx, qword [rbp - 0x78]
mov qword [rcx], rax
test rax, rax
jne 0x180041715
mov ebx, 0x10a
cmp ebx, 0x10a
je 0x1800417d9
cmp ebx, 0x5a66
jne 0x180041802
mov byte [rsp + 0x5c], 0
jmp 0x18004181f
mov dword [rsp + 0x30], 0xfb
mov qword [rsp + 0x28], rcx
xor eax, eax
mov qword [rsp + 0x20], rax
mov r9, qword [rsp + 0x70]
xor r8d, r8d
xor edx, edx
xor ecx, ecx
call fcn.18002f530
mov rcx, qword [rbp - 0x78]
add ebx, 0x595c
cmp ebx, 0xb2b8
jbe 0x1800417c2
mov rbx, qword [rsp + 0x70]
jmp 0x1800415db
mov byte [rsp + 0x5c], 1
mov edi, dword [rsp + 0x5c]
lea rcx, [rbp + 0x108]
call fcn.180003290
mov rbx, qword [rbp + 0xf0]
test rbx, rbx
je 0x180041893
mov rsi, qword [rbp + 0xf8]
cmp rbx, rsi
je 0x18004185f
mov rcx, rbx
call fcn.180014d00
add rbx, 0x20
cmp rbx, rsi
jne 0x180041847
mov rbx, qword [rbp + 0xf0]
mov r8, qword [rbp + 0x100]
sub r8, rbx
sar r8, 5
mov rdx, rbx
lea rcx, [rbp + 0xf0]
call fcn.18001b420
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xf0], xmm0
xor r14d, r14d
mov qword [rbp + 0x100], r14
jmp 0x180041896
xor r14d, r14d
mov rdx, qword [rbp + 0xd8]
test rdx, rdx
je 0x1800418ce
mov r8, qword [rbp + 0xe8]
sub r8, rdx
sar r8, 4
lea rcx, [rbp + 0xd8]
call fcn.18001b380
mov qword [rbp + 0xd8], r14
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xe0], xmm0
lea rcx, [rbp + 0x98]
call fcn.1800031c0
nop
mov rbx, qword [rbp - 0x28]
test rbx, rbx
je 0x18004196c
mov rsi, qword [rbp - 0x20]
cmp rbx, rsi
je 0x180041906
mov rcx, rbx
call fcn.180002a80
add rbx, 0x28
cmp rbx, rsi
jne 0x1800418f1
mov rbx, qword [rbp - 0x28]
mov rcx, qword [rbp - 0x18]
sub rcx, rbx
movabs rax, 0x6666666666666667
imul rcx
sar rdx, 4
mov rax, rdx
shr rax, 0x3f
add rdx, rax
lea rdx, [rdx + rdx*4]
shl rdx, 3
mov rax, rbx
cmp rdx, 0x1000
jb 0x180041958
add rdx, 0x27
mov rbx, qword [rbx - 8]
sub rax, rbx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180041958
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
mov rcx, rbx
call fcn.1800431e4
mov qword [rbp - 0x28], r14
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x20], xmm0
mov rdx, qword [rbp - 0x40]
test rdx, rdx
je 0x180041995
mov r8, qword [rbp - 0x30]
sub r8, rdx
sar r8, 3
lea rcx, [rbp - 0x40]
call fcn.18001b330
xorps xmm0, xmm0
movdqa xmmword [rbp - 0x40], xmm0
mov qword [rbp - 0x30], r14
mov rdx, qword [rbp + 0x52]
cmp rdx, 0x10
jb 0x1800419d3
inc rdx
mov rcx, qword [rbp + 0x3a]
mov rax, rcx
cmp rdx, 0x1000
jb 0x1800419ce
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x1800419ce
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800431e4
movdqa xmm0, xmmword [0x180050bc0]
movdqu xmmword [rbp + 0x4a], xmm0
mov byte [rbp + 0x3a], 0
mov rdx, qword [rbp + 0x82]
cmp rdx, 0x10
jb 0x180041a25
inc rdx
mov rcx, qword [rbp + 0x6a]
mov rax, rcx
cmp rdx, 0x1000
jb 0x180041a20
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
jbe 0x180041a20
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__invalid_parameter_noinfo_noreturn]
int3
call fcn.1800431e4
movdqa xmm0, xmmword [0x180050bc0]
movdqu xmmword [rbp + 0x7a], xmm0
mov byte [rbp + 0x6a], 0
lea rcx, [rbp + 0x260]
call fcn.180002de0
nop
lea rcx, [rbp + 0x1d0]
call fcn.180002e90
mov eax, edi
mov rcx, qword [rbp + 0xad0]
xor rcx, rsp
call fcn.1800436f0
mov rbx, qword [rsp + 0xc20]
add rsp, 0xbe0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret