Function at 0x140036630
Capabilities:
Accept command line arguments

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0xa8
movaps xmmword [rsp + 0x90], xmm6
mov rsi, rcx
call sub.kernel32.dll_GetCommandLineW
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 8
mov qword [rsp + 0x50], 0
test rax, rax
je 0x140036b06
movzx ebp, word [rax]
test bp, bp
je 0x140036b06
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x80], 2
mov qword [rsp + 0x88], 0
add rax, 2
mov ecx, 2
xor r8d, r8d
lea rdi, [rsp + 0x78]
xor ebx, ebx
jmp 0x1400366de
mov word [rcx + r8*2], bp
inc r8
mov qword [rsp + 0x88], r8
movzx ebp, word [r13]
lea rax, [r13 + 2]
test bp, bp
je 0x140036744
mov r13, rax
cmp bp, 9
je 0x140036710
movzx eax, bp
cmp eax, 0x20
je 0x140036710
cmp eax, 0x22
jne 0x140036715
not bl
and bl, 1
movzx ebp, word [r13]
lea rax, [r13 + 2]
test bp, bp
jne 0x1400366de
jmp 0x140036744
test bl, 1
je 0x140036744
cmp r8, qword [rsp + 0x78]
jne 0x1400366c0
mov rcx, rdi
mov rdx, r8
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov rcx, qword [rsp + 0x80]
mov r8, qword [rsp + 0x88]
jmp 0x1400366c0
add r13, 2
movzx eax, word [r13]
cmp eax, 0x20
je 0x140036740
cmp eax, 9
je 0x140036740
mov rdx, qword [rsp + 0x80]
lea rcx, [rsp + 0x58]
call dbg.from_wide
lea rcx, [rsp + 0x40]
xor edx, edx
call dbg.reserve_for_push<addr2line::LineSequence, alloc::alloc::Global>
mov rax, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x50]
mov rdx, rcx
shl rdx, 5
movups xmm0, xmmword [rsp + 0x58]
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [rax + rdx + 0x10], xmm1
movups xmmword [rax + rdx], xmm0
inc rcx
mov qword [rsp + 0x50], rcx
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x30], 2
mov qword [rsp + 0x38], 0
movzx r12d, word [r13]
test r12w, r12w
je 0x140036bb7
mov r15d, 2
xor r8d, r8d
lea rdi, [rsp + 0x58]
lea r14, [rsp + 0x28]
movaps xmm6, xmmword [0x1400ae250]
xor ebp, ebp
jmp 0x140036813
mov r15, qword [rsp + 0x30]
mov word [r15 + r8*2], r12w
inc r8
mov qword [rsp + 0x38], r8
movzx r12d, word [rbx]
mov r13, rbx
test r12w, r12w
je 0x140036bbc
lea rbx, [r13 + 2]
movzx eax, r12w
cmp eax, 0x21
jg 0x1400368c0
cmp eax, 9
je 0x140036832
cmp eax, 0x20
jne 0x140036930
test bpl, 1
jne 0x140036930
mov r15, qword [rsp + 0x30]
mov rcx, rdi
mov rdx, r15
call dbg.from_wide
mov rdx, qword [rsp + 0x50]
cmp rdx, qword [rsp + 0x40]
jne 0x140036867
lea rcx, [rsp + 0x40]
call dbg.reserve_for_push<addr2line::LineSequence, alloc::alloc::Global>
mov rdx, qword [rsp + 0x50]
mov rax, qword [rsp + 0x48]
mov rcx, rdx
shl rcx, 5
movups xmm0, xmmword [rsp + 0x58]
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [rax + rcx + 0x10], xmm1
movups xmmword [rax + rcx], xmm0
inc rdx
mov qword [rsp + 0x50], rdx
mov qword [rsp + 0x38], 0
jmp 0x1400368a4
add rbx, 2
movzx r12d, word [rbx]
cmp r12d, 0x20
je 0x1400368a0
cmp r12d, 9
je 0x1400368a0
xor r8d, r8d
jmp 0x140036806
cmp eax, 0x22
je 0x140036950
cmp eax, 0x5c
jne 0x140036930
movzx eax, word [rbx]
xor r12d, r12d
cmp ax, 0x5c
jne 0x1400368f3
nop word [rax + rax]
add rbx, 2
movzx eax, word [r13 + r12*2 + 4]
inc r12
cmp ax, 0x5c
je 0x1400368e0
inc r12
cmp ax, 0x22
jne 0x14003695e
mov r13, r12
shr r13, 1
mov rax, qword [rsp + 0x28]
sub rax, r8
cmp rax, r13
jae 0x1400369a3
mov rcx, r14
mov rdx, r8
mov r8, r13
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h0f5ccd690f57f673
mov r8, qword [rsp + 0x38]
jmp 0x1400369ad
cmp r8, qword [rsp + 0x28]
jne 0x1400367f0
mov rcx, r14
mov rdx, r8
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov r8, qword [rsp + 0x38]
jmp 0x1400367f0
test bpl, 1
jne 0x140036985
mov bpl, 1
jmp 0x140036802
mov rax, qword [rsp + 0x28]
sub rax, r8
cmp rax, r12
jae 0x1400369c0
mov rcx, r14
mov rdx, r8
mov r8, r12
call sym.alloc::raw_vec::RawVec_T_A_::reserve::do_reserve_and_handle::h0f5ccd690f57f673
mov r15, qword [rsp + 0x30]
mov r8, qword [rsp + 0x38]
jmp 0x1400369c9
movzx r12d, word [rbx]
cmp r12d, 0x22
je 0x140036ac8
test r12d, r12d
je 0x140036bbc
xor ebp, ebp
jmp 0x140036806
cmp r12, 2
jb 0x140036a7f
mov r15, qword [rsp + 0x30]
cmp r12, 0x20
jae 0x140036a24
mov rax, r13
jmp 0x140036a70
test r12, r12
je 0x1400367fd
cmp r12, 0x10
jae 0x1400369d4
mov rax, r12
jmp 0x140036a10
mov rcx, r12
and rcx, 0xfffffffffffffff0
mov eax, r12d
and eax, 0xf
lea rdx, [r15 + r8*2]
add rdx, 0x10
add r8, rcx
xor r9d, r9d
nop
movups xmmword [rdx + r9*2 - 0x10], xmm6
movups xmmword [rdx + r9*2], xmm6
add r9, 0x10
cmp rcx, r9
jne 0x1400369f0
cmp r12, rcx
je 0x1400367fd
nop dword [rax]
mov word [r15 + r8*2], 0x5c
inc r8
dec rax
jne 0x140036a10
jmp 0x1400367fd
mov rcx, r13
movabs rax, 0x7ffffffffffffff0
and rcx, rax
mov eax, r13d
and eax, 0xf
lea rdx, [r15 + r8*2]
add rdx, 0x10
add r8, rcx
xor r9d, r9d
nop dword [rax + rax]
movups xmmword [rdx + r9*2 - 0x10], xmm6
movups xmmword [rdx + r9*2], xmm6
add r9, 0x10
cmp rcx, r9
jne 0x140036a50
cmp r13, rcx
je 0x140036a7f
nop dword [rax]
mov word [r15 + r8*2], 0x5c
inc r8
dec rax
jne 0x140036a70
mov qword [rsp + 0x38], r8
test r12b, 1
je 0x140036802
xor r15d, r15d
cmp word [rbx], 0
setne r12b
cmp r8, qword [rsp + 0x28]
jne 0x140036ab0
mov rcx, r14
mov rdx, r8
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov r8, qword [rsp + 0x38]
mov r15b, r12b
lea rbx, [rbx + r15*2]
mov r15, qword [rsp + 0x30]
mov word [r15 + r8*2], 0x22
jmp 0x1400367fa
cmp r8, qword [rsp + 0x28]
jne 0x140036adf
mov rcx, r14
mov rdx, r8
call dbg.reserve_for_push<u16, alloc::alloc::Global>
mov r8, qword [rsp + 0x38]
mov r15, qword [rsp + 0x30]
mov word [r15 + r8*2], 0x22
inc r8
mov qword [rsp + 0x38], r8
lea rax, [r13 + 4]
cmp word [r13 + 2], 0
cmovne rbx, rax
jmp 0x140036802
lea rcx, [rsp + 0x58]
call dbg.current_exe
mov rbx, qword [rsp + 0x58]
movabs rax, 0x7ffffffffffffff0
add rax, 0x10
cmp rbx, rax
jne 0x140036b4c
mov rax, qword [rsp + 0x60]
mov qword [rsp + 0x58], rax
lea rcx, [rsp + 0x58]
call dbg.drop_in_place<std::io::error::Error>
mov r14d, 1
mov bpl, 1
xor r12d, r12d
xor ebx, ebx
jmp 0x140036b6b
mov r14, qword [rsp + 0x60]
mov r12, qword [rsp + 0x68]
movzx ebp, byte [rsp + 0x70]
mov eax, dword [rsp + 0x71]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x74]
mov dword [rsp + 0x2b], eax
lea rcx, [rsp + 0x40]
xor edx, edx
call dbg.reserve_for_push<addr2line::LineSequence, alloc::alloc::Global>
mov r15, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rax, rdi
shl rax, 5
mov qword [r15 + rax], rbx
mov qword [r15 + rax + 8], r14
mov qword [r15 + rax + 0x10], r12
mov byte [r15 + rax + 0x18], bpl
mov ecx, dword [rsp + 0x28]
mov edx, dword [rsp + 0x2b]
mov dword [r15 + rax + 0x1c], edx
mov dword [r15 + rax + 0x19], ecx
inc rdi
mov rbx, qword [rsp + 0x40]
jmp 0x140036c1b
xor r8d, r8d
xor ebp, ebp
test r8, r8
jne 0x140036c50
and bpl, 1
jne 0x140036c50
mov r15, qword [rsp + 0x48]
mov rdi, qword [rsp + 0x50]
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x28]
test rdx, rdx
je 0x140036bfb
mov rcx, qword [rsp + 0x30]
add rdx, rdx
mov r8d, 2
call sym.__rust_dealloc
mov rdx, qword [rsp + 0x78]
test rdx, rdx
je 0x140036c1b
mov rcx, qword [rsp + 0x80]
add rdx, rdx
mov r8d, 2
call sym.__rust_dealloc
shl rdi, 5
add rdi, r15
mov qword [rsi], r15
mov qword [rsi + 8], rbx
mov qword [rsi + 0x10], r15
mov qword [rsi + 0x18], rdi
mov rax, rsi
movaps xmm6, xmmword [rsp + 0x90]
add rsp, 0xa8
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [rsp + 0x30]
lea rcx, [rsp + 0x58]
call dbg.from_wide
mov rdi, qword [rsp + 0x50]
cmp rdi, qword [rsp + 0x40]
jne 0x140036c7d
lea rcx, [rsp + 0x40]
mov rdx, rdi
call dbg.reserve_for_push<addr2line::LineSequence, alloc::alloc::Global>
mov rdi, qword [rsp + 0x50]
mov r15, qword [rsp + 0x48]
mov rax, rdi
shl rax, 5
movups xmm0, xmmword [rsp + 0x58]
movups xmm1, xmmword [rsp + 0x68]
movups xmmword [r15 + rax + 0x10], xmm1
movups xmmword [r15 + rax], xmm0
inc rdi
mov rbx, qword [rsp + 0x40]
mov rdx, qword [rsp + 0x28]
test rdx, rdx
jne 0x140036be8
jmp 0x140036bfb