Function at 0x140002880
Capabilities:
Accept command line arguments

Disassembly:
mov qword [rsp + 8], rbx
mov qword [rsp + 0x10], rsi
mov qword [rsp + 0x18], rdi
push rbp
push r12
push r13
lea rbp, [rsp - 0x240]
sub rsp, 0x340
mov rax, qword [0x140033080]
xor rax, rsp
mov qword [rbp + 0x230], rax
xor r12d, r12d
mov dword [rsp + 0x50], r12d
call qword [sym.imp.KERNEL32.dll_GetCommandLineW]
mov rcx, rax
lea rdx, [rsp + 0x50]
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
cmp dword [rsp + 0x50], 2
jl 0x140002f91
test rax, rax
je 0x140002f91
mov rdx, qword [rax + 8]
xorps xmm0, xmm0
movups xmmword [rbp - 0x80], xmm0
mov qword [rbp - 0x70], r12
mov qword [rbp - 0x68], r12
mov r8, 0xffffffffffffffff
nop
inc r8
cmp word [rdx + r8*2], r12w
jne 0x140002900
lea rcx, [rbp - 0x80]
call fcn.140005990
lea rdx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rdx, qword [rbp - 0x80]
xorps xmm0, xmm0
movups xmmword [rsp + 0x30], xmm0
mov qword [rsp + 0x40], r12
mov qword [rsp + 0x48], r12
mov r8, qword [rbp - 0x70]
lea rcx, [rsp + 0x30]
call fcn.140005990
lea rcx, [rsp + 0x30]
cmp qword [rsp + 0x48], 8
cmovae rcx, qword [rsp + 0x30]
mov r9d, 0xffffffff
mov r8d, 3
lea rdx, [rbp + 0x100]
call fcn.1400072f8
mov edx, eax
mov edi, 4
test eax, eax
jne 0x1400029ab
mov ecx, dword [rbp + 0x110]
bt ecx, 0xa
jae 0x1400029a0
mov eax, dword [rbp + 0x114]
cmp eax, 0xa000000c
jne 0x140002992
mov ecx, edi
jmp 0x1400029c8
cmp eax, 0xa0000003
jne 0x1400029a0
mov ecx, 0xa
jmp 0x1400029c8
and ecx, 0x10
or ecx, 0x20
shr ecx, 4
jmp 0x1400029c8
sub eax, 2
je 0x1400029c3
sub eax, 1
je 0x1400029c3
sub eax, 0x32
je 0x1400029c3
cmp eax, 0x46
je 0x1400029c3
xor al, al
jmp 0x1400029c5
mov al, 1
movzx ecx, al
mov dword [rsp + 0x60], edx
lea rax, [0x140033c80]
mov qword [rsp + 0x68], rax
movaps xmm0, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm0
test ecx, ecx
je 0x140002cd2
cmp ecx, 1
sete bl
mov rdx, qword [rsp + 0x48]
cmp rdx, 8
jb 0x140002a33
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002a2e
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002fd5
call fcn.140007a20
test bl, bl
jne 0x140002f55
xor edx, edx
mov r8d, 0x118
lea rcx, [rbp - 0x20]
call fcn.140009fa0
lea rax, [0x14002d4f8]
mov qword [rbp - 0x20], rax
lea rax, [0x14002d3a8]
mov qword [rbp - 0x10], rax
mov qword [rbp + 0xa0], r12
mov qword [rbp + 0xc8], r12
xorps xmm0, xmm0
movdqa xmmword [rbp + 0xd0], xmm0
lea rax, vtable.std::basic_ios_char__struct_std::char_traits_char__.0
mov qword [rbp + 0x98], rax
lea rdx, [rbp - 8]
lea rcx, [rbp - 0x20]
call fcn.140004d70
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea rax, vtable.std::basic_fstream_char__struct_std::char_traits_char__.0
mov qword [rbp + rcx - 0x20], rax
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
lea edx, [rcx - 0xb8]
mov dword [rbp + rcx - 0x24], edx
lea rax, vtable.std::basic_streambuf_char__struct_std::char_traits_char__.0
mov qword [rbp - 8], rax
mov ecx, 0x10
call fcn.140007a28
mov rbx, rax
xorps xmm0, xmm0
movups xmmword [rax], xmm0
mov cl, 1
call fcn.1400069fc
mov qword [rbx + 8], rax
mov qword [rbp + 0x58], rbx
lea rax, vtable.std::basic_filebuf_char__struct_std::char_traits_char__.0
mov qword [rbp - 8], rax
mov byte [rbp + 0x74], 0
mov byte [rbp + 0x69], 0
lea rax, [rbp]
mov qword [rbp + 0x10], rax
lea rax, [rbp + 8]
mov qword [rbp + 0x18], rax
lea rax, [rbp + 0x20]
mov qword [rbp + 0x30], rax
lea rax, [rbp + 0x28]
mov qword [rbp + 0x38], rax
lea rax, [rbp + 0x40]
mov qword [rbp + 0x48], rax
lea rax, [rbp + 0x44]
mov qword [rbp + 0x50], rax
mov qword [rbp + 8], r12
mov qword [rbp + 0x28], r12
mov qword [rbp + 0x40], r12
mov qword [rbp], r12
mov qword [rbp + 0x20], r12
mov qword [rbp + 0x78], r12
mov rax, qword [0x140035af0]
mov qword [rbp + 0x6c], rax
mov qword [rbp + 0x60], r12
lea rdx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rdx, qword [rbp - 0x80]
mov r8d, 0x21
lea rcx, [rbp - 0x20]
call fcn.140004b10
cmp qword [rbp + 0x78], 0
je 0x140002f4c
xorps xmm0, xmm0
xor eax, eax
movups xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], rax
mov qword [rsp + 0x30], r12
mov word [rsp + 0x38], 1
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
mov rax, qword [rbp + rcx + 0x28]
mov qword [rsp + 0x60], rax
test rax, rax
sete byte [rsp + 0x68]
mov byte [rsp + 0x69], 0
movaps xmm0, xmmword [rsp + 0x30]
movdqa xmmword [rsp + 0x30], xmm0
movaps xmm1, xmmword [rsp + 0x60]
movdqa xmmword [rsp + 0x60], xmm1
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x60]
lea rcx, [rbp - 0x60]
call fcn.1400054e0
lea rcx, [rbp - 8]
call fcn.1400049d0
test rax, rax
jne 0x140002c16
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
mov eax, edi
cmp qword [rbp + rcx + 0x28], 0
cmovne eax, r12d
or eax, dword [rbp + rcx - 0x10]
and eax, 0x15
or eax, 2
mov dword [rbp + rcx - 0x10], eax
and eax, dword [rbp + rcx - 0xc]
jne 0x140002fdb
mov rdx, qword [rbp - 0x58]
mov rcx, qword [rbp - 0x60]
cmp rcx, rdx
je 0x140002c3a
movzx eax, byte [rcx]
test al, al
je 0x140002c32
cmp al, 0x7f
je 0x140002c32
xor al, 0x7f
mov byte [rcx], al
inc rcx
cmp rcx, rdx
jne 0x140002c23
lea rbx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rbx, qword [rbp - 0x80]
mov rsi, qword [rbp - 0x70]
test rsi, rsi
je 0x140002d40
mov r13d, 0x100
mov r8d, r13d
xor edx, edx
lea rcx, [rbp + 0x130]
call fcn.140009fa0
lea rcx, [0x14002d2f0]
lea rdx, [0x14002d2f2]
nop word [rax + rax]
movzx eax, word [rcx]
cmp ax, r13w
jae 0x140002ce1
movzx eax, al
mov byte [rbp + rax + 0x130], 1
add rcx, 2
cmp rcx, rdx
jne 0x140002c80
lea rax, [rsi - 1]
mov rcx, 0xffffffffffffffff
cmp rax, rcx
cmovb rcx, rax
lea r8, [rbx + rcx*2]
movzx eax, word [r8]
cmp ax, r13w
jae 0x140002cc7
cmp byte [rbp + rax + 0x130], 0
jne 0x140002d38
cmp r8, rbx
je 0x140002d40
sub r8, 2
jmp 0x140002cb3
mov bl, 1
test edx, edx
jne 0x140002fc5
jmp 0x1400029f1
lea rax, [rsi - 1]
mov rcx, 0xffffffffffffffff
cmp rax, rcx
cmovb rcx, rax
lea r8, [rbx + rcx*2]
mov r9d, 0x2e
nop dword [rax]
mov ecx, 1
movzx edx, word [r8]
lea rax, [0x14002d2f0]
cmp r9w, dx
je 0x140002d38
cmp rcx, 1
je 0x140002d2d
dec rcx
add rax, 2
cmp word [rax], dx
jne 0x140002d16
test rax, rax
jne 0x140002d38
cmp r8, rbx
je 0x140002d40
sub r8, 2
jmp 0x140002d00
sub r8, rbx
sar r8, 1
jmp 0x140002d47
mov r8, 0xffffffffffffffff
xorps xmm0, xmm0
movups xmmword [rsp + 0x60], xmm0
mov qword [rsp + 0x70], r12
mov qword [rsp + 0x78], r12
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rbp - 0x80]
cmp qword [rbp - 0x68], 8
cmovae rdx, qword [rbp - 0x80]
lea rcx, [rsp + 0x60]
call fcn.140005990
mov rdx, qword [rsp + 0x70]
mov r8, qword [rsp + 0x78]
mov rax, r8
sub rax, rdx
lea rcx, [rsp + 0x60]
cmp rax, 4
jb 0x140002dbe
lea rax, [rdx + 4]
mov qword [rsp + 0x70], rax
cmp r8, 8
cmovae rcx, qword [rsp + 0x60]
mov rax, qword [str..bin]
mov qword [rcx + rdx*2], rax
mov word [rcx + rdx*2 + 8], r12w
lea rax, [rsp + 0x60]
jmp 0x140002dd5
mov qword [rsp + 0x20], rdi
lea r9, str..bin
xor r8d, r8d
mov rdx, rdi
call fcn.1400057c0
xorps xmm0, xmm0
movups xmmword [rbp - 0x48], xmm0
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], r12
movups xmm0, xmmword [rax]
movups xmmword [rbp - 0x48], xmm0
movups xmm1, xmmword [rax + 0x10]
movups xmmword [rbp - 0x38], xmm1
mov qword [rax + 0x10], r12
mov qword [rax + 0x18], 7
mov word [rax], r12w
mov rdx, qword [rsp + 0x78]
cmp rdx, 8
jb 0x140002e45
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x60]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002e40
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140003031
call fcn.140007a20
lea rdx, [rbp - 0x48]
cmp qword [rbp - 0x30], 8
cmovae rdx, qword [rbp - 0x48]
mov r8d, 0x22
lea rcx, [rbp - 0x20]
call fcn.140004b10
cmp qword [rbp + 0x78], 0
je 0x140002eb5
mov r8, qword [rbp - 0x58]
mov rdx, qword [rbp - 0x60]
sub r8, rdx
lea rcx, [rbp - 0x10]
call fcn.1400040b0
lea rcx, [rbp - 8]
call fcn.1400049d0
test rax, rax
jne 0x140002eb5
mov rax, qword [rbp - 0x20]
movsxd rcx, dword [rax + 4]
cmp qword [rbp + rcx + 0x28], 0
cmovne edi, r12d
or edi, dword [rbp + rcx - 0x10]
and edi, 0x15
or edi, 2
mov dword [rbp + rcx - 0x10], edi
and edi, dword [rbp + rcx - 0xc]
jne 0x140003037
mov rdx, qword [rbp - 0x30]
cmp rdx, 8
jb 0x140002ef5
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002ef0
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002fbf
call fcn.140007a20
mov qword [rbp - 0x38], r12
mov qword [rbp - 0x30], 7
mov word [rbp - 0x48], r12w
mov rcx, qword [rbp - 0x60]
test rcx, rcx
je 0x140002f4c
mov rdx, qword [rbp - 0x50]
sub rdx, rcx
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002f3b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002fbf
call fcn.140007a20
xorps xmm0, xmm0
movdqu xmmword [rbp - 0x60], xmm0
mov qword [rbp - 0x50], r12
lea rcx, [rbp - 0x20]
call fcn.1400030a0
mov rdx, qword [rbp - 0x68]
cmp rdx, 8
jb 0x140002f91
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 0x80]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140002f8c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140002fbf
call fcn.140007a20
xor eax, eax
mov rcx, qword [rbp + 0x230]
xor rcx, rsp
call fcn.140007a00
lea r11, [rsp + 0x340]
mov rbx, qword [r11 + 0x20]
mov rsi, qword [r11 + 0x28]
mov rdi, qword [r11 + 0x30]
mov rsp, r11
pop r13
pop r12
pop rbp
ret
call fcn.14000fcd8
int3
lea r8, [rsp + 0x30]
lea rdx, [rsp + 0x60]
call fcn.140002820
int3
call fcn.14000fcd8
int3
test al, 4
je 0x140002fe8
lea rbx, str.ios_base::badbit_set
jmp 0x140002ffc
test al, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.140001300
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0x100]
call fcn.140001e10
lea rdx, [0x1400316b8]
lea rcx, [rbp + 0x100]
call fcn.140009804
int3
call fcn.14000fcd8
int3
test dil, 4
je 0x140003046
lea rbx, str.ios_base::badbit_set
jmp 0x14000305c
test dil, 2
lea rbx, str.ios_base::failbit_set
lea rax, str.ios_base::eofbit_set
cmove rbx, rax
mov edx, 1
lea rcx, [rsp + 0x60]
call fcn.140001300
mov r8, rax
mov rdx, rbx
lea rcx, [rbp + 0x100]
call fcn.140001e10
lea rdx, [0x1400316b8]
lea rcx, [rbp + 0x100]
call fcn.140009804
int3