Function at 0x4185c0
Capabilities:
Delete file
Get common file path
Get file attributes

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x4b0
mov eax, dword [0x4ef418]
xor eax, ebp
mov dword [esp + 0x4a8], eax
mov eax, 0x208
xor ecx, ecx
lea edi, [esp + 0x2a0]
push eax
mov ebx, 0x208
push ecx
push edi
call fcn.00463600
add esp, 0xc
mov eax, 0x103
push edi
push eax
call dword [sym.imp.KERNEL32.dll_GetTempPathW]
lea esi, [esp + 0x98]
push ebx
xor eax, eax
push eax
xor ebx, ebx
push esi
call fcn.00463600
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push esi
push eax
push 0x4d8548
push edi
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
call fcn.00416870
mov edi, eax
mov ecx, eax
call fcn.004b0470
mov dword [edi + 0x2468], 1
lea esi, [edi + 0x5d530]
push 0x1048
push ebx
push esi
call fcn.00463600
add esp, 0xc
mov ebx, 0x4d820e
push 0x4f5362
push ebx
push 0x823
push esi
call fcn.00491140
add esp, 0x10
mov dword [edi + 0x26a8], 0x2710
lea esi, [edi + 0x5d120]
mov eax, 0x208
push eax
xor eax, eax
push eax
push esi
call fcn.00463600
add esp, 0xc
lea eax, [esp + 0x98]
push eax
push ebx
mov eax, 0x103
push eax
push esi
call fcn.004911a0
add esp, 0x10
mov ecx, edi
call fcn.004b0280
mov ecx, edi
push 0x2ee0
call fcn.004b0660
xor ebx, ebx
dec ebx
lea edi, [esp + 0x8c]
mov dword [edi], ebx
mov dword [edi + 4], ebx
mov dword [edi + 8], ebx
lea esi, [esp + 0x98]
push esi
call fcn.0047e4dc
add esp, 4
mov ecx, edi
push eax
push esi
call fcn.0044c930
cmp byte [edi + 0xb], 0
jns 0x4186fd
mov edi, dword [esp + 0x8c]
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, ebx
mov esi, 0
je 0x418765
pxor xmm0, xmm0
lea edi, [esp + 0x80]
movq qword [edi], xmm0
mov dword [edi + 8], 0
lea eax, [esp + 0x8c]
xor esi, esi
push edi
push eax
call fcn.00419db0
add esp, 8
test al, al
jne 0x4187cd
lea eax, [esp + 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp byte [esp + 0x8b], 0
jns 0x418765
push dword [esp + 0x80]
call fcn.00459b3c
add esp, 4
lea ecx, [esp + 0x8c]
call fcn.00430340
mov ecx, dword [esp + 0x4a8]
xor ecx, ebp
call fcn.0045bb2d
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
xor esi, esi
cmp byte [esp + 0x43], 0
jns 0x41879e
push dword [esp + 0x38]
call fcn.00459b3c
add esp, 4
cmp byte [esp + 0x53], 0
jns 0x4187b1
push dword [esp + 0x48]
call fcn.00459b3c
add esp, 4
cmp byte [esp + 0x70], 0
je 0x41873e
lea ecx, [esp + 0x60]
call fcn.0044ab70
jmp 0x41873e
xor esi, esi
jmp 0x41873e
pcmpeqd xmm0, xmm0
movdqa xmmword [esp + 0x60], xmm0
mov dword [esp + 0x70], 0xffffffff
movzx eax, byte [esp + 0x8b]
test al, al
cmovs eax, dword [esp + 0x84]
cmovs edi, dword [esp + 0x80]
test eax, eax
js 0x418a03
je 0x41880b
test edi, edi
je 0x4189fc
lea esi, [esp + 0x60]
push 0xc8
push 1
push eax
push edi
push esi
call fcn.004b7240
add esp, 0x14
cmp byte [esi + 0x10], 0
je 0x4187c6
lea ecx, [esp + 0x60]
call fcn.0042e1e0
xor esi, esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], esi
test eax, eax
je 0x4187b1
mov edi, eax
xor eax, eax
lea ebx, [esp + 0x48]
mov dword [ebx + 8], eax
pxor xmm0, xmm0
movq qword [ebx], xmm0
lea esi, [esp + 0x38]
mov dword [esi + 8], eax
movq qword [esi], xmm0
mov ecx, edi
push ebx
push 6
push str.dumpid
call fcn.0042e440
mov ecx, edi
push esi
push 7
push str.sverify
call fcn.0042e440
movzx eax, byte [ebx + 0xb]
test al, al
jns 0x41888e
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
test eax, eax
js 0x418a03
je 0x4188a0
test ebx, ebx
je 0x4189fc
lea edi, [esp + 0x58]
push edi
push eax
push ebx
call fcn.0042f300
add esp, 0xc
mov eax, dword [edi]
or eax, dword [edi + 4]
je 0x418789
lea edi, [esp + 0xc]
push 0xe
push str.new.se6.360.cn
push edi
call fcn.0044c130
add esp, 0xc
lea eax, [esp + 0x48]
movzx edx, byte [eax + 0xb]
test dl, dl
cmovs edx, dword [eax + 4]
cmovs eax, dword [eax]
xor ebx, ebx
mov ecx, edi
push edx
push eax
push ebx
call fcn.004299e0
movq xmm0, qword [eax]
lea ecx, [esp + 0x18]
movq qword [ecx], xmm0
mov edx, dword [eax + 8]
mov dword [ecx + 8], edx
mov dword [eax + 8], ebx
pxor xmm0, xmm0
movq qword [eax], xmm0
movzx eax, byte [ecx + 0xb]
test al, al
cmovs eax, dword [ecx + 4]
cmovs ecx, dword [ecx]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], eax
test eax, eax
js 0x418a03
je 0x41892f
test ecx, ecx
je 0x4189fc
lea eax, [esp + 0x24]
lea edi, [esp + 0x2c]
push eax
push edi
call fcn.004ae120
add esp, 8
movzx eax, byte [edi + 0xb]
test al, al
mov ecx, dword [edi + 4]
mov edi, eax
cmovs edi, ecx
movzx edx, byte [esp + 0x43]
mov ebx, edx
test dl, dl
jns 0x41895e
mov ebx, dword [esp + 0x3c]
cmp edi, ebx
jne 0x41899f
test dl, dl
jns 0x41896a
mov esi, dword [esp + 0x38]
test al, al
js 0x41898a
test eax, eax
je 0x418986
xor ecx, ecx
mov dl, byte [esp + ecx + 0x2c]
cmp dl, byte [esi + ecx]
jne 0x41899f
inc ecx
cmp eax, ecx
jne 0x418974
mov bl, 1
jmp 0x4189a1
mov bl, 1
jmp 0x4189b1
push ecx
push esi
push dword [esp + 0x34]
call fcn.004619fd
add esp, 0xc
test eax, eax
sete bl
jmp 0x4189a5
xor ebx, ebx
test al, al
jns 0x4189b1
push dword [esp + 0x2c]
call fcn.00459b3c
add esp, 4
cmp byte [esp + 0x23], 0
jns 0x4189c4
push dword [esp + 0x18]
call fcn.00459b3c
add esp, 4
cmp byte [esp + 0x17], 0
jns 0x4189d7
push dword [esp + 0xc]
call fcn.00459b3c
add esp, 4
xor esi, esi
test bl, bl
je 0x41878b
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [0x4f008c], ecx
mov dword [0x4f0088], eax
xor esi, esi
inc esi
jmp 0x41878b
push str....._third_partylibc_srcinclude_string_view:313:_assertion___len__0____s___nullptr_failed:_string_view::string_view__CharT___size_t_:_received_nullptr_n
jmp 0x418a08
push str....._third_partylibc_srcinclude_string_view:311:_assertion___len___static_cast_size_type__numeric_limits_difference_type_::max____failed:_string_view::string_view__CharT___size_t_:_length_does_not_fit_in_difference_type_n
push 0x4d745c
call fcn.00492230
int3