Function at 0x40fba0
Capabilities:
Accept command line arguments

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x7d8
movaps xmmword [rsp + 0x7c0], xmm6
mov r14, rcx
xorps xmm0, xmm0
movups xmmword [rsp + 0x168], xmm0
movups xmmword [rsp + 0x198], xmm0
lea rax, str.obfuscationfiletechniqueThe_following_required_argument_was_not_provided:
mov qword [rsp + 0x148], rax
mov qword [rsp + 0x150], 0xb
mov qword [rsp + 0xd8], 0
mov dword [rsp + 0x3b8], 0x110000
mov qword [rsp + 0x200], 0
mov qword [rsp + 0x218], 0
mov qword [rsp + 0xe8], 0
mov qword [rsp + 0xf8], 0
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x230], 0
mov qword [rsp + 0x248], 0
mov qword [rsp + 0x260], 0
mov qword [rsp + 0x278], 0
mov qword [rsp + 0x290], 0
mov qword [rsp + 0x2a8], 0
mov qword [rsp + 0x328], 0
mov qword [rsp + 0x330], 8
movups xmmword [rsp + 0x338], xmm0
mov qword [rsp + 0x348], 4
movups xmmword [rsp + 0x350], xmm0
mov qword [rsp + 0x360], 8
mov qword [rsp + 0x368], 0
mov qword [rsp + 0x2c0], 0
mov qword [rsp + 0x2d8], 0
mov qword [rsp + 0x2f0], 0
mov qword [rsp + 0x1c8], 0
mov qword [rsp + 0x1d8], 0
mov qword [rsp + 0x308], 0
mov qword [rsp + 0x318], 0x400000
mov qword [rsp + 0x320], 0x400000
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], 8
mov qword [rsp + 0x178], 8
movups xmmword [rsp + 0x180], xmm0
mov qword [rsp + 0x370], 0
mov qword [rsp + 0x378], 8
movups xmmword [rsp + 0x380], xmm0
mov qword [rsp + 0x190], 8
mov qword [rsp + 0x1a8], 8
movups xmmword [rsp + 0x1b0], xmm0
mov qword [rsp + 0x390], 8
mov qword [rsp + 0x398], 0
mov qword [rsp + 0x118], 0
mov qword [rsp + 0x1e8], 1
mov qword [rsp + 0x1f0], 0
mov qword [rsp + 0x128], 0
mov qword [rsp + 0x138], 0
mov qword [rsp + 0x3a0], 5
mov byte [rsp + 0x3bc], 0
lea rcx, [rsp + 0x4d8]
lea rdx, [rsp + 0xd8]
call fcn.00437b40
call sub.kernel32.dll_GetCommandLineW
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 8
mov qword [rsp + 0x38], 0
test rax, rax
mov qword [rsp + 0xd0], r14
je 0x410346
movzx ebx, word [rax]
test bx, bx
je 0x410346
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 2
mov qword [rsp + 0x98], 0
add rax, 2
mov ecx, 2
xor r8d, r8d
lea rdi, [rsp + 0x88]
xor esi, esi
jmp 0x40fec6
mov word [rcx + r8*2], bx
mov r8, qword [rsp + 0x98]
inc r8
mov qword [rsp + 0x98], r8
movzx ebx, word [r13]
lea rax, [r13 + 2]
test bx, bx
je 0x40ff34
mov r13, rax
cmp bx, 9
je 0x40ff00
movzx eax, bx
cmp eax, 0x20
je 0x40ff00
cmp eax, 0x22
jne 0x40ff06
not sil
and sil, 1
movzx ebx, word [r13]
lea rax, [r13 + 2]
test bx, bx
jne 0x40fec6
jmp 0x40ff34
test sil, 1
je 0x40ff34
cmp r8, qword [rsp + 0x88]
jne 0x40fea0
mov rcx, rdi
mov rdx, r8
call fcn.00480940
mov rcx, qword [rsp + 0x90]
mov r8, qword [rsp + 0x98]
jmp 0x40fea0
add r13, 2
movzx eax, word [r13]
cmp eax, 0x20
je 0x40ff30
cmp eax, 9
je 0x40ff30
mov rdx, qword [rsp + 0x90]
lea rcx, [rsp + 0xd8]
call fcn.0048d520
mov rbx, qword [rsp + 0xd8]
mov rdi, qword [rsp + 0xe0]
movups xmm0, xmmword [rsp + 0xe8]
movaps xmmword [rsp + 0x50], xmm0
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x28]
jne 0x40ff90
lea rcx, [rsp + 0x28]
call fcn.00480380
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], rbx
mov qword [rax + rcx + 8], rdi
movaps xmm0, xmmword [rsp + 0x50]
movups xmmword [rax + rcx + 0x10], xmm0
inc rdx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 2
mov qword [rsp + 0x60], 0
movzx r12d, word [r13]
test r12w, r12w
je 0x4105fb
mov r15d, 2
lea rbp, [rsp + 0xe8]
xor r8d, r8d
lea rdi, [rsp + 0xd8]
lea r14, [rsp + 0x50]
movaps xmm6, xmmword [0x004cb180]
xor esi, esi
jmp 0x410038
mov r8, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
mov word [r15 + r8*2], r12w
inc r8
mov qword [rsp + 0x60], r8
movzx r12d, word [rbx]
mov r13, rbx
test r12w, r12w
je 0x410600
lea rbx, [r13 + 2]
movzx eax, r12w
cmp eax, 0x21
jg 0x410100
cmp eax, 9
je 0x410057
cmp eax, 0x20
jne 0x410170
test sil, 1
jne 0x410170
mov r15, qword [rsp + 0x58]
mov rcx, rdi
mov rdx, r15
call fcn.0048d520
mov r13, qword [rsp + 0xd8]
mov r12, qword [rsp + 0xe0]
movups xmm0, xmmword [rbp]
movaps xmmword [rsp + 0xc0], xmm0
mov rdx, qword [rsp + 0x38]
cmp rdx, qword [rsp + 0x28]
jne 0x4100a8
lea rcx, [rsp + 0x28]
call fcn.00480380
mov rdx, qword [rsp + 0x38]
mov rax, qword [rsp + 0x30]
mov rcx, rdx
shl rcx, 5
mov qword [rax + rcx], r13
mov qword [rax + rcx + 8], r12
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [rax + rcx + 0x10], xmm0
inc rdx
mov qword [rsp + 0x38], rdx
mov qword [rsp + 0x60], 0
jmp 0x4100e4
add rbx, 2
movzx r12d, word [rbx]
cmp r12d, 0x20
je 0x4100e0
cmp r12d, 9
je 0x4100e0
xor r8d, r8d
jmp 0x41002b
cmp eax, 0x22
je 0x41018b
cmp eax, 0x5c
jne 0x410170
movzx eax, word [rbx]
xor r12d, r12d
cmp ax, 0x5c
jne 0x410133
nop word [rax + rax]
add rbx, 2
movzx eax, word [r13 + r12*2 + 4]
inc r12
cmp ax, 0x5c
je 0x410120
inc r12
cmp ax, 0x22
jne 0x410199
mov r13, r12
shr r13, 1
mov rax, qword [rsp + 0x50]
sub rax, r8
cmp rax, r13
jae 0x4101e5
mov rcx, r14
mov rdx, r8
mov r8, r13
call fcn.00480b80
mov r8, qword [rsp + 0x60]
jmp 0x4101eb
cmp r8, qword [rsp + 0x50]
jne 0x410015
mov rcx, r14
mov rdx, r8
call fcn.00480940
jmp 0x410010
test sil, 1
jne 0x4101c7
mov sil, 1
jmp 0x410027
mov rax, qword [rsp + 0x50]
sub rax, r8
cmp rax, r12
jae 0x41028f
mov rcx, r14
mov rdx, r8
mov r8, r12
call fcn.00480b80
mov r15, qword [rsp + 0x58]
mov r8, qword [rsp + 0x60]
jmp 0x410298
movzx r12d, word [rbx]
cmp r12d, 0x22
je 0x410308
test r12d, r12d
je 0x410600
xor esi, esi
jmp 0x41002b
cmp r12, 2
jb 0x410258
mov r15, qword [rsp + 0x58]
cmp r12, 0x20
jb 0x41023b
mov rax, r13
movabs rcx, 0x7ffffffffffffff0
and rax, rcx
lea rcx, [r15 + r8*2]
add rcx, 0x10
add r8, rax
xor edx, edx
nop word cs:[rax + rax]
movups xmmword [rcx + rdx*2 - 0x10], xmm6
movups xmmword [rcx + rdx*2], xmm6
add rdx, 0x10
cmp rax, rdx
jne 0x410220
cmp r13, rax
je 0x410253
and r13d, 0xf
mov rax, r8
nop
lea r8, [rax + 1]
mov word [r15 + rax*2], 0x5c
mov rax, r8
dec r13
jne 0x410240
mov qword [rsp + 0x60], r8
test r12b, 1
je 0x410027
xor eax, eax
cmp word [rbx], 0
setne al
lea rbx, [rbx + rax*2]
mov r12w, 0x22
cmp r8, qword [rsp + 0x50]
jne 0x410015
mov rcx, r14
mov rdx, r8
call fcn.00480940
jmp 0x410010
test r12, r12
je 0x410027
cmp r12, 0x10
jb 0x4102df
mov rax, r12
and rax, 0xfffffffffffffff0
lea rcx, [r15 + r8*2]
add rcx, 0x10
add r8, rax
xor edx, edx
nop word cs:[rax + rax]
movups xmmword [rcx + rdx*2 - 0x10], xmm6
movups xmmword [rcx + rdx*2], xmm6
add rdx, 0x10
cmp rax, rdx
jne 0x4102c0
cmp r12, rax
je 0x410022
and r12d, 0xf
mov rax, r8
nop word cs:[rax + rax]
lea r8, [rax + 1]
mov word [r15 + rax*2], 0x5c
mov rax, r8
dec r12
jne 0x4102f0
jmp 0x410022
cmp r8, qword [rsp + 0x50]
jne 0x41031f
mov rcx, r14
mov rdx, r8
call fcn.00480940
mov r8, qword [rsp + 0x60]
mov r15, qword [rsp + 0x58]
mov word [r15 + r8*2], 0x22
inc r8
mov qword [rsp + 0x60], r8
lea rax, [r13 + 4]
cmp word [r13 + 2], 0
cmovne rbx, rax
jmp 0x410027
mov qword [rsp + 0x88], 0
mov qword [rsp + 0x90], 2
mov qword [rsp + 0x98], 0
mov r8d, 0x200
mov eax, 2
mov qword [rsp + 0x48], rax
xor edi, edi
mov r14d, 0xffffffff
xor ebx, ebx
xor ebp, ebp
cmp r8, 0x201
jb 0x4103af
jmp 0x4103d0
jae 0x410483
cmp r8, 0x201
jae 0x4103d0
lea r13, [rsp + 0xd8]
mov esi, 0x200
mov r12, r8
jmp 0x410422
sub r8, rbp
sub rbx, rbp
cmp rbx, r8
jae 0x410400
lea rcx, [rsp + 0x88]
mov rdx, rbp
call fcn.00480b80
mov rdi, qword [rsp + 0x88]
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x48], rax
cmp rdi, r14
mov ebp, 0xffffffff
cmovb rbp, rdi
mov qword [rsp + 0x98], rbp
mov rbx, rdi
mov r13, qword [rsp + 0x48]
mov rsi, rbp
mov r12, rbp
xor ecx, ecx
call sub.kernel32.dll_SetLastError
xor ecx, ecx
mov rdx, r13
mov r8d, r12d
call sub.kernel32.dll_GetModuleFileNameW
mov r15d, eax
test eax, eax
jne 0x41044a
call sub.kernel32.dll_GetLastError
test eax, eax
jne 0x410571
mov r8d, r15d
cmp r12, r8
jne 0x4103a0
call sub.kernel32.dll_GetLastError
cmp eax, 0x7a
jne 0x41081c
add r12, r12
cmp r12, r14
cmovae r12, r14
mov r8, r12
cmp r8, 0x201
jb 0x4103af
jmp 0x4103d0
cmp rsi, r8
jb 0x410855
lea rcx, [rsp + 0x50]
mov rdx, r13
call fcn.0048d520
mov r15, qword [rsp + 0x50]
mov r14, qword [rsp + 0x58]
mov r12, qword [rsp + 0x60]
movzx esi, byte [rsp + 0x68]
mov eax, dword [rsp + 0x69]
mov dword [rsp + 0xc0], eax
mov eax, dword [rsp + 0x6c]
mov dword [rsp + 0xc3], eax
test rdi, rdi
je 0x4104db
mov rcx, qword [0x005d3178]
xor edx, edx
mov r8, qword [rsp + 0x48]
call sub.kernel32.dll_HeapFree
cmp sil, 2
jne 0x410544
mov eax, r15d
and eax, 3
mov r14d, 1
mov sil, 1
cmp eax, 1
jne 0x410592
lea rdi, [r15 - 1]
mov rcx, qword [r15 - 1]
mov rax, qword [r15 + 7]
call qword [rax]
mov rax, qword [r15 + 7]
cmp qword [rax + 8], 0
je 0x41052e
mov r8, qword [rdi]
cmp qword [rax + 0x10], 0x11
jb 0x410520
mov r8, qword [r8 - 8]
mov rcx, qword [0x005d3178]
xor edx, edx
call sub.kernel32.dll_HeapFree
mov rcx, qword [0x005d3178]
xor r12d, r12d
xor edx, edx
mov r8, rdi
call sub.kernel32.dll_HeapFree
jmp 0x410595
mov eax, dword [rsp + 0xc0]
mov ecx, dword [rsp + 0xc3]
mov dword [rsp + 0xdb], ecx
mov dword [rsp + 0xd8], eax
mov rbx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x38]
cmp rdi, rbx
je 0x4105a7
jmp 0x4105be
call sub.kernel32.dll_GetLastError
mov r15d, eax
shl r15, 0x20
or r15, 2
mov sil, 2
test rdi, rdi
jne 0x4104c8
jmp 0x4104db
xor r12d, r12d
xor r15d, r15d
mov rbx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x38]
cmp rdi, rbx
jne 0x4105be
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.00480380
mov rbx, qword [rsp + 0x28]
mov rdi, qword [rsp + 0x38]
mov r13, qword [rsp + 0x30]
mov rax, rdi
shl rax, 5
mov qword [r13 + rax], r15
mov qword [r13 + rax + 8], r14
mov qword [r13 + rax + 0x10], r12
mov byte [r13 + rax + 0x18], sil
mov ecx, dword [rsp + 0xd8]
mov edx, dword [rsp + 0xdb]
mov dword [r13 + rax + 0x19], ecx
mov dword [r13 + rax + 0x1c], edx
inc rdi
jmp 0x41065e
xor r8d, r8d
xor esi, esi
test r8, r8
jne 0x410787
and sil, 1
jne 0x410787
mov r13, qword [rsp + 0x30]
mov rdi, qword [rsp + 0x38]
mov rbx, qword [rsp + 0x28]
cmp qword [rsp + 0x50], 0
je 0x41063d
mov r8, qword [rsp + 0x58]
mov rcx, qword [0x005d3178]
xor edx, edx
call sub.kernel32.dll_HeapFree
cmp qword [rsp + 0x88], 0
je 0x41065e
mov r8, qword [rsp + 0x90]
mov rcx, qword [0x005d3178]
xor edx, edx
call sub.kernel32.dll_HeapFree
shl rdi, 5
add rdi, r13
mov qword [rsp + 0x28], rbx
mov qword [rsp + 0x30], r13
mov qword [rsp + 0x38], rdi
mov qword [rsp + 0x40], r13
lea rsi, [rsp + 0x50]
lea rdi, [rsp + 0x4d8]
lea rbx, [rsp + 0x28]
mov rcx, rsi
mov rdx, rdi
mov r8, rbx
call fcn.00412a50
lea r14, [rsp + 0xd8]
mov r8d, 0x2e8
mov rcx, r14
mov rdx, rdi
call sub.msvcrt.dll_memcpy
lea rdi, [rsp + 0x88]
mov rcx, rdi
mov rdx, rsi
mov r8, r14
call fcn.0041f050
mov rcx, rbx
call fcn.00432f20
lea rsi, [rsp + 0xd8]
mov rcx, rsi
mov rdx, rdi
call fcn.004374b0
lea rcx, [rsp + 0x4d8]
mov rdx, rsi
call fcn.0041fb80
xor eax, eax
cmp byte [rsp + 0x4f0], 5
sete al
lea rcx, case.0x405b1e.146
mov rdi, qword [rsp + 0xd0]
jmp qword [rcx + rax*8]
mov r15, qword [rsp + 0x58]
lea rcx, [rsp + 0xd8]
mov rdx, r15
call fcn.0048d520
mov r14, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xe0]
movups xmm0, xmmword [rsp + 0xe8]
movaps xmmword [rsp + 0xc0], xmm0
mov rdi, qword [rsp + 0x38]
cmp rdi, qword [rsp + 0x28]
jne 0x4107da
lea rcx, [rsp + 0x28]
mov rdx, rdi
call fcn.00480380
mov rdi, qword [rsp + 0x38]
mov r13, qword [rsp + 0x30]
mov rax, rdi
shl rax, 5
mov qword [r13 + rax], r14
mov qword [r13 + rax + 8], rbx
movaps xmm0, xmmword [rsp + 0xc0]
movups xmmword [r13 + rax + 0x10], xmm0
inc rdi
mov qword [rsp + 0x38], rdi
mov rbx, qword [rsp + 0x28]
cmp qword [rsp + 0x50], 0
jne 0x41062a
jmp 0x41063d
lea rcx, str.internal_error:_entered_unreachable_codefailed_to_write_the_buffered_data
lea r8, str.library_std_src_sys_windows_mod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov edx, 0x28
call fcn.00473ab0
jmp 0x41086a
lea rax, str.library_std_src_sys_windows_mod.rsstrings_passed_to_WinAPI_cannot_contain_NULs
mov rcx, r8
mov rdx, rsi
mov r8, rax
call fcn.00474d50
ud2