Function at 0x549cd0
Capabilities:
Create process on windows
Encode data using base64
Query environment variable

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x268
mov r15, rdx
mov qword [rsp + 0x178], rcx
cmp byte [rdx + 0x58], 0
mov qword [rsp + 0x180], rdx
je 0x549d10
xorps xmm0, xmm0
movups xmmword [rsp + 0x198], xmm0
mov r9, qword [r15 + 0x50]
jmp 0x549ea0
mov rax, qword [r15 + 0x50]
test rax, rax
je 0x54af84
mov qword [rsp + 0x60], rax
xorps xmm0, xmm0
movups xmmword [rsp + 0x198], xmm0
call sub.KERNEL32.dll_GetEnvironmentStringsW
test rax, rax
je 0x54c98b
mov qword [rsp + 0x1a8], rax
mov qword [rsp + 0x1b0], rax
lea r15, [rsp + 0xb0]
lea r14, [rsp + 0x70]
lea rbx, [rsp + 0x1d0]
lea r13, [rsp + 0x90]
nop dword [rax + rax]
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x1a8]
call fcn.0053ccb0
cmp byte [rsp + 0x118], 2
je 0x549e86
mov rsi, qword [rsp + 0x100]
mov r12, qword [rsp + 0x108]
mov rdi, qword [rsp + 0x120]
mov rbp, qword [rsp + 0x128]
mov rax, qword [rsp + 0x110]
add rax, r12
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], r12
mov word [rsp + 0x1e0], 0
mov rcx, r14
mov rdx, rbx
call fcn.005463c0
movups xmm0, xmmword [rsp + 0x100]
movups xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0x90], xmm0
movaps xmmword [rsp + 0xa0], xmm1
mov rax, qword [rsp + 0x80]
mov qword [r15 + 0x10], rax
movups xmm0, xmmword [rsp + 0x70]
movups xmmword [r15], xmm0
mov qword [rsp + 0x1d0], rdi
mov qword [rsp + 0x1d8], rbp
lea rax, [rsp + 0x130]
movups xmm0, xmmword [rax]
lea rax, [rsp + 0x1e0]
movups xmmword [rax], xmm0
mov rcx, r14
lea rdx, [rsp + 0x190]
mov r8, r13
mov r9, rbx
call fcn.00536170
cmp byte [rsp + 0x88], 2
je 0x549d70
cmp qword [rsp + 0x70], 0
je 0x549d70
mov r8, qword [rsp + 0x78]
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
jmp 0x549d70
mov rcx, qword [rsp + 0x1a8]
call sub.KERNEL32.dll_FreeEnvironmentStringsW
mov r15, qword [rsp + 0x180]
mov r9, qword [rsp + 0x60]
mov r15, qword [r15 + 0x48]
test r15, r15
je 0x54a8da
test r9, r9
je 0x54a8da
mov rax, qword [rsp + 0x180]
mov rax, qword [rax + 0x40]
xor ecx, ecx
mov qword [rsp + 0x58], rcx
lea rcx, str._repos_rust_1.70.0_library_alloc_src_collections_btree_map_entry.rs
mov qword [rsp + 0xf0], rcx
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
mov qword [rsp + 0x238], rcx
jmp 0x549f10
call fcn.005ab9d4
mov eax, 0
mov r9, qword [rsp + 0x60]
dec r9
mov rdx, qword [rsp + 0xf8]
je 0x54a8da
cmp qword [rsp + 0x58], 0
jne 0x549fa2
mov ecx, 1
mov qword [rsp + 0x58], rcx
test rax, rax
je 0x549f9e
mov rdx, rax
mov rcx, rax
and rdx, 7
je 0x549f4c
and rcx, 0xfffffffffffffff8
nop dword [rax + rax]
mov r15, qword [r15 + 0x3d8]
dec rdx
jne 0x549f40
cmp rax, 8
jb 0x549f9e
nop word cs:[rax + rax]
mov rax, qword [r15 + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov r15, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x549f60
xor eax, eax
xor edx, edx
movzx ecx, word [r15 + 0x3d2]
mov r12, r15
mov r13, rdx
cmp rdx, rcx
jb 0x549fea
nop word cs:[rax + rax]
mov rcx, qword [r12 + 0x160]
test rcx, rcx
je 0x54c8d8
movzx r13d, word [r12 + 0x3d0]
inc rax
mov r12, rcx
cmp r13w, word [rcx + 0x3d2]
jae 0x549fc0
test rax, rax
mov qword [rsp + 0x60], r9
je 0x54a090
mov r15, qword [r12 + r13*8 + 0x3e0]
mov rcx, rax
dec rcx
je 0x54a07e
lea rdx, [rax - 2]
mov r8, rcx
and r8, 7
je 0x54a035
mov rcx, r8
nop dword [rax + rax]
mov r15, qword [r15 + 0x3d8]
dec rcx
jne 0x54a020
not r8
add rax, r8
mov rcx, rax
cmp rdx, 7
jb 0x54a07e
nop dword [rax + rax]
mov rax, qword [r15 + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov r15, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x54a040
xor r14d, r14d
jmp 0x54a097
lea r14, [r13 + 1]
mov r15, r12
imul rax, r13, 0x38
lea rbx, [r12 + rax]
add rbx, 0x168
shl r13, 5
cmp byte [r12 + r13 + 0x18], 2
mov qword [rsp + 0xf8], r14
jne 0x54a170
mov rdi, qword [rsp + 0x198]
test rdi, rdi
je 0x549ef5
mov rsi, qword [rsp + 0x190]
lea eax, [rsi + 7]
mov dword [rsp + 0x68], eax
lea r13, [rdi + 0x168]
movzx r12d, word [rdi + 0x3d2]
imul rbp, r12, 0x38
mov r14, 0xffffffffffffffff
nop dword [rax + rax]
test rbp, rbp
je 0x54a140
mov rcx, qword [rbx + 0x28]
mov rdx, qword [rbx + 0x30]
mov r8, qword [r13 + 0x28]
mov r9, qword [r13 + 0x30]
call fcn.00549a50
add r13, 0x38
add rbp, 0xffffffffffffffc8
inc r14
cmp al, 1
je 0x54a100
movzx eax, al
test eax, eax
je 0x54a1b0
test rsi, rsi
jne 0x54a14c
jmp 0x549ef5
mov r14, r12
test rsi, rsi
je 0x549ef5
mov rdi, qword [rdi + r14*8 + 0x3d8]
dec rsi
mov eax, dword [rsp + 0x68]
add al, 7
jmp 0x54a0da
mov rdi, qword [rbx + 8]
mov rsi, qword [rbx + 0x10]
test rsi, rsi
je 0x54a39c
js 0x54c907
mov edx, 1
mov rcx, rsi
call fcn.00414fe0
test rax, rax
jne 0x54a3a1
jmp 0x54c911
mov byte [rsp + 0x1a8], 0
test rsi, rsi
je 0x54a54e
mov rax, qword [rdi + r14*8 + 0x3d8]
mov rcx, rsi
dec rcx
je 0x54a29e
lea rdx, [rsi - 2]
test cl, 7
je 0x54a216
movzx ecx, byte [rsp + 0x68]
and ecx, 7
neg rcx
mov r8d, 1
nop
movzx r9d, word [rax + 0x3d2]
mov rax, qword [rax + r9*8 + 0x3d8]
lea r9, [rcx + r8]
inc r9
inc r8
cmp r9, 1
jne 0x54a1f0
sub rsi, r8
mov rcx, rsi
cmp rdx, 7
jb 0x54a29e
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
movzx edx, word [rax + 0x3d2]
mov rax, qword [rax + rdx*8 + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x54a220
movzx ecx, word [rax + 0x3d2]
dec rcx
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rcx
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x70]
lea r8, [rsp + 0x1a8]
call fcn.005175c0
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0x220], rax
movups xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0x210], xmm0
movups xmm0, xmmword [rsp + 0x100]
movups xmm1, xmmword [rsp + 0x110]
movups xmm2, xmmword [rsp + 0x120]
movups xmm3, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0x200], xmm3
movaps xmmword [rsp + 0x1f0], xmm2
movaps xmmword [rsp + 0x1e0], xmm1
movaps xmmword [rsp + 0x1d0], xmm0
mov rcx, qword [rsp + 0x158]
mov r8, qword [rsp + 0x160]
mov rdx, qword [rsp + 0x168]
movzx r9d, word [r8 + 0x3d2]
mov rax, r8
cmp rdx, r9
jb 0x54a58f
nop word cs:[rax + rax]
mov rax, qword [r8 + 0x160]
test rax, rax
je 0x54a58c
movzx edx, word [r8 + 0x3d0]
inc rcx
mov r8, rax
cmp dx, word [rax + 0x3d2]
jae 0x54a370
jmp 0x54a58f
mov eax, 1
mov qword [rsp + 0x68], rax
mov rcx, rax
mov rdx, rdi
mov r8, rsi
call sub.msvcrt.dll_memcpy
movzx ecx, byte [rbx + 0x18]
mov rdx, qword [rbx + 0x28]
mov rbp, qword [rbx + 0x30]
test rbp, rbp
mov byte [rsp + 0x188], cl
je 0x54a40c
xor ebx, ebx
mov rax, rbp
shr rax, 0x3e
sete al
jne 0x54c923
mov rdi, rbp
add rdi, rbp
mov bl, al
add rbx, rbx
test rdi, rdi
je 0x54a416
mov rcx, rdi
mov r14, rdx
mov rdx, rbx
call fcn.00414fe0
mov rdx, r14
mov r14, rax
test r14, r14
jne 0x54a422
jmp 0x54c92d
mov r14d, 2
xor edi, edi
jmp 0x54a422
mov r14, rbx
test r14, r14
je 0x54c92d
add r12, r13
mov rcx, r14
mov r8, rdi
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x100], rsi
mov rax, qword [rsp + 0x68]
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rsi
movzx eax, byte [rsp + 0x188]
mov byte [rsp + 0x118], al
mov eax, dword [rsp + 0x90]
mov ecx, dword [rsp + 0x93]
lea rdx, [rsp + 0x119]
mov dword [rdx], eax
mov dword [rdx + 3], ecx
mov qword [rsp + 0x120], rbp
mov qword [rsp + 0x128], r14
mov qword [rsp + 0x130], rbp
mov rdi, qword [r12 + 8]
mov rsi, qword [r12 + 0x10]
test rsi, rsi
je 0x54a4be
js 0x54c93d
mov edx, 1
mov rcx, rsi
call fcn.00414fe0
mov rbx, rax
test rax, rax
jne 0x54a4c3
jmp 0x54c8f5
mov ebx, 1
mov rcx, rbx
mov rdx, rdi
mov r8, rsi
call sub.msvcrt.dll_memcpy
movzx eax, byte [r12 + 0x18]
mov qword [rsp + 0x90], rsi
mov qword [rsp + 0x98], rbx
mov qword [rsp + 0xa0], rsi
mov byte [rsp + 0xa8], al
lea rcx, [rsp + 0x1d0]
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x100]
lea r9, [rsp + 0x90]
call fcn.00536170
cmp byte [rsp + 0x1e8], 2
je 0x549ef5
cmp qword [rsp + 0x1d0], 0
je 0x549ef5
mov r8, qword [rsp + 0x1d8]
mov rcx, qword [0x00677420]
xor edx, edx
jmp 0x549ef0
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], rdi
mov qword [rsp + 0xa0], r14
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x90]
lea r8, [rsp + 0x1a8]
call fcn.005175c0
jmp 0x54a782
mov rax, r8
lea r8, [rsp + 0x208]
movups xmm0, xmmword [r8]
movups xmm1, xmmword [r8 + 0x10]
movaps xmmword [rsp + 0x110], xmm1
movaps xmmword [rsp + 0x100], xmm0
imul r8, rdx, 0x38
mov r9, rdx
shl r9, 5
mov r10, qword [rax + r8 + 0x198]
mov qword [rsp + 0xc0], r10
movups xmm0, xmmword [rax + r8 + 0x168]
movups xmm1, xmmword [rax + r8 + 0x178]
movups xmm2, xmmword [rax + r8 + 0x188]
movaps xmmword [rsp + 0xb0], xmm2
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
mov r10, qword [rsp + 0x200]
movaps xmm0, xmmword [rsp + 0x1d0]
movaps xmm1, xmmword [rsp + 0x1e0]
movaps xmm2, xmmword [rsp + 0x1f0]
movups xmmword [rax + r8 + 0x168], xmm0
movups xmmword [rax + r8 + 0x178], xmm1
movups xmmword [rax + r8 + 0x188], xmm2
mov qword [rax + r8 + 0x198], r10
movups xmm0, xmmword [rax + r9]
movups xmm1, xmmword [rax + r9 + 0x10]
lea r8, [rsp + 0xc8]
movups xmmword [r8 + 0x10], xmm1
movups xmmword [r8], xmm0
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movups xmmword [rax + r9], xmm0
movups xmmword [rax + r9 + 0x10], xmm1
test rcx, rcx
je 0x54a70e
mov rax, qword [rax + rdx*8 + 0x3e0]
mov rdx, rcx
dec rdx
je 0x54a70e
lea r8, [rcx - 2]
mov r9, rdx
and r9, 7
je 0x54a6c5
mov rdx, r9
nop word cs:[rax + rax]
mov rax, qword [rax + 0x3d8]
dec rdx
jne 0x54a6b0
not r9
add rcx, r9
mov rdx, rcx
cmp r8, 7
jb 0x54a70e
nop dword [rax + rax]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
add rdx, 0xfffffffffffffff8
jne 0x54a6d0
mov rcx, qword [rsp + 0xe0]
mov qword [rsp + 0x150], rcx
movaps xmm0, xmmword [rsp + 0xd0]
movaps xmmword [rsp + 0x140], xmm0
movaps xmm0, xmmword [rsp + 0x90]
movaps xmm1, xmmword [rsp + 0xa0]
movaps xmm2, xmmword [rsp + 0xb0]
movaps xmm3, xmmword [rsp + 0xc0]
movaps xmmword [rsp + 0x130], xmm3
movaps xmmword [rsp + 0x120], xmm2
movaps xmmword [rsp + 0x110], xmm1
movaps xmmword [rsp + 0x100], xmm0
mov qword [rsp + 0x158], 0
mov qword [rsp + 0x160], rax
mov rax, qword [rsp + 0x150]
mov qword [rsp + 0xe0], rax
movaps xmm0, xmmword [rsp + 0x140]
movaps xmmword [rsp + 0xd0], xmm0
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmm2, xmmword [rsp + 0x120]
movaps xmm3, xmmword [rsp + 0x130]
movaps xmmword [rsp + 0xc0], xmm3
movaps xmmword [rsp + 0xb0], xmm2
dec qword [rsp + 0x1a0]
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
cmp byte [rsp + 0x1a8], 0
je 0x54a849
mov r8, qword [rsp + 0x198]
test r8, r8
je 0x54c96c
mov rax, qword [rsp + 0x190]
test rax, rax
je 0x54c947
mov rcx, qword [r8 + 0x3d8]
mov qword [rsp + 0x198], rcx
dec rax
mov qword [rsp + 0x190], rax
mov qword [rcx + 0x160], 0
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
cmp byte [rsp + 0xa8], 2
je 0x549ef5
mov r14, qword [rsp + 0xb0]
mov rdi, qword [rsp + 0xb8]
mov rbx, qword [rsp + 0xc8]
mov rsi, qword [rsp + 0xd0]
movzx ebp, byte [rsp + 0xe0]
cmp qword [rsp + 0x90], 0
je 0x54a8a0
mov r8, qword [rsp + 0x98]
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
test r14, r14
je 0x54a8b6
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, rdi
call fcn.005ab9d4
cmp bpl, 2
je 0x549ef5
test rbx, rbx
je 0x549ef5
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, rsi
jmp 0x549ef0
mov rax, qword [rsp + 0x1a0]
mov qword [rsp + 0x258], rax
movups xmm0, xmmword [rsp + 0x190]
movups xmmword [rsp + 0x248], xmm0
mov qword [rsp + 0x240], 1
mov ebx, 4
mov ecx, 4
mov edx, 1
call fcn.00414fe0
test rax, rax
je 0x54b09b
mov r14, rax
mov dword [rax], 0x48544150
add rax, 4
mov qword [rsp + 0x100], rax
mov qword [rsp + 0x108], r14
mov word [rsp + 0x110], 0
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x100]
call fcn.005463c0
mov qword [rsp + 0x100], 4
mov qword [rsp + 0x108], r14
mov qword [rsp + 0x110], 4
mov byte [rsp + 0x118], 0
movups xmm0, xmmword [rsp + 0x90]
movups xmmword [rsp + 0x120], xmm0
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x130], rax
mov r15, qword [rsp + 0x250]
test r15, r15
je 0x54aa6e
mov qword [rsp + 0xf8], r14
mov r12, qword [rsp + 0x248]
mov rsi, qword [rsp + 0x128]
mov rbx, qword [rsp + 0x130]
lea r14, [r15 + 0x168]
movzx eax, word [r15 + 0x3d2]
mov qword [rsp + 0x60], rax
imul rdi, rax, 0x38
lea rbp, [r15 - 0x10]
mov r13, 0xffffffffffffffff
nop dword [rax + rax]
test rdi, rdi
je 0x54aa40
mov r8, qword [r14 + 0x28]
mov r9, qword [r14 + 0x30]
mov rcx, rsi
mov rdx, rbx
call fcn.00549a50
add r14, 0x38
add rdi, 0xffffffffffffffc8
add rbp, 0x20
inc r13
cmp al, 1
je 0x54aa00
movzx eax, al
test eax, eax
jne 0x54aa45
jmp 0x54aa5c
mov r13, qword [rsp + 0x60]
sub r12, 1
jb 0x54bb1a
mov r15, qword [r15 + r13*8 + 0x3d8]
jmp 0x54a9d8
mov rdi, qword [rbp - 8]
mov rsi, qword [rbp]
mov r14, qword [rsp + 0xf8]
jmp 0x54aa70
xor edi, edi
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, r14
call fcn.005ab9d4
cmp qword [rsp + 0x120], 0
mov r15, qword [rsp + 0x180]
je 0x54aaaa
mov r8, qword [rsp + 0x128]
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
lea r13, [rsp + 0x248]
xor ebp, ebp
mov r14, qword [r15 + 0x28]
mov rbx, qword [r15 + 0x30]
mov qword [rsp + 0x190], r14
mov qword [rsp + 0x198], rbx
test rbx, rbx
je 0x54ab09
cmp rbx, 4
jae 0x54aae0
lea rdx, [0x0053d0b0]
jmp 0x54aaf9
cmp dword [r14], 0x5c3f5c5c
lea rax, [0x0053d0c0]
lea rdx, [0x0053d0b0]
cmove rdx, rax
movzx ecx, byte [rbx + r14 - 1]
call rdx
test al, al
je 0x54ad0d
lea rax, [0x005ef5a0]
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x1d8], 0
mov r14, qword [rsp + 0x1d0]
mov rbx, qword [rsp + 0x1d8]
test rbx, rbx
je 0x54acec
mov rsi, qword [rsp + 0x1e0]
cmp rsi, 5
jb case.0x54b336.68
cmp word [rbx + rsi*2 - 0xa], 0x2e
jne case.0x54b336.68
cmp word [rbx + rsi*2 - 2], 0
je 0x54b317
mov rdi, qword [r15 + 0x28]
mov r12, qword [r15 + 0x30]
mov rax, r15
mov r15, qword [r15 + 0x98]
mov rsi, qword [rax + 0xa0]
movzx ebp, byte [rax + 0xad]
mov qword [rsp + 0x90], 0
mov qword [rsp + 0x98], 2
mov qword [rsp + 0xa0], 0
lea rcx, [rsp + 0x90]
xor edx, edx
call fcn.00519810
mov rax, qword [rsp + 0x98]
mov rcx, qword [rsp + 0xa0]
mov word [rax + rcx*2], 0x22
inc rcx
mov qword [rsp + 0xa0], rcx
add r12, rdi
mov qword [rsp + 0x100], r12
mov qword [rsp + 0x108], rdi
mov word [rsp + 0x110], 0
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x100]
call fcn.00545dd0
mov rdx, qword [rsp + 0xa0]
cmp rdx, qword [rsp + 0x90]
jne 0x54ac2c
lea rcx, [rsp + 0x90]
call fcn.00519810
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x98]
mov word [rax + rdx*2], 0x22
inc rdx
mov qword [rsp + 0xa0], rdx
shl rsi, 3
lea rdi, [rsi + rsi*4]
lea r12, [rsp + 0x90]
nop word cs:[rax + rax]
test rdi, rdi
je 0x54ad8d
mov rdx, qword [rsp + 0xa0]
cmp rdx, qword [rsp + 0x90]
jne 0x54ac8b
mov rcx, r12
call fcn.00519810
mov rdx, qword [rsp + 0xa0]
mov rax, qword [rsp + 0x98]
mov word [rax + rdx*2], 0x20
inc rdx
mov qword [rsp + 0xa0], rdx
mov rcx, r12
mov rdx, r15
mov r8d, ebp
call fcn.00544460
mov rsi, rax
add r15, 0x28
add rdi, 0xffffffffffffffd8
test rax, rax
je 0x54ac60
cmp qword [rsp + 0x90], 0
je 0x54ae92
mov r8, qword [rsp + 0x98]
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
jmp 0x54ae92
mov rax, qword [rsp + 0x178]
mov qword [rax], r14
mov qword [rax + 0x10], 2
test bpl, bpl
je 0x54aed2
jmp 0x54af3f
cmp rbx, 3
jbe 0x54af54
movzx eax, byte [rbx + r14 - 4]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x2e
jne 0x54afa2
movzx eax, byte [r14 + rbx - 3]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
jne 0x54b01f
movzx eax, byte [r14 + rbx - 2]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x78
jne 0x54b01f
movzx eax, byte [r14 + rbx - 1]
lea ecx, [rax - 0x41]
cmp cl, 0x1a
setb cl
shl cl, 5
or cl, al
cmp cl, 0x65
sete al
jmp 0x54b021
mov rsi, qword [rsp + 0x90]
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x54ae92
mov rdx, qword [rsp + 0xa0]
mov al, 1
mov dword [rsp + 0xf8], eax
mov qword [rsp + 0x68], rbx
mov rdi, r14
mov r15, qword [rsp + 0x180]
mov qword [rsp + 0x1a8], rsi
mov qword [rsp + 0x1b0], rcx
mov qword [rsp + 0x1b8], rdx
cmp rdx, rsi
mov qword [rsp + 0x60], rdi
jne 0x54ae06
lea rcx, [rsp + 0x1a8]
call fcn.00519810
mov rcx, qword [rsp + 0x1b0]
mov rdx, qword [rsp + 0x1b8]
mov word [rcx + rdx*2], 0
inc qword [rsp + 0x1b8]
cmp byte [r15 + 0xac], 0
mov eax, 0x400
mov ebp, 0x608
cmove ebp, eax
or ebp, dword [r15 + 0xa8]
cmp qword [rsp + 0x240], 0
mov dword [rsp + 0x238], ebp
je 0x54afe4
mov rsi, qword [r13 + 0x10]
mov qword [rsp + 0x1a0], rsi
movups xmm0, xmmword [r13]
movaps xmmword [rsp + 0x190], xmm0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 2
mov qword [rsp + 0x80], 0
test rsi, rsi
mov qword [rsp + 0x58], r14
je 0x54b4b2
xor ebp, ebp
jmp 0x54b4dc
mov rax, qword [rsp + 0x178]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
xor esi, esi
test r14, r14
je 0x54aebd
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, rbx
call fcn.005ab9d4
cmp qword [rsp + 0x240], 0
sete al
or sil, al
cmp sil, 1
je 0x54af3f
mov rcx, qword [rsp + 0x250]
test rcx, rcx
je 0x54af13
mov rdx, qword [rsp + 0x248]
mov rax, qword [rsp + 0x258]
mov qword [rsp + 0x108], rdx
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x128], rdx
mov qword [rsp + 0x130], rcx
xor ecx, ecx
jmp 0x54af1a
mov ecx, 2
xor eax, eax
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x120], rcx
mov qword [rsp + 0x140], rax
lea rcx, [rsp + 0x100]
call fcn.00537590
nop
add rsp, 0x268
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
xor eax, eax
nop word cs:[rax + rax]
cmp rbx, rax
je 0x54b0ad
movzx ecx, byte [r14 + rax]
cmp ecx, 0x2f
je 0x54b073
inc rax
cmp ecx, 0x5c
jne 0x54af60
jmp 0x54b073
mov qword [rsp + 0x240], 0
mov bpl, 1
lea r13, [rsp + 0x248]
xor edi, edi
jmp 0x54aab4
mov r14, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x198]
xor eax, eax
nop word cs:[rax + rax]
cmp rbx, rax
je 0x54b0ad
movzx ecx, byte [r14 + rax]
cmp ecx, 0x2f
je 0x54b073
inc rax
cmp ecx, 0x5c
jne 0x54afc0
jmp 0x54b073
mov r13d, 2
xor eax, eax
mov qword [rsp + 0x188], rax
xor eax, eax
mov qword [rsp + 0x260], rax
cmp byte [r15 + 0x18], 2
jne 0x54bbd9
mov eax, 2
mov qword [rsp + 0x230], rax
xor ecx, ecx
xor ebp, ebp
jmp 0x54bd4f
xor eax, eax
mov r14, qword [rsp + 0x190]
mov rbx, qword [rsp + 0x198]
xor ecx, ecx
nop word cs:[rax + rax]
cmp rbx, rcx
je 0x54b0ad
movzx edx, byte [r14 + rcx]
cmp edx, 0x2f
je 0x54b057
inc rcx
cmp edx, 0x5c
jne 0x54b040
test al, al
je 0x54b073
lea rcx, [rsp + 0x1d0]
mov rdx, r14
mov r8, rbx
call fcn.00544d70
jmp 0x54ab24
test rbx, rbx
je 0x54b195
js 0x54ca18
mov edx, 1
mov rcx, rbx
call fcn.00414fe0
mov rsi, rax
test rax, rax
jne 0x54b19a
mov edx, 1
mov rcx, rbx
call fcn.00417bf0
jmp 0x54ca37
lea rax, [r14 + rbx]
xor r9d, r9d
mov rcx, r14
jmp 0x54b0cc
xor r9d, r9d
test dx, dx
je 0x54b189
mov dx, 1
test r9w, r9w
jne 0x54b0c0
cmp rcx, rax
je 0x54bb21
movzx r8d, byte [rcx]
test r8b, r8b
js 0x54b0ed
inc rcx
jmp 0x54b151
mov r9d, r8d
and r9d, 0x1f
movzx r11d, byte [rcx + 1]
and r11d, 0x3f
cmp r8b, 0xdf
jbe 0x54b143
movzx r10d, byte [rcx + 2]
shl r11d, 6
and r10d, 0x3f
or r10d, r11d
cmp r8b, 0xf0
jb 0x54b15c
movzx r8d, byte [rcx + 3]
add rcx, 4
and r9d, 7
shl r9d, 0x12
shl r10d, 6
and r8d, 0x3f
or r8d, r10d
or r8d, r9d
cmp r8d, 0xffff
jbe 0x54b151
jmp 0x54b173
add rcx, 2
shl r9d, 6
or r9d, r11d
mov r8d, r9d
xor r9d, r9d
mov edx, r8d
jmp 0x54b0c3
add rcx, 3
shl r9d, 0xc
or r10d, r9d
mov r8d, r10d
cmp r8d, 0xffff
jbe 0x54b151
and r8d, 0x3ff
or r8d, 0xdc00
mov r9d, r8d
jmp 0x54b0c3
lea rax, str.nul_byte_found_in_provided_data
jmp 0x54ab10
mov esi, 1
mov rcx, rsi
mov rdx, r14
mov r8, rbx
call sub.msvcrt.dll_memcpy
mov qword [rsp + 0x90], rbx
mov qword [rsp + 0x98], rsi
mov qword [rsp + 0xa0], rbx
mov byte [rsp + 0xa8], 0
mov rax, qword [rsp + 0xa0]
mov qword [rsp + 0x110], rax
movzx eax, byte [rsp + 0xa8]
mov byte [rsp + 0x118], al
mov eax, dword [rsp + 0xa9]
mov dword [rsp + 0x119], eax
movzx eax, word [rsp + 0xad]
mov word [rsp + 0x11d], ax
movzx eax, byte [rsp + 0xaf]
mov byte [rsp + 0x11f], al
mov rax, qword [rsp + 0x90]
mov qword [rsp + 0x100], rax
mov rax, qword [rsp + 0x98]
mov qword [rsp + 0x108], rax
lea rdx, str..exeprogram_not_found
lea rcx, [rsp + 0x100]
mov r8d, 4
call fcn.0054e730
movaps xmm0, xmmword [rsp + 0x100]
movaps xmm1, xmmword [rsp + 0x110]
movaps xmmword [rsp + 0xa0], xmm1
movaps xmmword [rsp + 0x90], xmm0
mov rsi, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
lea rcx, [rsp + 0x100]
mov rdx, rsi
call fcn.0054ce80
cmp qword [rsp + 0x108], 0
je 0x54b2bb
mov rax, qword [rsp + 0x110]
mov qword [rsp + 0x1e0], rax
movups xmm0, xmmword [rsp + 0x100]
movaps xmmword [rsp + 0x1d0], xmm0
jmp 0x54b2f2
lea rdx, str.combase.dll
lea rcx, [rsp + 0x90]
xor r8d, r8d
call fcn.00523cb0
mov rsi, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
lea rcx, [rsp + 0x1d0]
mov rdx, rsi
call fcn.00544d70
cmp qword [rsp + 0x90], 0
je 0x54ab24
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, rsi
call fcn.005ab9d4
jmp 0x54ab24
movzx eax, word [rbx + rsi*2 - 8]
lea ecx, [rax - 0x42]
cmp ecx, 0x21
ja case.0x54b336.68
lea rdx, [0x0054cde0]
movsxd rcx, dword [rdx + rcx*4]
add rcx, rdx
jmp rcx
movzx ecx, word [rbx + rsi*2 - 6]
or ecx, 0x20
cmp ecx, 0x61
jne 0x54b352
movzx ecx, word [rbx + rsi*2 - 4]
or ecx, 0x20
cmp ecx, 0x74
je 0x54b380
cmp ax, 0x43
jne case.0x54b336.68
movzx eax, word [rbx + rsi*2 - 6]
or eax, 0x20
cmp eax, 0x6d
jne case.0x54b336.68
movzx eax, word [rbx + rsi*2 - 4]
add eax, 0xffffffbc
test eax, 0xffdf
jne case.0x54b336.68
lea rcx, [rsp + 0x100]
call fcn.00540ad0
mov rdi, qword [rsp + 0x100]
mov rax, qword [rsp + 0x108]
test rax, rax
je 0x54bb9e
mov rcx, qword [rsp + 0x110]
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rcx
lea rax, [0x005ef5f6]
mov qword [rsp + 0x120], rax
lea rax, [0x005ef5ee]
mov qword [rsp + 0x128], rax
mov word [rsp + 0x130], 0
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x110], 1
mov word [rsp + 0x118], 0
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x100]
call fcn.00545f50
mov rdi, qword [rsp + 0x90]
mov rax, qword [rsp + 0x98]
test rax, rax
je 0x54bb9e
mov qword [rsp + 0x68], rax
mov r9, qword [r15 + 0x98]
mov rax, qword [r15 + 0xa0]
movzx ecx, byte [r15 + 0xad]
mov byte [rsp + 0x28], cl
mov qword [rsp + 0x20], rax
lea rcx, [rsp + 0x100]
mov rdx, rbx
mov r8, rsi
call fcn.005448d0
mov rsi, qword [rsp + 0x100]
mov rcx, qword [rsp + 0x108]
test rcx, rcx
je 0x54c73e
mov dword [rsp + 0xf8], 0
mov rdx, qword [rsp + 0x110]
jmp 0x54adc7
lea rcx, [rsp + 0x70]
xor edx, edx
call fcn.00519810
mov rax, qword [rsp + 0x78]
mov rbp, qword [rsp + 0x80]
mov word [rax + rbp*2], 0
inc rbp
mov qword [rsp + 0x80], rbp
mov rax, qword [rsp + 0x190]
mov rcx, qword [rsp + 0x198]
xor edx, edx
test rcx, rcx
sete dl
cmove rsi, rcx
add rdx, rdx
mov qword [rsp + 0x100], rdx
lea r15, [rsp + 0x108]
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x120], rdx
mov qword [rsp + 0x128], rax
mov qword [rsp + 0x130], rcx
mov qword [rsp + 0x140], rsi
lea r12, [rsp + 0x90]
test rsi, rsi
je 0x54b9f9
dec rsi
mov qword [rsp + 0x140], rsi
mov rax, qword [rsp + 0x100]
test rax, rax
je 0x54b572
cmp eax, 2
jne 0x54b62a
jmp 0x54ca1f
mov rdx, qword [rsp + 0x108]
mov rax, qword [rsp + 0x110]
test rdx, rdx
je 0x54b5fe
mov r8, rdx
mov rcx, rdx
and r8, 7
je 0x54b5ac
and rcx, 0xfffffffffffffff8
nop word [rax + rax]
mov rax, qword [rax + 0x3d8]
dec r8
jne 0x54b5a0
cmp rdx, 8
jb 0x54b5fe
nop word cs:[rax + rax]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
mov rax, qword [rax + 0x3d8]
add rcx, 0xfffffffffffffff8
jne 0x54b5c0
mov qword [rsp + 0x100], 1
mov qword [rsp + 0x108], 0
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], 0
mov rcx, r12
mov rdx, r15
call fcn.00518ce0
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x54ba35
mov rdx, qword [rsp + 0xa0]
imul r9, rdx, 0x38
cmp byte [rcx + r9 + 0x180], 2
je 0x54ba35
lea r10, [rcx + r9]
add r10, 0x168
mov rax, qword [rcx + r9 + 0x168]
mov r8, qword [rcx + r9 + 0x170]
mov r13, qword [rcx + r9 + 0x188]
mov r14, qword [rcx + r9 + 0x190]
mov r15, qword [rcx + r9 + 0x198]
shl rdx, 5
mov r9, qword [rcx + rdx]
mov qword [rsp + 0x188], r9
mov r9, qword [rcx + rdx + 8]
mov qword [rsp + 0xf0], r9
mov rsi, qword [rcx + rdx + 0x10]
movzx ecx, byte [rcx + rdx + 0x18]
mov byte [rsp + 0x1c8], cl
mov rcx, qword [r10 + 0x10]
add rcx, r8
xor r11d, r11d
mov rdx, r8
jmp 0x54b6ed
xor r11d, r11d
test r9w, r9w
je 0x54ba84
mov r9w, 1
test r11w, r11w
jne 0x54b6e0
cmp rdx, rcx
je 0x54b7b1
movzx r10d, byte [rdx]
test r10b, r10b
js 0x54b712
inc rdx
jmp 0x54b790
mov r11d, r10d
and r11d, 0x1f
movzx r12d, byte [rdx + 1]
and r12d, 0x3f
cmp r10b, 0xdf
jbe 0x54b75c
movzx edi, byte [rdx + 2]
shl r12d, 6
and edi, 0x3f
or edi, r12d
cmp r10b, 0xf0
jb 0x54b76c
movzx r10d, byte [rdx + 3]
add rdx, 4
and r11d, 7
shl r11d, 0x12
shl edi, 6
and r10d, 0x3f
or r10d, edi
or r10d, r11d
jmp 0x54b77a
add rdx, 2
shl r11d, 6
or r11d, r12d
mov r10d, r11d
jmp 0x54b790
add rdx, 3
shl r11d, 0xc
or edi, r11d
mov r10d, edi
cmp r10d, 0xffff
mov rdi, qword [rsp + 0x60]
ja 0x54b79b
nop dword [rax + rax]
xor r11d, r11d
mov r9d, r10d
jmp 0x54b6e3
and r10d, 0x3ff
or r10d, 0xdc00
mov r11d, r10d
jmp 0x54b6e3
test rax, rax
je 0x54b7cc
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
mov rbp, qword [rsp + 0x80]
mov rax, qword [rsp + 0x70]
sub rax, rbp
cmp rax, r15
jae 0x54b7f1
lea rcx, [rsp + 0x70]
mov rdx, rbp
mov r8, r15
call fcn.00519bf0
mov rbp, qword [rsp + 0x80]
lea r8, [r15 + r15]
mov rcx, rbp
add rcx, rbp
add rcx, qword [rsp + 0x78]
mov rdx, r14
call sub.msvcrt.dll_memcpy
add rbp, r15
mov qword [rsp + 0x80], rbp
test r13, r13
je 0x54b831
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, r14
call fcn.005ab9d4
mov rbp, qword [rsp + 0x80]
cmp rbp, qword [rsp + 0x70]
lea r15, [rsp + 0x108]
lea r12, [rsp + 0x90]
mov r13, qword [rsp + 0xf0]
jne 0x54b86c
lea rcx, [rsp + 0x70]
mov rdx, rbp
mov r14, qword [rsp + 0x58]
call fcn.00519810
mov rbp, qword [rsp + 0x80]
jmp 0x54b871
mov r14, qword [rsp + 0x58]
mov rax, qword [rsp + 0x78]
mov word [rax + rbp*2], 0x3d
inc rbp
mov qword [rsp + 0x80], rbp
add rsi, r13
xor r8d, r8d
mov rax, r13
mov rbp, qword [rsp + 0x188]
jmp 0x54b8ac
xor r8d, r8d
test cx, cx
je 0x54bb5f
mov cx, 1
test r8w, r8w
jne 0x54b8a0
cmp rax, rsi
je 0x54b95e
movzx edx, byte [rax]
test dl, dl
js 0x54b8cb
inc rax
jmp 0x54b92a
mov r8d, edx
and r8d, 0x1f
movzx r10d, byte [rax + 1]
and r10d, 0x3f
cmp dl, 0xdf
jbe 0x54b91c
movzx r9d, byte [rax + 2]
shl r10d, 6
and r9d, 0x3f
or r9d, r10d
cmp dl, 0xf0
jb 0x54b934
movzx edx, byte [rax + 3]
add rax, 4
and r8d, 7
shl r8d, 0x12
shl r9d, 6
and edx, 0x3f
or edx, r9d
or edx, r8d
cmp edx, 0xffff
jbe 0x54b92a
jmp 0x54b94a
add rax, 2
shl r8d, 6
or r8d, r10d
mov edx, r8d
xor r8d, r8d
mov ecx, edx
jmp 0x54b8a3
add rax, 3
shl r8d, 0xc
or r9d, r8d
mov edx, r9d
cmp edx, 0xffff
jbe 0x54b92a
and edx, 0x3ff
or edx, 0xdc00
mov r8d, edx
jmp 0x54b8a3
cmp byte [rsp + 0x1c8], 2
je 0x54c8d0
mov qword [rsp + 0x1d0], rsi
mov qword [rsp + 0x1d8], r13
mov word [rsp + 0x1e0], 0
lea rcx, [rsp + 0x70]
lea rdx, [rsp + 0x1d0]
call fcn.00545dd0
test rbp, rbp
je 0x54b9ae
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, r13
call fcn.005ab9d4
mov rbp, qword [rsp + 0x80]
cmp rbp, qword [rsp + 0x70]
jne 0x54b9d2
lea rcx, [rsp + 0x70]
mov rdx, rbp
call fcn.00519810
mov rbp, qword [rsp + 0x80]
mov rax, qword [rsp + 0x78]
mov word [rax + rbp*2], 0
inc rbp
mov qword [rsp + 0x80], rbp
mov rsi, qword [rsp + 0x140]
test rsi, rsi
jne 0x54b54c
mov rax, qword [rsp + 0x100]
mov rsi, qword [rsp + 0x108]
mov r8, qword [rsp + 0x110]
mov qword [rsp + 0x100], 2
test rax, rax
je 0x54c774
cmp rax, 1
jne 0x54ba35
test r8, r8
jne 0x54c87c
lea rcx, [rsp + 0x100]
call fcn.00537590
mov r15, qword [rsp + 0x180]
mov rax, qword [rsp + 0x70]
mov rdx, qword [rsp + 0x80]
cmp rdx, rax
jne 0x54bbae
lea rcx, [rsp + 0x70]
call fcn.00519810
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x188], rax
mov rdx, qword [rsp + 0x80]
jmp 0x54bbb6
test rax, rax
je 0x54ba97
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
cmp qword [rsp + 0x188], 0
je 0x54bab8
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, qword [rsp + 0xf0]
call fcn.005ab9d4
lea rsi, str.nul_byte_found_in_provided_data
test r13, r13
je 0x54bad5
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, r14
call fcn.005ab9d4
mov r14, qword [rsp + 0x58]
lea rcx, [rsp + 0x100]
call fcn.00537590
cmp qword [rsp + 0x70], 0
je 0x54bb02
mov r8, qword [rsp + 0x78]
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
mov rax, qword [rsp + 0x178]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
jmp 0x54bf89
xor edi, edi
jmp 0x54aa64
cmp rbx, 0x10
jae 0x54bb85
test rbx, rbx
je 0x54c057
dec rbx
xor ecx, ecx
nop word cs:[rax + rax]
cmp byte [r14 + rcx], 0x2e
sete al
je 0x54c059
lea rdx, [rcx + 1]
cmp rbx, rcx
mov rcx, rdx
jne 0x54bb40
jmp 0x54c059
lea rsi, str.nul_byte_found_in_provided_data
test rbp, rbp
je 0x54bada
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, r13
call fcn.005ab9d4
jmp 0x54bada
mov cl, 0x2e
mov rdx, r14
mov r8, rbx
call fcn.00428e20
cmp rax, 1
sete al
jmp 0x54c059
mov rax, qword [rsp + 0x178]
mov qword [rax], rdi
jmp 0x54ae9d
mov qword [rsp + 0x188], rax
mov r13, qword [rsp + 0x78]
mov word [r13 + rdx*2], 0
mov rax, r13
mov qword [rsp + 0x260], r13
cmp byte [r15 + 0x18], 2
je 0x54b009
mov rax, qword [r15 + 8]
mov rcx, qword [r15 + 0x10]
add rcx, rax
xor r10d, r10d
mov rdx, rax
jmp 0x54bbfd
xor r10d, r10d
test r8w, r8w
je 0x54bcb8
mov r8w, 1
test r10w, r10w
jne 0x54bbf0
cmp rdx, rcx
je 0x54bcd7
movzx r9d, byte [rdx]
test r9b, r9b
js 0x54bc1f
inc rdx
jmp 0x54bc80
mov r10d, r9d
and r10d, 0x1f
movzx esi, byte [rdx + 1]
and esi, 0x3f
cmp r9b, 0xdf
jbe 0x54bc72
movzx r11d, byte [rdx + 2]
shl esi, 6
and r11d, 0x3f
or r11d, esi
cmp r9b, 0xf0
jb 0x54bc8b
movzx r9d, byte [rdx + 3]
add rdx, 4
and r10d, 7
shl r10d, 0x12
shl r11d, 6
and r9d, 0x3f
or r9d, r11d
or r9d, r10d
cmp r9d, 0xffff
jbe 0x54bc80
jmp 0x54bca2
add rdx, 2
shl r10d, 6
or r10d, esi
mov r9d, r10d
xor r10d, r10d
mov r8d, r9d
jmp 0x54bbf3
add rdx, 3
shl r10d, 0xc
or r11d, r10d
mov r9d, r11d
cmp r9d, 0xffff
jbe 0x54bc80
and r9d, 0x3ff
or r9d, 0xdc00
mov r10d, r9d
jmp 0x54bbf3
lea rax, str.nul_byte_found_in_provided_data
mov rcx, qword [rsp + 0x178]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
jmp 0x54bf6d
mov qword [rsp + 0x100], rcx
mov qword [rsp + 0x108], rax
mov word [rsp + 0x110], 0
lea rcx, [rsp + 0x90]
lea rdx, [rsp + 0x100]
call fcn.005463c0
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xa0]
cmp rdx, rcx
jne 0x54bd38
lea rcx, [rsp + 0x90]
call fcn.00519810
mov rcx, qword [rsp + 0x90]
mov rdx, qword [rsp + 0xa0]
mov rbp, qword [rsp + 0x98]
mov word [rbp + rdx*2], 0
mov qword [rsp + 0x230], rbp
mov qword [rsp + 0x1c8], rcx
xorps xmm0, xmm0
movaps xmmword [rsp + 0x70], xmm0
mov qword [rsp + 0x80], 0
lea rsi, [0x00677430]
mov rcx, rsi
call sub.KERNEL32.dll_AcquireSRWLockExclusive
mov rax, qword [0x00677488]
shl rax, 1
test rax, rax
mov qword [rsp + 0xf0], r13
je 0x54bda0
call fcn.005241c0
mov r12d, eax
xor r12b, 1
jmp 0x54bda3
xor r12d, r12d
movzx r13d, byte [0x00677438]
xor eax, eax
test r13b, r13b
setne al
mov qword [rsp + 0x1d8], rsi
mov byte [rsp + 0x1e0], r12b
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0x90], 0
mov qword [rsp + 0xa0], 0
mov qword [rsp + 0xb0], 0
mov rax, qword [r15 + 0x60]
mov rdx, qword [r15 + 0x68]
cmp rax, 5
mov rdi, qword [r15 + 0x70]
mov rsi, qword [r15 + 0x80]
mov ecx, 1
cmovne rcx, rax
lea r9, [rsp + 0x90]
mov r8d, 0xfffffff6
call fcn.0054d040
mov r15, rdx
test rax, rax
je 0x54bec5
mov rax, qword [rsp + 0x178]
mov qword [rax], r15
mov qword [rax + 0x10], 2
mov rdi, qword [rsp + 0x60]
cmp qword [rsp + 0x90], 0
je 0x54be5e
mov rcx, qword [rsp + 0x98]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0xa0], 0
je 0x54be76
mov rcx, qword [rsp + 0xa8]
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0xb0], 0
je 0x54be8e
mov rcx, qword [rsp + 0xb8]
call sub.KERNEL32.dll_CloseHandle
movabs rax, 0x7fffffffffffffff
test r13b, r13b
je 0x54bf17
test r12b, r12b
mov r13, qword [rsp + 0xf0]
jne 0x54bf40
mov rcx, qword [0x00677488]
test rcx, rax
je 0x54bf40
call fcn.005241c0
jmp 0x54bf35
lea r9, [rsp + 0xa0]
cmp rdi, 5
mov ecx, 2
cmovne rcx, rdi
mov rax, qword [rsp + 0x180]
mov rdx, qword [rax + 0x78]
mov r8d, 0xfffffff5
call fcn.0054d040
test rax, rax
mov rdi, qword [rsp + 0x60]
je 0x54bfd8
mov rax, qword [rsp + 0x178]
mov qword [rax], rdx
mov qword [rax + 0x10], 2
jmp 0x54c03b
test r12b, r12b
mov r13, qword [rsp + 0xf0]
jne 0x54bf40
mov rcx, qword [0x00677488]
test rcx, rax
je 0x54bf40
call fcn.005241c0
test al, al
jne 0x54bf40
mov byte [0x00677438], 1
lea rcx, [0x00677430]
call fcn.005ab924
cmp qword [rsp + 0x1c8], 0
je 0x54bf6d
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, qword [rsp + 0x230]
call fcn.005ab9d4
cmp qword [rsp + 0x188], 0
je 0x54bf89
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, r13
call fcn.005ab9d4
cmp qword [rsp + 0x1a8], 0
je 0x54bfaa
mov r8, qword [rsp + 0x1b0]
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
test rdi, rdi
je 0x54bfc2
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, qword [rsp + 0x68]
call fcn.005ab9d4
mov sil, 1
cmp byte [rsp + 0xf8], 0
je 0x54aea7
jmp 0x54af3f
mov qword [rsp + 0x1c0], rdx
lea r9, [rsp + 0xb0]
cmp rsi, 5
mov ecx, 2
cmovne rcx, rsi
mov rax, qword [rsp + 0x180]
mov rdx, qword [rax + 0x88]
mov r8d, 0xfffffff4
call fcn.0054d040
mov rsi, rdx
test rax, rax
je 0x54c563
mov rax, qword [rsp + 0x178]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
mov rcx, qword [rsp + 0x1c0]
call sub.KERNEL32.dll_CloseHandle
mov rcx, r15
call sub.KERNEL32.dll_CloseHandle
cmp qword [rsp + 0x90], 0
jne 0x54be51
jmp 0x54be5e
xor eax, eax
mov byte [rsp + 0x1a8], al
test rdi, rdi
je 0x54c1d7
add rsi, rdi
mov qword [rsp + 0x1d0], rsi
mov qword [rsp + 0x1d8], rdi
mov word [rsp + 0x1e0], 0
mov byte [rsp + 0x1e8], 1
lea r12, [rsp + 0xa9]
lea r15, [rsp + 0x119]
lea rsi, [rsp + 0x100]
lea rbx, [rsp + 0x1d0]
lea r14, [rsp + 0x90]
jmp 0x54c0d1
mov rdi, qword [rsp + 0x108]
test rdi, rdi
jne 0x54c381
mov rcx, rsi
mov rdx, rbx
call fcn.0053ce50
movzx eax, byte [rsp + 0x118]
cmp al, 2
je 0x54c1cf
mov rcx, qword [rsp + 0x100]
mov r8, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x110]
test rdx, rdx
je 0x54c1b3
mov r9d, dword [r15]
mov r10d, dword [r15 + 3]
mov dword [r12 + 3], r10d
mov dword [r12], r9d
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], r8
mov qword [rsp + 0xa0], rdx
mov byte [rsp + 0xa8], al
mov rdx, qword [rsp + 0x190]
mov r8, qword [rsp + 0x198]
mov rcx, r14
call fcn.00522aa0
cmp byte [rsp + 0x1a8], 0
jne 0x54c173
mov r8d, 3
mov rcx, r14
lea rdx, str.exeNULcmd.exe__
call fcn.00523cb0
mov rdi, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
mov rcx, rsi
mov rdx, rdi
call fcn.0054ce80
cmp qword [rsp + 0x90], 0
je 0x54c0c0
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, rdi
call fcn.005ab9d4
jmp 0x54c0c0
test rcx, rcx
je 0x54c0d1
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
jmp 0x54c0d1
mov r15, qword [rsp + 0x180]
lea rcx, [rsp + 0x90]
call fcn.005410f0
cmp byte [rsp + 0xa8], 2
jne 0x54c200
lea rcx, [rsp + 0x90]
call fcn.0052bd90
jmp 0x54c2f8
mov rdi, qword [rsp + 0x90]
mov rsi, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
mov rcx, rsi
mov rdx, rbx
call fcn.005239f0
cmp rbx, rdx
cmovb rdx, rbx
test rax, rax
cmove rdx, rbx
mov qword [rsp + 0x100], rdi
mov qword [rsp + 0x108], rsi
mov qword [rsp + 0x110], rdx
mov rax, qword [rsp + 0xa8]
mov qword [rsp + 0x118], rax
mov rdx, qword [rsp + 0x190]
mov r8, qword [rsp + 0x198]
lea rcx, [rsp + 0x100]
call fcn.00522aa0
cmp byte [rsp + 0x1a8], 0
jne 0x54c29a
lea rdx, str.exeNULcmd.exe__
lea rcx, [rsp + 0x100]
mov r8d, 3
call fcn.00523cb0
mov rsi, qword [rsp + 0x108]
mov r8, qword [rsp + 0x110]
lea rcx, [rsp + 0x1d0]
mov rdx, rsi
call fcn.0054ce80
cmp qword [rsp + 0x100], 0
je 0x54c2d6
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, rsi
call fcn.005ab9d4
mov rdi, qword [rsp + 0x1d8]
test rdi, rdi
je 0x54c2f8
mov rsi, qword [rsp + 0x1d0]
mov rbx, qword [rsp + 0x1e0]
jmp 0x54c399
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x1a8]
call fcn.0053ff70
cmp qword [rsp + 0x100], 0
jne 0x54c32d
mov rdi, qword [rsp + 0x110]
test rdi, rdi
jne 0x54c36f
lea rcx, [rsp + 0x100]
call fcn.0054cf80
lea rcx, [rsp + 0x100]
lea rdx, [rsp + 0x190]
lea r8, [rsp + 0x1a8]
call fcn.00540810
cmp qword [rsp + 0x100], 0
jne 0x54c3b6
mov rdi, qword [rsp + 0x110]
test rdi, rdi
je 0x54c3b6
mov rsi, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x118]
jmp 0x54c399
mov rsi, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x110]
mov r15, qword [rsp + 0x180]
mov qword [rsp + 0x1d0], rsi
mov qword [rsp + 0x1d8], rdi
mov qword [rsp + 0x1e0], rbx
jmp 0x54ab24
lea rcx, [rsp + 0x100]
call fcn.0054cf80
lea rdx, str.PATHprogram_path_has_no_file_name
lea rcx, [rsp + 0x70]
mov r8d, 4
call fcn.0053c900
cmp byte [rsp + 0x88], 2
je 0x54c7cc
mov rax, qword [rsp + 0x70]
mov qword [rsp + 0x60], rax
mov rcx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x80]
add rax, rcx
mov qword [rsp + 0x1d0], rax
mov qword [rsp + 0xf8], rcx
mov qword [rsp + 0x1d8], rcx
mov word [rsp + 0x1e0], 0
mov byte [rsp + 0x1e8], 1
lea rbx, [rsp + 0xa9]
lea r14, [rsp + 0x119]
lea rsi, [rsp + 0x100]
lea r15, [rsp + 0x1d0]
lea r12, [rsp + 0x90]
jmp 0x54c467
mov rdi, qword [rsp + 0x108]
test rdi, rdi
jne 0x54c805
mov rcx, rsi
mov rdx, r15
call fcn.0053ce50
movzx eax, byte [rsp + 0x118]
cmp al, 2
je 0x54c7a6
mov rcx, qword [rsp + 0x100]
mov r8, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x110]
test rdx, rdx
je 0x54c547
mov r9d, dword [r14]
mov r10d, dword [r14 + 3]
mov dword [rbx + 3], r10d
mov dword [rbx], r9d
mov qword [rsp + 0x90], rcx
mov qword [rsp + 0x98], r8
mov qword [rsp + 0xa0], rdx
mov byte [rsp + 0xa8], al
mov rdx, qword [rsp + 0x190]
mov r8, qword [rsp + 0x198]
mov rcx, r12
call fcn.00522aa0
cmp byte [rsp + 0x1a8], 0
jne 0x54c507
mov r8d, 3
mov rcx, r12
lea rdx, str.exeNULcmd.exe__
call fcn.00523cb0
mov rdi, qword [rsp + 0x98]
mov r8, qword [rsp + 0xa0]
mov rcx, rsi
mov rdx, rdi
call fcn.0054ce80
cmp qword [rsp + 0x90], 0
je 0x54c456
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, rdi
call fcn.005ab9d4
jmp 0x54c456
test rcx, rcx
je 0x54c467
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
jmp 0x54c467
xorps xmm0, xmm0
movups xmmword [rsp + 0x134], xmm0
movups xmmword [rsp + 0x128], xmm0
movups xmmword [rsp + 0x118], xmm0
movups xmmword [rsp + 0x108], xmm0
movups xmmword [rsp + 0x148], xmm0
movups xmmword [rsp + 0x158], xmm0
mov dword [rsp + 0x100], 0x68
test rsi, rsi
mov rax, qword [rsp + 0x1c0]
jne 0x54c5b8
test rax, rax
jne 0x54c5b8
test r15, r15
je 0x54c5db
mov dword [rsp + 0x13c], 0x100
mov qword [rsp + 0x150], r15
mov qword [rsp + 0x158], rax
mov qword [rsp + 0x160], rsi
mov rdx, qword [rsp + 0x1b0]
lea rax, [rsp + 0x70]
mov qword [rsp + 0x48], rax
lea rax, [rsp + 0x100]
mov qword [rsp + 0x40], rax
mov qword [rsp + 0x38], rbp
mov rax, qword [rsp + 0x260]
mov qword [rsp + 0x30], rax
mov eax, dword [rsp + 0x238]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x20], 1
mov rcx, qword [rsp + 0x68]
xor r8d, r8d
xor r9d, r9d
call sub.KERNEL32.dll_CreateProcessW
test eax, eax
je 0x54c7d8
movups xmm0, xmmword [rsp + 0x90]
movups xmm1, xmmword [rsp + 0xa0]
movups xmm2, xmmword [rsp + 0xb0]
mov rax, qword [rsp + 0x178]
movups xmmword [rax + 0x30], xmm2
movups xmmword [rax + 0x20], xmm1
movups xmmword [rax + 0x10], xmm0
movaps xmm0, xmmword [rsp + 0x70]
movups xmmword [rax], xmm0
mov rcx, rsi
call sub.KERNEL32.dll_CloseHandle
mov rcx, qword [rsp + 0x1c0]
call sub.KERNEL32.dll_CloseHandle
mov rcx, r15
call sub.KERNEL32.dll_CloseHandle
lea rcx, [rsp + 0x1d0]
mov r13, qword [rsp + 0xf0]
call fcn.0054d7a0
cmp qword [rsp + 0x1c8], 0
je 0x54c6be
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, qword [rsp + 0x230]
call fcn.005ab9d4
cmp qword [rsp + 0x188], 0
je 0x54c6da
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, r13
call fcn.005ab9d4
cmp qword [rsp + 0x1a8], 0
je 0x54c6fb
mov r8, qword [rsp + 0x1b0]
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
test rdi, rdi
je 0x54c713
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, qword [rsp + 0x68]
call fcn.005ab9d4
test r14, r14
sete al
mov ecx, dword [rsp + 0xf8]
or cl, al
jne 0x54af3f
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, rbx
call fcn.005ab9d4
jmp 0x54af3f
mov rax, qword [rsp + 0x178]
mov qword [rax], rsi
mov qword [rax + 0x10], 2
test rdi, rdi
je 0x54aea5
mov rcx, qword [0x00677420]
xor esi, esi
xor edx, edx
mov r8, qword [rsp + 0x68]
call fcn.005ab9d4
jmp 0x54aea7
test rsi, rsi
je 0x54c79f
mov rcx, rsi
mov rax, rsi
and rcx, 7
je 0x54c795
and rax, 0xfffffffffffffff8
mov r8, qword [r8 + 0x3d8]
dec rcx
jne 0x54c789
cmp rsi, 8
jae 0x54c83c
xor esi, esi
jmp 0x54c87c
cmp qword [rsp + 0x60], 0
mov r15, qword [rsp + 0x180]
je 0x54c7cc
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, qword [rsp + 0xf8]
call fcn.005ab9d4
lea rax, [0x005ef5d0]
jmp 0x54ab10
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov rcx, qword [rsp + 0x178]
mov qword [rcx], rax
mov qword [rcx + 0x10], 2
mov rcx, rsi
call sub.KERNEL32.dll_CloseHandle
jmp 0x54c02e
mov rsi, qword [rsp + 0x100]
mov rbx, qword [rsp + 0x110]
cmp qword [rsp + 0x60], 0
je 0x54c391
mov rcx, qword [0x00677420]
xor edx, edx
mov r8, qword [rsp + 0xf8]
call fcn.005ab9d4
jmp 0x54c391
xor esi, esi
mov rcx, qword [r8 + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov rcx, qword [rcx + 0x3d8]
mov r8, qword [rcx + 0x3d8]
add rax, 0xfffffffffffffff8
jne 0x54c83e
mov r15d, 0x3d8
mov r12d, 8
jmp 0x54c8ac
mov rcx, qword [0x00677420]
xor edx, edx
call fcn.005ab9d4
inc rsi
mov r8, rdi
test rdi, rdi
mov rdi, qword [rsp + 0x60]
je 0x54ba35
mov rdi, qword [r8 + 0x160]
test rsi, rsi
mov eax, 0x438
cmove rax, r15
test rax, rax
je 0x54c898
cmp r12d, 0x11
jb 0x54c88a
mov r8, qword [r8 - 8]
jmp 0x54c88a
mov rsi, rbp
jmp 0x54bada
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, str._repos_rust_1.70.0_library_alloc_src_collections_btree_navigate.rs
mov edx, 0x2b
call fcn.00426370
jmp 0x54ca37
mov edx, 1
mov rcx, rsi
call fcn.00417bf0
jmp 0x54ca37
call fcn.00417400
jmp 0x54ca37
mov edx, 1
mov rcx, rsi
call fcn.00417bf0
jmp 0x54ca37
call fcn.00417400
jmp 0x54ca37
mov rcx, rdi
mov rdx, rbx
call fcn.00417bf0
jmp 0x54ca37
call fcn.00417400
jmp 0x54ca37
mov edx, 0x21
lea rax, [0x005efb15]
mov qword [rsp + 0x238], rax
lea rax, [0x005efb38]
mov qword [rsp + 0xf0], rax
jmp 0x54c971
mov edx, 0x2b
mov rcx, qword [rsp + 0x238]
mov r8, qword [rsp + 0xf0]
call fcn.00426370
jmp 0x54ca37
call sub.KERNEL32.dll_GetLastError
shl rax, 0x20
or rax, 2
mov qword [rsp + 0x1d0], rax
lea rax, [rsp + 0x1d0]
mov qword [rsp + 0x90], rax
lea rax, [fcn.0053ecd0]
mov qword [rsp + 0x98], rax
lea rax, str.failure_getting_env_string_from_OS:_library_std_src_sys_windows_path.rs
mov qword [rsp + 0x110], rax
mov qword [rsp + 0x118], 1
mov qword [rsp + 0x100], 0
lea rax, [rsp + 0x90]
mov qword [rsp + 0x120], rax
mov qword [rsp + 0x128], 1
lea rdx, str.library_std_src_sys_windows_os.rs
lea rcx, [rsp + 0x100]
call fcn.00426330
jmp 0x54ca37
call fcn.00417400
jmp 0x54ca37
lea rcx, str.called__Option::unwrap____on_a__None__valuecalled__Result::unwrap____on_an__Err__value
lea r8, str._repos_rust_1.70.0_library_alloc_src_collections_btree_navigate.rs
mov edx, 0x2b
call fcn.00426370
ud2