Function at 0x140058c30
Capabilities:
Delete file
Enumerate files on windows
Move file

Disassembly:
push r15
push r14
push r13
push r12
push rsi
push rdi
push rbp
push rbx
sub rsp, 0x388
movaps xmmword [rsp + 0x370], xmm6
mov rbx, rcx
movzx eax, byte [rcx]
lea rdi, [rcx + 2]
test al, 1
je 0x140058c6b
mov rax, qword [rbx + 8]
mov rcx, qword [rbx + 0x10]
cmp word [rcx + rax*2 - 2], 0x5c
jne 0x140058c79
jmp 0x140058c85
shr rax, 1
mov rcx, rdi
cmp word [rcx + rax*2 - 2], 0x5c
je 0x140058c85
mov rcx, rbx
mov dx, 0x5c
call fcn.140072930
lea rcx, [rsp + 0x100]
mov rdx, rbx
call fcn.1400721d0
lea rdx, [0x1401fe216]
mov rcx, rbx
call fcn.140072e90
test byte [rbx], 1
mov rcx, rdi
je 0x140058cb0
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x120]
call qword [sym.imp.KERNEL32.DLL_FindFirstFileW]
cmp rax, 0xffffffffffffffff
jne 0x140058d3d
movzx ecx, byte [rbx]
test cl, 1
je 0x140058cd2
mov rax, qword [rbx + 8]
jmp 0x140058cd8
mov rax, rcx
shr rax, 1
lea rdx, [rax - 1]
test cl, 1
jne 0x140058cea
add dl, dl
mov byte [rbx], dl
mov rcx, rdi
jmp 0x140058cf2
mov rcx, qword [rbx + 0x10]
mov qword [rbx + 8], rdx
mov word [rcx + rax*2 - 2], 0
test byte [rbx], 1
mov rcx, rdi
je 0x140058d05
mov rcx, qword [rbx + 0x10]
call fcn.14004c5f0
lea rdx, [0x1401fe216]
mov rcx, rbx
call fcn.140072e90
test byte [rbx], 1
mov rcx, rdi
je 0x140058d25
mov rcx, qword [rbx + 0x10]
lea rdx, [rsp + 0x120]
call qword [sym.imp.KERNEL32.DLL_FindFirstFileW]
cmp rax, 0xffffffffffffffff
je 0x140059ca1
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_FindClose]
mov byte [rsp + 0x69], 0
lea rcx, [rsp + 0xd8]
call fcn.14005e7e0
lea rcx, [rsp + 0xd8]
lea rdx, [rsp + 0x60]
mov r8d, 9
call fcn.14005e7f0
lea rcx, [rsp + 0xd8]
call fcn.14005e440
movq xmm0, qword [rsp + 0x60]
movdqa xmm1, xmm0
psrlw xmm1, 1
pand xmm1, xmmword [0x1401fe090]
pxor xmm2, xmm2
movdqa xmm3, xmm1
punpckhbw xmm3, xmm2
movdqa xmm4, xmmword [0x1401fe0a0]
pmullw xmm3, xmm4
psrlw xmm3, 8
punpcklbw xmm1, xmm2
pmullw xmm1, xmm4
psrlw xmm1, 8
packuswb xmm1, xmm3
psrlw xmm1, 4
pand xmm1, xmmword [0x1401fe0b0]
movdqa xmm2, xmm1
punpckhbw xmm2, xmm2
movdqa xmm3, xmmword [0x1401fe0c0]
pmullw xmm2, xmm3
movdqa xmm4, xmmword [0x1401fe0d0]
pand xmm2, xmm4
punpcklbw xmm1, xmm1
pmullw xmm1, xmm3
pand xmm1, xmm4
packuswb xmm1, xmm2
psubb xmm0, xmm1
movdqa xmm1, xmmword [str._n_n_n_n_n_n_n_n]
pmaxub xmm1, xmm0
pcmpeqb xmm1, xmm0
movdqa xmm2, xmmword [str.________]
pmaxub xmm2, xmm0
pcmpeqb xmm2, xmm0
movdqa xmm3, xmmword [0x1401fe100]
pand xmm3, xmm2
pandn xmm2, xmmword [str.77777777]
por xmm2, xmm3
pand xmm2, xmm1
pandn xmm1, xmmword [str.00000000]
por xmm1, xmm2
paddb xmm1, xmm0
movq qword [rsp + 0x60], xmm1
movzx eax, byte [rsp + 0x68]
mov ecx, eax
shr cl, 1
movzx ecx, cl
imul ecx, ecx, 0x85
shr ecx, 0xc
lea edx, [rcx + rcx]
shl ecx, 6
sub ecx, edx
sub al, cl
cmp al, 0x24
mov ecx, 0x37
mov edx, 0x3d
cmovb edx, ecx
cmp al, 0xa
mov ecx, 0x30
cmovae ecx, edx
add cl, al
mov byte [rsp + 0x68], cl
lea rcx, [rsp + 0x60]
call sub.msvcrt.dll_strlen
cmp rax, 0xfffffffffffffff0
jae 0x140059cd4
mov r14, rax
cmp rax, 0x16
ja 0x140058ebf
lea eax, [r14 + r14]
mov byte [rsp + 0x78], al
lea r15, [rsp + 0x79]
jmp 0x140058eed
mov r12, r14
or r12, 0xf
inc r12
mov rcx, r12
call fcn.14006fb50
mov r15, rax
mov qword [rsp + 0x88], rax
or r12, 1
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x80], r14
lea rdx, [rsp + 0x60]
mov rcx, r15
mov r8, r14
call sub.msvcrt.dll_memcpy
mov byte [r15 + r14], 0
movzx esi, byte [rsp + 0x78]
test sil, 1
je 0x140058f1f
mov r14, qword [rsp + 0x88]
mov rsi, qword [rsp + 0x80]
jmp 0x140058f27
lea r14, [rsp + 0x79]
shr rsi, 1
movabs rax, 0x7fffffffffffffef
cmp rsi, rax
ja 0x140059cde
cmp rsi, 0xb
jae 0x140058f5f
lea eax, [rsi + rsi]
mov byte [rsp + 0xa8], al
lea rax, [rsp + 0xaa]
mov rdx, rax
test rsi, rsi
jne 0x140058f94
jmp 0x14005909e
mov r15, rsi
or r15, 7
inc r15
js 0x140059ceb
lea rcx, [r15 + r15]
call fcn.14006fb50
mov qword [rsp + 0xb8], rax
or r15, 1
mov qword [rsp + 0xa8], r15
mov qword [rsp + 0xb0], rsi
lea rcx, [r14 + rsi]
cmp rsi, 0x10
jb 0x140058fb4
cmp rax, rcx
jae 0x140059045
lea rdx, [rax + rsi*2]
cmp r14, rdx
jae 0x140059045
mov rdx, rax
mov r8, r14
mov r9d, ecx
sub r9d, r8d
mov rax, r8
not rax
add rax, rcx
and r9, 7
je 0x140058fe4
nop
movsx r10d, byte [r8]
mov word [rdx], r10w
inc r8
add rdx, 2
dec r9
jne 0x140058fd0
cmp rax, 7
jb 0x14005909e
nop
movsx eax, byte [r8]
mov word [rdx], ax
movsx eax, byte [r8 + 1]
mov word [rdx + 2], ax
movsx eax, byte [r8 + 2]
mov word [rdx + 4], ax
movsx eax, byte [r8 + 3]
mov word [rdx + 6], ax
movsx eax, byte [r8 + 4]
mov word [rdx + 8], ax
movsx eax, byte [r8 + 5]
mov word [rdx + 0xa], ax
movsx eax, byte [r8 + 6]
mov word [rdx + 0xc], ax
movsx eax, byte [r8 + 7]
mov word [rdx + 0xe], ax
add r8, 8
add rdx, 0x10
cmp r8, rcx
jne 0x140058ff0
jmp 0x14005909e
mov r9, rsi
and r9, 0xfffffffffffffff0
lea rdx, [rax + r9*2]
lea r8, [r14 + r9]
xor r10d, r10d
nop word [rax + rax]
movq xmm0, qword [r14 + r10]
punpcklbw xmm0, xmm0
movq xmm1, qword [r14 + r10 + 8]
punpcklbw xmm1, xmm1
psraw xmm0, 8
psraw xmm1, 8
movdqu xmmword [rax + r10*2], xmm0
movdqu xmmword [rax + r10*2 + 0x10], xmm1
add r10, 0x10
cmp r9, r10
jne 0x140059060
cmp rsi, r9
jne 0x140058fba
mov word [rdx], 0
movzx r9d, byte [rsp + 0x100]
test r9b, 1
je 0x1400590c4
mov r8, qword [rsp + 0x110]
mov r9, qword [rsp + 0x108]
jmp 0x1400590cf
shr r9, 1
lea r8, [rsp + 0x102]
lea rcx, [rsp + 0xa8]
xor edx, edx
call fcn.1400723e0
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x50], rcx
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0x40], xmm0
pxor xmm0, xmm0
movdqu xmmword [rax], xmm0
mov qword [rax + 0x10], 0
test byte [rsp + 0xa8], 1
je 0x140059118
mov rcx, qword [rsp + 0xb8]
call fcn.14006fbd0
test byte [rsp + 0x40], 1
lea r14, [rsp + 0x42]
mov rcx, r14
je 0x14005912c
mov rcx, qword [rsp + 0x50]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 4
mov edx, 3
mov r8d, 6
xor r9d, r9d
call qword [sym.imp.KERNEL32.DLL_CreateFileW]
lea rsi, [rax + 1]
cmp rsi, 2
jb 0x140059181
mov rcx, rax
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
test byte [rsp + 0x40], 1
je 0x140059178
mov r14, qword [rsp + 0x50]
mov rcx, r14
call qword [sym.imp.KERNEL32.DLL_DeleteFileW]
test byte [rsp + 0x40], 1
jne 0x14005972a
test byte [rsp + 0x78], 1
jne 0x14005973f
cmp rsi, 1
ja 0x140059756
lea rax, [rsp + 0xd8]
mov qword [rsp + 0xd8], rax
mov qword [rsp + 0xe0], rax
mov qword [rsp + 0xe8], 0
lea rax, [rsp + 0x78]
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x80], rax
mov qword [rsp + 0x88], 0
test byte [rbx], 1
je 0x1400591ec
mov rdi, qword [rbx + 0x10]
mov qword [rsp + 0x118], rsi
lea rdx, [rsp + 0x120]
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_FindFirstFileW]
mov rdi, rax
cmp rax, 0xffffffffffffffff
je 0x140059456
lea rbx, [rsp + 0x14c]
xor eax, eax
mov qword [rsp + 0xf8], rax
lea r14, [rsp + 0x120]
mov rsi, qword [sym.imp.KERNEL32.DLL_FindNextFileW]
mov r12, qword [sym.imp.KERNEL32.DLL_GetLastError]
nop word [rax + rax]
test byte [rsp + 0x120], 0x10
jne 0x140059290
mov rcx, rbx
call sub.msvcrt.dll_wcslen
mov r13, rax
movabs rax, 0x7fffffffffffffef
cmp r13, rax
ja 0x140059cb6
cmp r13, 0xa
ja 0x140059300
lea eax, [r13 + r13]
mov byte [rsp + 0x40], al
lea rbp, [rsp + 0x42]
jmp 0x14005932f
mov rcx, rbx
lea rdx, [0x1401fe21a]
call sub.msvcrt.dll_wcscmp
test eax, eax
je 0x140059420
mov rcx, rbx
lea rdx, [0x1401fe21e]
call sub.msvcrt.dll_wcscmp
test eax, eax
je 0x140059420
mov rcx, rbx
call sub.msvcrt.dll_wcslen
mov r15, rax
movabs rax, 0x7fffffffffffffef
cmp r15, rax
ja 0x140059cc5
cmp r15, 0xa
ja 0x140059396
lea eax, [r15 + r15]
mov byte [rsp + 0x40], al
lea rbp, [rsp + 0x42]
jmp 0x1400593c7
mov r15, r13
or r15, 7
inc r15
js 0x140059cc0
lea rcx, [r15 + r15]
call fcn.14006fb50
mov rbp, rax
mov qword [rsp + 0x50], rax
or r15, 1
mov qword [rsp + 0x40], r15
mov qword [rsp + 0x48], r13
mov r8, r13
add r8, r13
mov rcx, rbp
mov rdx, rbx
call sub.msvcrt.dll_memcpy
mov word [rbp + r13*2], 0
mov ecx, 0x28
call fcn.14006fb50
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x20], rcx
movdqu xmm0, xmmword [rsp + 0x40]
movdqu xmmword [rax + 0x10], xmm0
lea rcx, [rsp + 0xd8]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0xd8]
mov qword [rax], rcx
mov qword [rcx + 8], rax
mov qword [rsp + 0xd8], rax
inc qword [rsp + 0xe8]
jmp 0x140059420
mov r13, r15
or r13, 7
inc r13
js 0x140059ccf
mov rcx, r13
add rcx, r13
call fcn.14006fb50
mov rbp, rax
mov qword [rsp + 0x50], rax
or r13, 1
mov qword [rsp + 0x40], r13
mov qword [rsp + 0x48], r15
mov r8, r15
add r8, r15
mov rcx, rbp
mov rdx, rbx
call sub.msvcrt.dll_memcpy
mov word [rbp + r15*2], 0
mov ecx, 0x28
call fcn.14006fb50
mov rcx, qword [rsp + 0x50]
mov qword [rax + 0x20], rcx
movdqu xmm0, xmmword [rsp + 0x40]
movdqu xmmword [rax + 0x10], xmm0
lea rcx, [rsp + 0x78]
mov qword [rax + 8], rcx
mov rcx, qword [rsp + 0x78]
mov qword [rax], rcx
mov qword [rcx + 8], rax
mov qword [rsp + 0x78], rax
inc qword [rsp + 0x88]
mov rcx, rdi
mov rdx, r14
call rsi
mov ebp, eax
call r12
test ebp, ebp
jne 0x140059240
cmp eax, 5
jne 0x140059456
mov rcx, qword [rsp + 0xf8]
lea eax, [rcx + 1]
cmp ecx, 0x31
mov qword [rsp + 0xf8], rax
jb 0x140059240
mov rcx, rdi
call qword [sym.imp.KERNEL32.DLL_FindClose]
call sub.msvcrt.dll_rand
lea rcx, [rsp + 0x40]
mov edx, eax
call fcn.140073750
mov rbx, qword [rsp + 0xe0]
lea rax, [rsp + 0xd8]
xor esi, esi
cmp rbx, rax
je 0x14005976c
lea rdi, [rsp + 0xa8]
lea r14, [rsp + 0x100]
lea r15, [rsp + 0xc0]
xorps xmm6, xmm6
mov r12, qword [sym.imp.KERNEL32.DLL_MoveFileW]
nop dword [rax]
lea rdx, [rbx + 0x10]
mov rcx, rdi
call fcn.1400721d0
lea rcx, [rsp + 0x60]
mov rdx, r14
mov r8, rdi
call fcn.140030680
test byte [rsp + 0x60], 1
lea r13, [rsp + 0x62]
je 0x1400594dd
mov r13, qword [rsp + 0x70]
mov rcx, r15
mov rdx, r14
mov r8, rdi
call fcn.140030680
movzx r8d, byte [rsp + 0x40]
test r8b, 1
je 0x140059510
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
jmp 0x140059518
shr r8, 1
lea rdx, [rsp + 0x42]
mov rcx, r15
call fcn.140072750
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0xa0], rcx
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0x90], xmm0
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
test byte [rsp + 0x90], 1
lea rdx, [rsp + 0x92]
je 0x14005955e
mov rdx, qword [rsp + 0xa0]
mov rcx, r13
call r12
mov ebp, eax
test byte [rsp + 0x90], 1
jne 0x1400595c0
test byte [rsp + 0xc0], 1
jne 0x1400595d7
test byte [rsp + 0x60], 1
jne 0x1400595eb
test ebp, ebp
je 0x140059600
lea rcx, [rsp + 0x90]
mov rdx, r14
mov r8, rdi
call fcn.140030680
movzx r8d, byte [rsp + 0x40]
test r8b, 1
je 0x140059640
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
jmp 0x140059648
mov rcx, qword [rsp + 0xa0]
call fcn.14006fbd0
test byte [rsp + 0xc0], 1
je 0x14005957a
mov rcx, qword [rsp + 0xd0]
call fcn.14006fbd0
test byte [rsp + 0x60], 1
je 0x140059581
mov rcx, qword [rsp + 0x70]
call fcn.14006fbd0
test ebp, ebp
jne 0x140059585
nop dword [rax]
test byte [rsp + 0xa8], 1
je 0x140059617
mov rcx, qword [rsp + 0xb8]
call fcn.14006fbd0
test ebp, ebp
jne 0x140059b5e
mov rbx, qword [rbx + 8]
lea rax, [rsp + 0xd8]
cmp rbx, rax
jne 0x1400594b0
jmp 0x14005976c
shr r8, 1
lea rdx, [rsp + 0x42]
lea rcx, [rsp + 0x90]
call fcn.140072750
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x70], rcx
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0x60], xmm0
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
movzx esi, byte [rsp + 0x60]
mov r13, qword [rsp + 0x70]
mov rcx, r15
mov rdx, r14
mov r8, rdi
call fcn.140030680
test sil, 1
lea rax, [rsp + 0x62]
cmove r13, rax
test byte [rsp + 0xc0], 1
lea rdx, [rsp + 0xc2]
je 0x1400596b2
mov rdx, qword [rsp + 0xd0]
mov rcx, r13
call r12
test byte [rsp + 0xc0], 1
jne 0x140059700
test byte [rsp + 0x60], 1
jne 0x140059714
test byte [rsp + 0x90], 1
je 0x1400596e0
mov rcx, qword [rsp + 0xa0]
call fcn.14006fbd0
mov sil, 1
test byte [rsp + 0xa8], 1
jne 0x14005960a
jmp 0x140059617
mov rcx, qword [rsp + 0xd0]
call fcn.14006fbd0
test byte [rsp + 0x60], 1
je 0x1400596c9
mov rcx, qword [rsp + 0x70]
call fcn.14006fbd0
test byte [rsp + 0x90], 1
jne 0x1400596d3
jmp 0x1400596e0
mov rcx, qword [rsp + 0x50]
call fcn.14006fbd0
test byte [rsp + 0x78], 1
je 0x140059197
mov rcx, qword [rsp + 0x88]
call fcn.14006fbd0
cmp rsi, 1
jbe 0x1400591a1
mov dil, 1
test byte [rsp + 0x100], 1
jne 0x140059c0a
jmp 0x140059c17
mov rbx, qword [rsp + 0x80]
lea rax, [rsp + 0x78]
cmp rbx, rax
je 0x140059a2a
lea rdi, [rsp + 0xa8]
lea r14, [rsp + 0x100]
lea r15, [rsp + 0xc0]
xorps xmm6, xmm6
mov r12, qword [sym.imp.KERNEL32.DLL_MoveFileW]
nop word cs:[rax + rax]
lea rdx, [rbx + 0x10]
mov rcx, rdi
call fcn.1400721d0
lea rcx, [rsp + 0x60]
mov rdx, r14
mov r8, rdi
call fcn.140030680
test byte [rsp + 0x60], 1
lea r13, [rsp + 0x62]
je 0x1400597dd
mov r13, qword [rsp + 0x70]
mov rcx, r15
mov rdx, r14
mov r8, rdi
call fcn.140030680
movzx r8d, byte [rsp + 0x40]
test r8b, 1
je 0x140059810
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
jmp 0x140059818
shr r8, 1
lea rdx, [rsp + 0x42]
mov rcx, r15
call fcn.140072750
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0xa0], rcx
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0x90], xmm0
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
test byte [rsp + 0x90], 1
lea rdx, [rsp + 0x92]
je 0x14005985e
mov rdx, qword [rsp + 0xa0]
mov rcx, r13
call r12
mov ebp, eax
test byte [rsp + 0x90], 1
jne 0x1400598c0
test byte [rsp + 0xc0], 1
jne 0x1400598d7
test byte [rsp + 0x60], 1
jne 0x1400598eb
test ebp, ebp
je 0x140059900
lea rcx, [rsp + 0x90]
mov rdx, r14
mov r8, rdi
call fcn.140030680
movzx r8d, byte [rsp + 0x40]
test r8b, 1
je 0x140059940
mov rdx, qword [rsp + 0x50]
mov r8, qword [rsp + 0x48]
jmp 0x140059948
mov rcx, qword [rsp + 0xa0]
call fcn.14006fbd0
test byte [rsp + 0xc0], 1
je 0x14005987a
mov rcx, qword [rsp + 0xd0]
call fcn.14006fbd0
test byte [rsp + 0x60], 1
je 0x140059881
mov rcx, qword [rsp + 0x70]
call fcn.14006fbd0
test ebp, ebp
jne 0x140059885
nop dword [rax]
test byte [rsp + 0xa8], 1
je 0x140059917
mov rcx, qword [rsp + 0xb8]
call fcn.14006fbd0
test ebp, ebp
jne 0x140059b5e
mov rbx, qword [rbx + 8]
lea rax, [rsp + 0x78]
cmp rbx, rax
jne 0x1400597b0
jmp 0x140059a2a
shr r8, 1
lea rdx, [rsp + 0x42]
lea rcx, [rsp + 0x90]
call fcn.140072750
mov rcx, qword [rax + 0x10]
mov qword [rsp + 0x70], rcx
movdqu xmm0, xmmword [rax]
movdqa xmmword [rsp + 0x60], xmm0
movups xmmword [rax], xmm6
mov qword [rax + 0x10], 0
movzx esi, byte [rsp + 0x60]
mov r13, qword [rsp + 0x70]
mov rcx, r15
mov rdx, r14
mov r8, rdi
call fcn.140030680
test sil, 1
lea rax, [rsp + 0x62]
cmove r13, rax
test byte [rsp + 0xc0], 1
lea rdx, [rsp + 0xc2]
je 0x1400599b2
mov rdx, qword [rsp + 0xd0]
mov rcx, r13
call r12
test byte [rsp + 0xc0], 1
jne 0x140059a00
test byte [rsp + 0x60], 1
jne 0x140059a14
test byte [rsp + 0x90], 1
je 0x1400599e0
mov rcx, qword [rsp + 0xa0]
call fcn.14006fbd0
mov sil, 1
test byte [rsp + 0xa8], 1
jne 0x14005990a
jmp 0x140059917
mov rcx, qword [rsp + 0xd0]
call fcn.14006fbd0
test byte [rsp + 0x60], 1
je 0x1400599c9
mov rcx, qword [rsp + 0x70]
call fcn.14006fbd0
test byte [rsp + 0x90], 1
jne 0x1400599d3
jmp 0x1400599e0
mov dword [rsp + 0xf8], esi
mov r12, qword [rsp + 0xe0]
lea rax, [rsp + 0xd8]
cmp r12, rax
je 0x140059b2b
xor ebp, ebp
lea rdi, [rsp + 0xa8]
lea rbx, [rsp + 0x60]
lea r14, [rsp + 0x100]
mov rsi, qword [sym.imp.KERNEL32.DLL_CreateFileW]
nop dword [rax + rax]
lea rdx, [r12 + 0x10]
mov rcx, rdi
call fcn.1400721d0
mov rcx, rbx
mov rdx, r14
mov r8, rdi
call fcn.140030680
test byte [rsp + 0x60], 1
lea rcx, [rsp + 0x62]
je 0x140059a9c
mov rcx, qword [rsp + 0x70]
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x28], 0x80
mov dword [rsp + 0x20], 3
mov edx, 3
mov r8d, 6
xor r9d, r9d
call rsi
mov r15, rax
test byte [rsp + 0x60], 1
je 0x140059ad9
mov rcx, qword [rsp + 0x70]
call fcn.14006fbd0
lea r13, [r15 + 1]
cmp r13, 2
jb 0x140059aef
mov bpl, 1
mov rcx, r15
call qword [sym.imp.KERNEL32.DLL_CloseHandle]
test byte [rsp + 0xa8], 1
je 0x140059b06
mov rcx, qword [rsp + 0xb8]
call fcn.14006fbd0
cmp r13, 1
ja 0x140059b5e
mov r12, qword [r12 + 8]
lea rax, [rsp + 0xd8]
cmp r12, rax
jne 0x140059a70
mov dil, 1
test bpl, 1
jne 0x140059b4a
cmp qword [rsp + 0x118], 1
ja 0x140059b5e
mov edi, dword [rsp + 0xf8]
and dil, 1
test byte [rsp + 0x40], 1
je 0x140059b51
jmp 0x140059b68
test byte [rsp + 0x40], 1
jne 0x140059b68
cmp qword [rsp + 0x88], 0
jne 0x140059b7d
jmp 0x140059bb6
mov dil, 1
test byte [rsp + 0x40], 1
je 0x140059b51
mov rcx, qword [rsp + 0x50]
call fcn.14006fbd0
cmp qword [rsp + 0x88], 0
je 0x140059bb6
mov rax, qword [rsp + 0x78]
mov rbx, qword [rsp + 0x80]
mov rcx, qword [rax + 8]
mov rdx, qword [rbx]
mov qword [rdx + 8], rcx
mov rax, qword [rax + 8]
mov qword [rax], rdx
mov qword [rsp + 0x88], 0
lea rax, [rsp + 0x78]
cmp rbx, rax
jne 0x140059c59
cmp qword [rsp + 0xe8], 0
je 0x140059c00
mov rax, qword [rsp + 0xd8]
mov rbx, qword [rsp + 0xe0]
mov rcx, qword [rax + 8]
mov rdx, qword [rbx]
mov qword [rdx + 8], rcx
mov rax, qword [rax + 8]
mov qword [rax], rdx
mov qword [rsp + 0xe8], 0
lea rax, [rsp + 0xd8]
cmp rbx, rax
jne 0x140059c8c
test byte [rsp + 0x100], 1
je 0x140059c17
mov rcx, qword [rsp + 0x110]
call fcn.14006fbd0
mov eax, edi
movaps xmm6, xmmword [rsp + 0x370]
add rsp, 0x388
pop rbx
pop rbp
pop rdi
pop rsi
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, rbx
call fcn.14006fbd0
mov rbx, rsi
lea rax, [rsp + 0x78]
cmp rsi, rax
je 0x140059bb6
mov rsi, qword [rbx + 8]
test byte [rbx + 0x10], 1
je 0x140059c40
mov rcx, qword [rbx + 0x20]
call fcn.14006fbd0
jmp 0x140059c40
mov rcx, rbx
call fcn.14006fbd0
mov rbx, rsi
lea rax, [rsp + 0xd8]
cmp rsi, rax
je 0x140059c00
mov rsi, qword [rbx + 8]
test byte [rbx + 0x10], 1
je 0x140059c70
mov rcx, qword [rbx + 0x20]
call fcn.14006fbd0
jmp 0x140059c70
xor edi, edi
test byte [rsp + 0x100], 1
jne 0x140059c0a
jmp 0x140059c17
lea rcx, [rsp + 0x40]
call fcn.140002ec0
call fcn.140002f60
lea rcx, [rsp + 0x40]
call fcn.140002ec0
call fcn.140002f60
lea rcx, [rsp + 0x78]
call fcn.140030800
lea rcx, [rsp + 0xa8]
call fcn.140002ec0
call fcn.140002f60
jmp 0x140059ef0
mov rcx, rsi
call fcn.14009a110
mov rcx, qword [rsp + 0x88]
call fcn.14006fbd0
test byte [rsp + 0x100], 1
je 0x140059d50
jmp 0x140059f18
mov rsi, rax
lea rcx, [rsp + 0x78]
call fcn.140059f30
lea rcx, [rsp + 0xd8]
call fcn.140059f30
test byte [rsp + 0x100], 1
je 0x140059d50
mov rcx, qword [rsp + 0x110]
call fcn.14006fbd0
mov rcx, rsi
call fcn.14009a110
int3