Function at 0x14009e140
Capabilities:
Delete file

Disassembly:
mov rax, rsp
push rbp
push r12
push r13
push r14
push r15
lea rbp, [rax - 0x308]
sub rsp, 0x3e0
mov qword [rbp - 8], 0xfffffffffffffffe
mov qword [rax + 0x10], rbx
mov qword [rax + 0x18], rsi
mov qword [rax + 0x20], rdi
mov rax, qword [0x14029e8b8]
xor rax, rsp
mov qword [rbp + 0x2d0], rax
mov rdi, rcx
mov qword [rbp - 0x10], rcx
xor esi, esi
mov qword [rbp + 0x1d8], rsi
cmp byte [rcx], sil
lea rbx, [rcx + 0xc0]
jne 0x14009e1a2
lea rbx, [rcx + 0x150]
cmp qword [rbx + 0x18], 8
jb 0x14009e1ac
mov rbx, qword [rbx]
call fcn.14000a6a0
mov rcx, rax
test rax, rax
je 0x14009ebc3
mov rax, qword [rax]
call qword [rax + ILCombine]
add rax, 0x18
mov qword [rbp + 0x1d8], rax
mov r12, 0xffffffffffffffff
test rbx, rbx
je 0x14009e20c
cmp rbx, 0x10000
jae 0x14009e1f4
movzx edx, bx
lea rcx, [rbp + 0x1d8]
call fcn.14000cd90
jmp 0x14009e221
mov rax, r12
nop word [rax + rax]
inc rax
cmp word [rbx + rax*2], 0
jne 0x14009e200
jmp 0x14009e20e
mov eax, esi
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x1d8]
call fcn.14000cfe0
nop
mov rax, qword [rbp + 0x1d8]
cmp dword [rax - 0x10], 0
je 0x14009eb5d
mov qword [rbp + 0x1d0], rsi
lea rbx, [rdi + 0x1a0]
cmp qword [rdi + 0x1b8], 8
jb 0x14009e251
mov rbx, qword [rdi + 0x1a0]
call fcn.14000a6a0
mov rcx, rax
test rax, rax
je 0x14009ebce
mov rax, qword [rax]
call qword [rax + ILCombine]
add rax, 0x18
mov qword [rbp + 0x1d0], rax
test rbx, rbx
je 0x14009e2a1
cmp rbx, 0x10000
jae 0x14009e292
movzx edx, bx
lea rcx, [rbp + 0x1d0]
call fcn.14000cd90
jmp 0x14009e2b6
mov rax, r12
inc rax
cmp word [rbx + rax*2], 0
jne 0x14009e295
jmp 0x14009e2a3
mov eax, esi
mov r8d, eax
mov rdx, rbx
lea rcx, [rbp + 0x1d0]
call fcn.14000cfe0
nop
lea rbx, str..tmp
mov rcx, r12
inc rcx
cmp word [rbx + rcx*2], 0
jne 0x14009e2c0
mov rdi, rbx
mov rax, qword [rbp + 0x1d0]
sub rdi, rax
sar rdi, 1
mov r14d, dword [rax - 0x10]
test ecx, ecx
js 0x14009ebd9
movsxd rdx, ecx
mov rcx, rbx
call fcn.1401c1b54
mov r15, rax
mov ecx, 0x7fffffff
sub ecx, eax
cmp ecx, r14d
jl 0x14009ebe4
lea esi, [r14 + rax]
test esi, esi
js 0x14009ebef
mov rax, qword [rbp + 0x1d0]
mov edx, 1
sub edx, dword [rax - 8]
mov ecx, dword [rax - 0xc]
sub ecx, esi
or ecx, edx
jge 0x14009e33d
mov edx, esi
lea rcx, [rbp + 0x1d0]
call fcn.14000cf20
mov rax, qword [rbp + 0x1d0]
cmp rdi, r14
ja 0x14009e346
lea rbx, [rax + rdi*2]
movsxd rdx, r15d
add rdx, rdx
lea rcx, [rax + r14*2]
mov r9, rdx
mov r8, rbx
call fcn.14000e830
mov rax, qword [rbp + 0x1d0]
cmp esi, dword [rax - 0xc]
jg 0x14009ebb8
mov dword [rax - 0x10], esi
movsxd rcx, esi
mov rax, qword [rbp + 0x1d0]
xor ebx, ebx
mov word [rax + rcx*2], bx
mov r13d, ebx
mov rcx, qword [rbp + 0x1d0]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
jne 0x14009e703
call fcn.1400bd640
mov rcx, qword [rax]
mov r8, qword [rcx + 0x10]
mov edx, 1
mov rcx, rax
call r8
cmp al, 1
jne 0x14009e703
mov qword [rbp - 0x80], rbx
mov qword [rbp - 0x78], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rsp + 0x70], 0
mov r8d, 0x3d
lea rdx, str.d:jenkins.jenkinsworkspace_tabx_tabxmainv2userdatamgr.cpp
lea rcx, [rsp + 0x70]
call fcn.14000d6b0
nop
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rsp + 0x50], 0
mov r8d, 3
lea rdx, [0x1401f5428]
lea rcx, [rsp + 0x50]
call fcn.14000d6b0
nop
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rbp]
call fcn.14002d630
nop
lea rdx, [rsp + 0x70]
mov r14, qword [rsp + 0x70]
mov r15, qword [rbp - 0x78]
cmp r15, 0x10
cmovae rdx, r14
mov rsi, qword [rbp - 0x80]
cmp rsi, 1
jb 0x14009e479
lea rax, [rsi - 1]
mov rdi, r12
cmp rax, r12
cmovb rdi, rax
add rdi, rdx
movzx eax, word [0x1401f5248]
cmp byte [rdi], 0x5c
jne 0x14009e46a
cmp byte [rdi], al
jne 0x14009e461
mov ecx, ebx
jmp 0x14009e466
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x14009e474
cmp rdi, rdx
je 0x14009e479
dec rdi
jmp 0x14009e454
sub rdi, rdx
jmp 0x14009e47c
mov rdi, r12
lea rdx, [rsp + 0x70]
cmp r15, 0x10
cmovae rdx, r14
cmp rsi, 1
jb 0x14009e4cc
lea rax, [rsi - 1]
mov rbx, r12
cmp rax, rbx
cmovb rbx, rax
add rbx, rdx
movzx eax, word [0x1401f524c]
cmp byte [rbx], 0x2e
jne 0x14009e4bd
cmp byte [rbx], al
jne 0x14009e4b4
xor ecx, ecx
jmp 0x14009e4b9
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x14009e4c7
cmp rbx, rdx
je 0x14009e4cc
dec rbx
jmp 0x14009e4a7
sub rbx, rdx
jmp 0x14009e4cf
mov rbx, r12
xor edx, edx
lea r8d, [rdx + 0x64]
lea rcx, [rbp + 0x1f0]
call fcn.1401afc90
cmp rbx, 0xffffffffffffffff
je 0x14009e5c4
lea rax, [rbx - 1]
cmp rdi, rax
jae 0x14009e5c4
lea rcx, [rdi + 1]
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rsp + 0x30], 0
cmp rsi, rcx
jb 0x14009ec00
sub rbx, rdi
lea r8, [rbx - 1]
sub rsi, rcx
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rsp + 0x70]
cmp r15, 0x10
cmovae rdx, r14
add rdx, rcx
lea rcx, [rsp + 0x30]
call fcn.14000d6b0
lea r9, [rsp + 0x30]
cmp qword [rsp + 0x48], 0x10
cmovae r9, qword [rsp + 0x30]
mov r8d, 0x411
lea rdx, str.__4d___s_
lea rcx, [rbp + 0x1f0]
call fcn.14000b180
mov rdx, qword [rsp + 0x48]
cmp rdx, 0x10
jb 0x14009e5ae
inc rdx
mov rcx, qword [rsp + 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009e5a9
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ebfa
call fcn.1401606e8
xor ebx, ebx
mov qword [rsp + 0x40], rbx
mov qword [rsp + 0x48], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rsp + 0x30], bl
jmp 0x14009e5df
mov r8d, 0x411
lea rdx, str.__4d_
lea rcx, [rbp + 0x1f0]
call fcn.14000b180
xor ebx, ebx
lea rdx, [rsp + 0x50]
cmp qword [rsp + 0x68], 0x10
cmovae rdx, qword [rsp + 0x50]
lea rcx, [rbp]
call fcn.14000c500
lea rdx, [rbp + 0x1f0]
lea rcx, [rbp]
call fcn.14000c500
nop
lea rdx, str.DeleteFile_:
lea rcx, [rbp]
call fcn.14000c500
mov rax, qword [rbp + 0x1d0]
lea rdx, [0x1401f5238]
test rax, rax
cmovne rdx, rax
lea rcx, [rbp]
call fcn.14000aa40
lea rdx, str._failed__GetLastError_
lea rcx, [rbp]
call fcn.14000c500
call qword [sym.imp.KERNEL32.dll_GetLastError]
mov edx, eax
lea rcx, [rbp]
call fcn.140046790
call fcn.1400bd640
mov r8, qword [rax]
lea rdx, [rbp]
mov rcx, rax
call qword [r8 + 0x38]
nop
lea rcx, [rbp]
call fcn.14000c6a0
nop
mov rdx, qword [rsp + 0x68]
cmp rdx, 0x10
jb 0x14009e6b4
inc rdx
mov rcx, qword [rsp + 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009e6af
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ec06
call fcn.1401606e8
mov qword [rsp + 0x60], rbx
mov qword [rsp + 0x68], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rsp + 0x50], 0
mov rdx, qword [rbp - 0x78]
cmp rdx, 0x10
jb 0x14009e703
inc rdx
mov rcx, qword [rsp + 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009e6fe
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ec0c
call fcn.1401606e8
mov qword [rbp + 0x1e0], rbx
call fcn.14000a6a0
test rax, rax
je 0x14009ebad
mov rdx, qword [rax]
mov rcx, rax
call qword [rdx + ILCombine]
add rax, 0x18
mov qword [rbp + 0x1e0], rax
mov qword [rsp + 0x20], rbx
mov r9d, 0x2710
lea r8, [rbp + 0x1e0]
lea rdx, [rbp + 0x1d0]
lea rcx, [rbp + 0x1d8]
call fcn.1400262a0
test eax, eax
jne 0x14009eabb
call fcn.1400bd640
mov rcx, qword [rax]
mov r8, qword [rcx + 0x10]
mov edx, 1
mov rcx, rax
call r8
cmp al, 1
jne 0x14009ea7a
mov qword [rbp - 0x20], rbx
mov qword [rbp - 0x18], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp - 0x30], 0
mov r8d, 0x3d
lea rdx, str.d:jenkins.jenkinsworkspace_tabx_tabxmainv2userdatamgr.cpp
lea rcx, [rbp - 0x30]
call fcn.14000d6b0
nop
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp - 0x50], 0
mov r8d, 3
lea rdx, [0x1401f5428]
lea rcx, [rbp - 0x50]
call fcn.14000d6b0
nop
mov edx, 2
lea r8d, [rdx - 1]
lea rcx, [rbp + 0xe8]
call fcn.14002d630
nop
lea rdx, [rbp - 0x30]
mov r14, qword [rbp - 0x30]
mov r15, qword [rbp - 0x18]
cmp r15, 0x10
cmovae rdx, r14
mov rsi, qword [rbp - 0x20]
cmp rsi, 1
jb 0x14009e837
lea rax, [rsi - 1]
mov rdi, r12
cmp rax, r12
cmovb rdi, rax
add rdi, rdx
movzx eax, word [0x1401f5248]
cmp byte [rdi], 0x5c
jne 0x14009e828
cmp byte [rdi], al
jne 0x14009e81f
mov ecx, ebx
jmp 0x14009e824
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x14009e832
cmp rdi, rdx
je 0x14009e837
dec rdi
jmp 0x14009e812
sub rdi, rdx
jmp 0x14009e83a
mov rdi, r12
lea rdx, [rbp - 0x30]
cmp r15, 0x10
cmovae rdx, r14
cmp rsi, 1
jb 0x14009e889
lea rax, [rsi - 1]
mov rbx, r12
cmp rax, rbx
cmovb rbx, rax
add rbx, rdx
movzx eax, word [0x1401f524c]
cmp byte [rbx], 0x2e
jne 0x14009e87a
cmp byte [rbx], al
jne 0x14009e871
xor ecx, ecx
jmp 0x14009e876
sbb ecx, ecx
or ecx, 1
test ecx, ecx
je 0x14009e884
cmp rbx, rdx
je 0x14009e889
dec rbx
jmp 0x14009e864
sub rbx, rdx
jmp 0x14009e88c
mov rbx, r12
xor edx, edx
lea r8d, [rdx + 0x64]
lea rcx, [rbp + 0x260]
call fcn.1401afc90
cmp rbx, 0xffffffffffffffff
je 0x14009e974
lea rax, [rbx - 1]
cmp rdi, rax
jae 0x14009e974
lea rcx, [rdi + 1]
mov qword [rbp - 0x60], 0
mov qword [rbp - 0x58], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp - 0x70], 0
cmp rsi, rcx
jb 0x14009ec18
sub rbx, rdi
lea r8, [rbx - 1]
sub rsi, rcx
cmp rsi, r8
cmovb r8, rsi
lea rdx, [rbp - 0x30]
cmp r15, 0x10
cmovae rdx, r14
add rdx, rcx
lea rcx, [rbp - 0x70]
call fcn.14000d6b0
lea r9, [rbp - 0x70]
cmp qword [rbp - 0x58], 0x10
cmovae r9, qword [rbp - 0x70]
mov r8d, 0x41d
lea rdx, str.__4d___s_
lea rcx, [rbp + 0x260]
call fcn.14000b180
mov rdx, qword [rbp - 0x58]
cmp rdx, 0x10
jb 0x14009e961
inc rdx
mov rcx, qword [rbp - 0x70]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009e95c
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ec12
call fcn.1401606e8
xor ebx, ebx
mov qword [rbp - 0x60], rbx
mov qword [rbp - 0x58], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp - 0x70], bl
jmp 0x14009e98f
mov r8d, 0x41d
lea rdx, str.__4d_
lea rcx, [rbp + 0x260]
call fcn.14000b180
xor ebx, ebx
lea rdx, [rbp - 0x50]
cmp qword [rbp - 0x38], 0x10
cmovae rdx, qword [rbp - 0x50]
lea rcx, [rbp + 0xe8]
call fcn.14000c500
lea rdx, [rbp + 0x260]
lea rcx, [rbp + 0xe8]
call fcn.14000c500
nop
lea rdx, str.download_user_logo_pic_fail_one_time.
lea rcx, [rbp + 0xe8]
call fcn.14000c500
call fcn.1400bd640
mov r8, qword [rax]
lea rdx, [rbp + 0xe8]
mov rcx, rax
call qword [r8 + 0x38]
nop
lea rcx, [rbp + 0xe8]
call fcn.14000c6a0
nop
mov rdx, qword [rbp - 0x38]
cmp rdx, 0x10
jb 0x14009ea2f
inc rdx
mov rcx, qword [rbp - 0x50]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009ea2a
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ec1e
call fcn.1401606e8
mov qword [rbp - 0x40], rbx
mov qword [rbp - 0x38], reloc.OLEAUT32.dll_SafeArrayDestroy
mov byte [rbp - 0x50], 0
mov rdx, qword [rbp - 0x18]
cmp rdx, 0x10
jb 0x14009ea7a
inc rdx
mov rcx, qword [rbp - 0x30]
mov rax, rcx
cmp rdx, 0x1000
jb 0x14009ea75
add rdx, 0x27
mov rcx, qword [rcx - 8]
sub rax, rcx
add rax, 0xfffffffffffffff8
cmp rax, 0x1f
ja 0x14009ec24
call fcn.1401606e8
inc r13d
imul ecx, r13d, 0x1f4
call qword [sym.imp.KERNEL32.dll_Sleep]
nop
mov rdx, qword [rbp + 0x1e0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14009eaac
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
cmp r13d, 3
jge 0x14009eb3b
jmp 0x14009e381
mov rbx, qword [rbp - 0x10]
lea rdx, [rbx + 0x1a0]
cmp qword [rdx + 0x18], 8
jb 0x14009ead0
mov rdx, qword [rdx]
mov r9d, 0x23
mov r8d, r9d
mov rcx, qword [rbp + 0x1d0]
call fcn.14009c6f0
lea rdx, [rbx + 0x1c0]
cmp qword [rdx + 0x18], 8
jb 0x14009eaf6
mov rdx, qword [rdx]
mov r9d, ILCombine
mov r8d, r9d
mov rcx, qword [rbp + 0x1d0]
call fcn.14009c6f0
mov rcx, qword [rbp + 0x1d0]
call qword [sym.imp.KERNEL32.dll_DeleteFileW]
nop
mov rdx, qword [rbp + 0x1e0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14009eb3b
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x1d0]
add rdx, 0xffffffffffffffe8
mov eax, r12d
lock xadd dword [rdx + 0x10], eax
sub eax, 1
jg 0x14009eb5d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
nop
mov rdx, qword [rbp + 0x1d8]
add rdx, 0xffffffffffffffe8
lock xadd dword [rdx + 0x10], r12d
sub r12d, 1
jg 0x14009eb7d
mov rcx, qword [rdx]
mov rax, qword [rcx]
call qword [rax + reloc.OLEAUT32.dll_VariantClear]
mov rcx, qword [rbp + 0x2d0]
xor rcx, rsp
call fcn.140160a40
lea r11, [rsp + 0x3e0]
mov rbx, qword [r11 + 0x38]
mov rsi, qword [r11 + 0x40]
mov rdi, qword [r11 + 0x48]
mov rsp, r11
pop r15
pop r14
pop r13
pop r12
pop rbp
ret
mov ecx, 0x80004005
call fcn.14000ca90
nop
mov ecx, 0x80070057
call fcn.14000ca90
nop
mov ecx, 0x80004005
call fcn.14000ca90
nop
mov ecx, 0x80004005
call fcn.14000ca90
nop
mov ecx, 0x80070057
call fcn.14000ca90
int3
mov ecx, 0x80070057
call fcn.14000ca90
int3
mov ecx, 0x80070057
call fcn.14000ca90
nop
call fcn.1401b3260
int3
call fcn.14000d590
nop
call fcn.1401b3260
nop
call fcn.1401b3260
nop
call fcn.1401b3260
int3
call fcn.14000d590
nop
call fcn.1401b3260
nop
call fcn.1401b3260
int3