Function at 0x4185b0
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 [0x4e6418]
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.00460af0
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.00460af0
add esp, 0xc
call dword [sym.imp.KERNEL32.dll_GetTickCount]
push esi
push eax
push 0x4d252a
push edi
call dword [sym.imp.KERNEL32.dll_GetTempFileNameW]
call fcn.00416870
mov edi, eax
mov ecx, eax
call fcn.004abe40
mov dword [edi + 0x2468], 1
lea esi, [edi + 0x5d530]
push 0x1048
push ebx
push esi
call fcn.00460af0
add esp, 0xc
mov ebx, 0x4d21ee
push 0x4ec312
push ebx
push 0x823
push esi
call fcn.0048da50
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.00460af0
add esp, 0xc
lea eax, [esp + 0x98]
push eax
push ebx
mov eax, 0x103
push eax
push esi
call fcn.00419f70
add esp, 0x10
mov ecx, edi
call fcn.004abc50
mov ecx, edi
push 0x2ee0
call fcn.004ac030
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.0047b6dc
add esp, 4
mov ecx, edi
push eax
push esi
call fcn.00447a20
cmp byte [edi + 0xb], 0
jns 0x4186ed
mov edi, dword [esp + 0x8c]
push edi
call dword [sym.imp.KERNEL32.dll_GetFileAttributesW]
cmp eax, ebx
mov esi, 0
je 0x418755
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.00419da0
add esp, 8
test al, al
jne 0x4187bd
lea eax, [esp + 0x98]
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
cmp byte [esp + 0x8b], 0
jns 0x418755
push dword [esp + 0x80]
call fcn.0045702d
add esp, 4
lea ecx, [esp + 0x8c]
call fcn.00447af0
mov ecx, dword [esp + 0x4a8]
xor ecx, ebp
call fcn.0045901d
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 0x41878e
push dword [esp + 0x38]
call fcn.0045702d
add esp, 4
cmp byte [esp + 0x53], 0
jns 0x4187a1
push dword [esp + 0x48]
call fcn.0045702d
add esp, 4
cmp byte [esp + 0x70], 0
je 0x41872e
lea ecx, [esp + 0x60]
call fcn.00445330
jmp 0x41872e
xor esi, esi
jmp 0x41872e
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 0x4189f3
je 0x4187fb
test edi, edi
je 0x4189ec
lea esi, [esp + 0x60]
push 0xc8
push 1
push eax
push edi
push esi
call fcn.0042fa10
add esp, 0x14
cmp byte [esi + 0x10], 0
je 0x4187b6
lea ecx, [esp + 0x60]
call fcn.0042dc30
xor esi, esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], esi
test eax, eax
je 0x4187a1
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.0042dd40
mov ecx, edi
push esi
push 7
push str.sverify
call fcn.0042dd40
movzx eax, byte [ebx + 0xb]
test al, al
jns 0x41887e
mov eax, dword [esp + 0x4c]
mov ebx, dword [esp + 0x48]
test eax, eax
js 0x4189f3
je 0x418890
test ebx, ebx
je 0x4189ec
lea edi, [esp + 0x58]
push edi
push eax
push ebx
call fcn.0042ea80
add esp, 0xc
mov eax, dword [edi]
or eax, dword [edi + 4]
je 0x418779
lea edi, [esp + 0xc]
push 0xe
push str.new.se6.360.cn
push edi
call fcn.00446bb0
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.00429740
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 0x4189f3
je 0x41891f
test ecx, ecx
je 0x4189ec
lea eax, [esp + 0x24]
lea edi, [esp + 0x2c]
push eax
push edi
call fcn.004a9bd0
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 0x41894e
mov ebx, dword [esp + 0x3c]
cmp edi, ebx
jne 0x41898f
test dl, dl
jns 0x41895a
mov esi, dword [esp + 0x38]
test al, al
js 0x41897a
test eax, eax
je 0x418976
xor ecx, ecx
mov dl, byte [esp + ecx + 0x2c]
cmp dl, byte [esi + ecx]
jne 0x41898f
inc ecx
cmp eax, ecx
jne 0x418964
mov bl, 1
jmp 0x418991
mov bl, 1
jmp 0x4189a1
push ecx
push esi
push dword [esp + 0x34]
call fcn.0045eeed
add esp, 0xc
test eax, eax
sete bl
jmp 0x418995
xor ebx, ebx
test al, al
jns 0x4189a1
push dword [esp + 0x2c]
call fcn.0045702d
add esp, 4
cmp byte [esp + 0x23], 0
jns 0x4189b4
push dword [esp + 0x18]
call fcn.0045702d
add esp, 4
cmp byte [esp + 0x17], 0
jns 0x4189c7
push dword [esp + 0xc]
call fcn.0045702d
add esp, 4
xor esi, esi
test bl, bl
je 0x41877b
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
mov dword [0x4e708c], ecx
mov dword [0x4e7088], eax
xor esi, esi
inc esi
jmp 0x41877b
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 0x4189f8
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 0x4d143c
call fcn.0048e9c0
int3