Function at 0x140053570
Capabilities:
Accept command line arguments

Disassembly:
mov qword [rsp + 0x18], rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
lea rbp, [rsp - 0x330]
sub rsp, 0x430
mov rax, qword [0x14009d080]
xor rax, rsp
mov qword [rbp + 0x320], rax
mov rax, rdx
mov r12, rcx
mov qword [rsp + 0x68], rcx
xor edi, edi
mov dword [rsp + 0x20], edi
lea rdx, [rsp + 0x28]
mov rcx, rax
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov qword [rsp + 0x60], rax
mov qword [r12], rdi
mov qword [r12 + 8], rdi
mov qword [r12 + 0x10], rdi
mov r13d, 1
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x20], r13d
mov dword [rsp + 0x24], r13d
cmp dword [rsp + 0x28], r13d
jle 0x140054025
mov ecx, r13d
mov qword [rsp + 0x48], rcx
lea rdx, [rbp - 0x68]
mov qword [rsp + 0x70], rdx
nop dword [rax]
nop word [rax + rax]
lea r15, [rax + rcx*8]
mov qword [rsp + 0x30], r15
mov rdx, qword [r15]
mov qword [rbp - 8], rdi
mov qword [rbp + 8], rdi
mov qword [rbp + 0x10], 7
mov word [rbp - 8], di
mov r8, 0xffffffffffffffff
nop word [rax + rax]
inc r8
cmp word [rdx + r8*2], 0
jne 0x140053640
lea rcx, [rbp - 8]
call fcn.140058b80
nop
lea rdx, [rbp - 8]
cmp qword [rbp + 0x10], 8
cmovae rdx, qword [rbp - 8]
mov rax, qword [rbp + 8]
lea r14, [rdx + rax*2]
lea rbx, [rbp - 8]
cmovae rbx, qword [rbp - 8]
mov qword [rbp - 0x68], rdi
mov qword [rbp - 0x58], rdi
mov esi, 0xf
mov qword [rbp - 0x50], rsi
mov byte [rbp - 0x68], 0
mov rdx, r14
sub rdx, rbx
sar rdx, 1
cmp rdx, 0x10
jb 0x1400536ab
lea rcx, [rbp - 0x68]
call fcn.14005b7a0
xor edi, edi
mov qword [rbp - 0x58], rdi
mov rsi, qword [rbp - 0x50]
cmp rbx, r14
je 0x1400536f3
movzx r9d, byte [rbx]
cmp rdi, rsi
jae 0x1400536d9
lea rax, [rdi + 1]
mov qword [rbp - 0x58], rax
lea rax, [rbp - 0x68]
cmp rsi, 0x10
cmovae rax, qword [rbp - 0x68]
mov byte [rax + rdi], r9b
mov byte [rax + rdi + 1], 0
jmp 0x1400536e2
lea rcx, [rbp - 0x68]
call fcn.14005a020
add rbx, 2
mov rsi, qword [rbp - 0x50]
mov rdi, qword [rbp - 0x58]
cmp rbx, r14
jne 0x1400536b0
lea rbx, [rbp - 0x68]
mov r13, qword [rbp - 0x68]
cmp rsi, 0x10
cmovae rbx, r13
test rdi, rdi
je 0x140053f6d
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x20]
call fcn.14005ee60
mov byte [rbp + 0x5a], 1
lea rax, [rdi - 1]
mov r15, 0xffffffffffffffff
cmp rax, r15
cmovb r15, rax
lea rcx, [rbx + r15]
movzx eax, byte [rcx]
cmp byte [rbp + rax + 0x20], 0
jne 0x140053757
cmp rcx, rbx
je 0x140053f68
dec rcx
movzx eax, byte [rcx]
cmp byte [rbp + rax + 0x20], 0
je 0x140053741
sub rcx, rbx
cmp rcx, 0xffffffffffffffff
je 0x140053f68
lea r14, [rbp - 0x68]
cmp rsi, 0x10
cmovae r14, r13
cmp rdi, 0xc
jb 0x1400537ad
mov rbx, r14
nop dword [rax]
cmp byte [rbx], 0x6a
jne 0x14005379e
mov r8d, 0xc
lea rdx, str.jetbrains:__
mov rcx, rbx
call fcn.14005f8c0
test eax, eax
je 0x1400537a8
cmp rbx, r14
je 0x1400537ad
dec rbx
jmp 0x140053780
sub rbx, r14
jmp 0x1400537b4
mov rbx, 0xffffffffffffffff
test rbx, rbx
je 0x140053f68
lea rbx, [rbp - 0x68]
cmp rsi, 0x10
cmovae rbx, r13
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x120]
call fcn.14005ee60
mov byte [rbp + 0x15a], 1
lea rcx, [rbx + r15]
movzx eax, byte [rcx]
cmp byte [rbp + rax + 0x120], 0
jne 0x14005380a
cmp rcx, rbx
je 0x140053878
dec rcx
movzx eax, byte [rcx]
cmp byte [rbp + rax + 0x120], 0
je 0x1400537f5
sub rcx, rbx
inc rcx
xor r15d, r15d
mov qword [rbp - 0x48], r15
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], r15b
cmp rdi, rcx
jb 0x1400540a0
sub rdi, rcx
mov r14, 0xffffffffffffffff
cmp rdi, r14
cmovb r14, rdi
lea rax, [rbp - 0x68]
cmp rsi, 0x10
cmovae rax, r13
lea rsi, [rax + rcx]
cmp r14, 0xf
ja 0x140053881
mov qword [rbp - 0x38], r14
mov r8, r14
mov rdx, rsi
lea rcx, [rbp - 0x48]
call fcn.14005f230
mov byte [rbp + r14 - 0x48], r15b
mov rdi, qword [rbp - 0x48]
jmp 0x140053925
mov rcx, 0xffffffffffffffff
jmp 0x14005380d
movabs rax, 0x7fffffffffffffff
cmp r14, rax
ja 0x14005409a
mov rbx, r14
or rbx, 0xf
cmp rbx, rax
jbe 0x1400538af
mov rbx, rax
movabs rax, 0x8000000000000027
jmp 0x1400538d6
cmp rbx, 0x16
mov eax, 0x16
cmovb rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400538f5
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140054058
mov rcx, rax
call fcn.14005cdb8
test rax, rax
je 0x140054094
lea rdi, [rax + 0x27]
and rdi, 0xffffffffffffffe0
mov qword [rdi - 8], rax
jmp 0x140053907
test rcx, rcx
je 0x140053904
call fcn.14005cdb8
mov rdi, rax
jmp 0x140053907
mov rdi, r15
mov qword [rbp - 0x38], r14
mov qword [rbp - 0x30], rbx
mov r8, r14
mov rdx, rsi
mov rcx, rdi
call fcn.14005f230
mov byte [rdi + r14], r15b
mov qword [rbp - 0x48], rdi
mov r13, qword [rsp + 0x38]
or r13d, 2
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x20], r13d
mov qword [rsp + 0x78], r15
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x70], r15
mov rsi, qword [rbp - 0x38]
lea r14, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae r14, rdi
cmp rsi, 0x10
jae 0x140053977
movups xmm0, xmmword [r14]
movups xmmword [rsp + 0x78], xmm0
mov qword [rbp - 0x70], 0xf
lea rcx, [rsp + 0x78]
jmp 0x140053a01
mov rbx, rsi
or rbx, 0xf
movabs rax, 0x7fffffffffffffff
cmp rbx, rax
cmova rbx, rax
lea rcx, [rbx + 1]
cmp rcx, 0x1000
jb 0x1400539cb
lea rax, [rcx + 0x27]
cmp rax, rcx
jbe 0x140054064
mov rcx, rax
call fcn.14005cdb8
mov rcx, rax
test rax, rax
je 0x14005405e
add rax, 0x27
and rax, 0xffffffffffffffe0
mov qword [rax - 8], rcx
jmp 0x1400539da
test rcx, rcx
je 0x1400539d7
call fcn.14005cdb8
jmp 0x1400539da
mov rax, r15
mov qword [rsp + 0x78], rax
lea r8, [rsi + 1]
mov rdx, r14
mov rcx, rax
call fcn.14005f230
mov qword [rbp - 0x70], rbx
lea rcx, [rsp + 0x78]
cmp rbx, 0x10
cmovae rcx, qword [rsp + 0x78]
mov qword [rbp - 0x78], rsi
mov r8d, 0xa
lea rdx, [rsp + 0x58]
call fcn.140062dcc
mov rax, qword [rsp + 0x58]
movzx ebx, byte [rax]
mov rdx, qword [rbp - 0x70]
cmp rdx, 0x10
jb 0x140053a59
inc rdx
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053a54
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005406a
call fcn.14005cdb0
test bl, bl
jne 0x140053f2d
lea rax, [0x1400944b0]
mov qword [rsp + 0x38], rax
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x140053a84
mov qword [rdx], rax
add qword [r12 + 8], 8
jmp 0x140053a91
lea r8, [rsp + 0x38]
mov rcx, r12
call fcn.140059a60
lea rdi, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae rdi, qword [rbp - 0x48]
add rdi, qword [rbp - 0x38]
lea rbx, [rbp - 0x48]
cmp qword [rbp - 0x30], 0x10
cmovae rbx, qword [rbp - 0x48]
mov qword [rsp + 0x78], r15
mov rcx, r15
mov qword [rbp - 0x78], rcx
mov r8d, 7
mov qword [rbp - 0x70], r8
mov rdx, rdi
sub rdx, rbx
cmp rdx, 8
jb 0x140053ae8
lea rcx, [rsp + 0x78]
call fcn.14005b630
mov rcx, r15
mov qword [rbp - 0x78], rcx
mov r8, qword [rbp - 0x70]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x50], rax
cmp rbx, rdi
je 0x140053b40
movsx r9d, byte [rbx]
cmp rcx, r8
jae 0x140053b24
lea rax, [rcx + 1]
mov qword [rbp - 0x78], rax
lea rax, [rsp + 0x78]
cmp r8, 8
cmovae rax, qword [rsp + 0x78]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r15w
jmp 0x140053b2e
lea rcx, [rsp + 0x78]
call fcn.14005b9d0
inc rbx
mov r8, qword [rbp - 0x70]
cmp rbx, rdi
je 0x140053b40
mov rcx, qword [rbp - 0x78]
jmp 0x140053af7
lea rcx, [rsp + 0x78]
cmp r8, 8
cmovae rcx, qword [rsp + 0x78]
lea rdx, [rsp + 0x40]
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rbx, rax
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x140053b9e
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053b99
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054070
call fcn.14005cdb0
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r15w
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x140053bca
mov rax, qword [rbx]
mov qword [rdx], rax
add qword [r12 + 8], 8
jmp 0x140053bd5
mov r8, rbx
mov rcx, r12
call fcn.140059a60
lea rbx, [rbp - 0x68]
mov rsi, qword [rbp - 0x68]
mov r14, qword [rbp - 0x50]
cmp r14, 0x10
cmovae rbx, rsi
mov rdi, qword [rbp - 0x58]
test rdi, rdi
je 0x140053c4b
xor edx, edx
mov r8d, 0x100
lea rcx, [rbp + 0x220]
call fcn.14005ee60
mov byte [rbp + 0x25a], 1
lea rax, [rdi - 1]
mov r8, 0xffffffffffffffff
cmp rax, r8
cmovb r8, rax
add r8, rbx
movzx eax, byte [r8]
cmp byte [rbp + rax + 0x220], 0
jne 0x140053c46
cmp r8, rbx
je 0x140053c4b
dec r8
movzx eax, byte [r8]
cmp byte [rbp + rax + 0x220], 0
je 0x140053c30
sub r8, rbx
jmp 0x140053c52
mov r8, 0xffffffffffffffff
mov qword [rbp - 0x28], r15
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], 0xf
mov byte [rbp - 0x28], 0
cmp rdi, r8
cmovb r8, rdi
lea rdx, [rbp - 0x68]
cmp r14, 0x10
cmovae rdx, rsi
lea rcx, [rbp - 0x28]
call fcn.140058f50
or r13d, 4
mov qword [rsp + 0x38], r13
mov dword [rsp + 0x20], r13d
lea rdx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rdx, qword [rbp - 0x28]
mov rdi, qword [rbp - 0x18]
add rdi, rdx
lea rbx, [rbp - 0x28]
cmp qword [rbp - 0x10], 0x10
cmovae rbx, qword [rbp - 0x28]
mov qword [rsp + 0x78], r15
mov rcx, r15
mov qword [rbp - 0x78], rcx
mov r8d, 7
mov qword [rbp - 0x70], r8
mov rdx, rdi
sub rdx, rbx
cmp rdx, 8
jb 0x140053cea
lea rcx, [rsp + 0x78]
call fcn.14005b630
mov rcx, r15
mov qword [rbp - 0x78], rcx
mov r8, qword [rbp - 0x70]
lea rax, [rsp + 0x78]
mov qword [rsp + 0x50], rax
cmp rbx, rdi
je 0x140053d49
nop dword [rax]
movsx r9d, byte [rbx]
cmp rcx, r8
jae 0x140053d2d
lea rax, [rcx + 1]
mov qword [rbp - 0x78], rax
lea rax, [rsp + 0x78]
cmp r8, 8
cmovae rax, qword [rsp + 0x78]
mov word [rax + rcx*2], r9w
mov word [rax + rcx*2 + 2], r15w
jmp 0x140053d37
lea rcx, [rsp + 0x78]
call fcn.14005b9d0
inc rbx
mov r8, qword [rbp - 0x70]
cmp rbx, rdi
je 0x140053d49
mov rcx, qword [rbp - 0x78]
jmp 0x140053d00
lea rcx, [rsp + 0x78]
cmp r8, 8
cmovae rcx, qword [rsp + 0x78]
lea rdx, [rsp + 0x40]
call qword [sym.imp.SHELL32.dll_CommandLineToArgvW]
mov rbx, rax
mov rdx, qword [rbp - 0x70]
cmp rdx, 8
jb 0x140053da7
lea rdx, [rdx*2 + 2]
mov rcx, qword [rsp + 0x78]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053da2
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054076
call fcn.14005cdb0
mov qword [rbp - 0x78], r15
mov qword [rbp - 0x70], 7
mov word [rsp + 0x78], r15w
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x140053dd3
mov rax, qword [rbx]
mov qword [rdx], rax
add qword [r12 + 8], 8
jmp 0x140053ddf
mov r8, rbx
mov rcx, r12
call fcn.140059a60
nop
mov rdx, qword [rbp - 0x10]
cmp rdx, 0x10
jb 0x140053e1a
inc rdx
mov rcx, qword [rbp - 0x28]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053e15
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005407c
call fcn.14005cdb0
mov qword [rbp - 0x18], r15
mov qword [rbp - 0x10], 0xf
mov byte [rbp - 0x28], 0
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x140053e65
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053e60
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054082
call fcn.14005cdb0
mov qword [rbp - 0x38], r15
mov qword [rbp - 0x30], 0xf
mov byte [rbp - 0x48], 0
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x140053eb0
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053eab
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054088
call fcn.14005cdb0
mov qword [rbp - 0x58], r15
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], 0
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x140053f00
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053efb
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14005408e
call fcn.14005cdb0
xor edi, edi
mov eax, dword [rsp + 0x24]
inc eax
mov dword [rsp + 0x24], eax
mov rcx, qword [rsp + 0x48]
inc rcx
mov qword [rsp + 0x48], rcx
cmp eax, dword [rsp + 0x28]
jge 0x140054025
mov rax, qword [rsp + 0x60]
jmp 0x140053610
mov rdx, qword [rbp - 0x30]
cmp rdx, 0x10
jb 0x140053f68
inc rdx
mov rcx, qword [rbp - 0x48]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053f63
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054094
call fcn.14005cdb0
mov r15, qword [rsp + 0x30]
mov rdx, qword [r12 + 8]
cmp rdx, qword [r12 + 0x10]
je 0x140053f87
mov rax, qword [r15]
mov qword [rdx], rax
add qword [r12 + 8], 8
jmp 0x140053f93
mov r8, r15
mov rcx, r12
call fcn.140059a60
nop
mov rdx, qword [rbp - 0x50]
cmp rdx, 0x10
jb 0x140053fce
inc rdx
mov rcx, qword [rbp - 0x68]
mov rax, rcx
cmp rdx, 0x1000
jb 0x140053fc9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x1400540a6
call fcn.14005cdb0
xor edi, edi
mov qword [rbp - 0x58], rdi
mov qword [rbp - 0x50], 0xf
mov byte [rbp - 0x68], dil
mov rdx, qword [rbp + 0x10]
cmp rdx, 8
jb 0x140053f02
lea rdx, [rdx*2 + 2]
mov rcx, qword [rbp - 8]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14005401b
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x140054052
call fcn.14005cdb0
jmp 0x140053f02
mov rax, r12
mov rcx, qword [rbp + 0x320]
xor rcx, rsp
call fcn.14005cd90
mov rbx, qword [rsp + 0x480]
add rsp, 0x430
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret
call fcn.1400674bc
nop
call fcn.14004e630
nop
call fcn.1400674bc
int3
call fcn.14004e630
int3
call fcn.1400674bc
int3
call fcn.1400674bc
nop
call fcn.1400674bc
nop
call fcn.1400674bc
nop
call fcn.1400674bc
nop
call fcn.1400674bc
nop
call fcn.1400674bc
nop
call fcn.1400674bc
int3
call fcn.14004e6d0
int3
call fcn.1400594a0
nop
call fcn.1400674bc
int3