Function at 0x419a90
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
push esi
xor ebx, ebx
push edi
lea ecx, [ebp - 4]
mov dword [ebp - 0x10], ebx
mov dword [ebp - 8], ebx
call dword [sym.imp.Ngs3.dll_public:_void___thiscall_C2bString::constructor_void_]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xbc]
or dword [ebp + 0xc], 4
mov dword [ebp - 0xc], eax
test eax, eax
je 0x419ba6
mov ecx, dword [ebp + 8]
mov esi, dword [ebp - 0xc]
mov eax, dword [ecx + 0xb0]
add esi, 8
xor ebx, ebx
test eax, eax
je 0x419b2f
jmp 0x419ae0
mov ecx, dword [eax + 0xc]
cmp ecx, 0x100
jb 0x419b25
mov edi, dword [eax + 0x10]
cmp ecx, edi
ja 0x419b25
mov edx, dword [esi + 4]
cmp edx, ecx
jne 0x419b10
cmp dword [esi + 8], edi
jne 0x419b10
mov edx, dword [esi + 0xc]
sub edx, dword [eax + 0x14]
neg edx
sbb edx, edx
and edx, 3
inc edx
or ebx, edx
jmp 0x419b20
cmp edx, edi
ja 0x419b20
cmp edx, ecx
jae 0x419b1d
cmp dword [esi + 8], ecx
jb 0x419b20
or ebx, 4
test bl, 4
jne 0x419b2b
mov eax, dword [eax]
test eax, eax
jne 0x419ae0
test ebx, ebx
jne 0x419b34
mov ebx, 2
test dword [ebp + 0xc], ebx
je 0x419b93
lea ecx, [ebp - 4]
push 0
push ecx
call fcn.004193c0
mov edx, dword [ebp - 4]
add esp, 8
push edx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x419b93
mov edx, dword [esi + 4]
cmp edx, 0xac00
jne 0x419b73
cmp dword [esi + 8], edx
jne 0x419b73
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0x18]
imul eax, eax, 0x92e
jmp 0x419b90
cmp dword [esi + 0xc], 0
je 0x419b81
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x18]
jmp 0x419b87
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x1c]
mov eax, dword [esi + 8]
sub eax, edx
inc eax
imul eax, ecx
add dword [ebp - 8], eax
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx]
mov dword [ebp - 0xc], eax
test eax, eax
jne 0x419ac2
mov ebx, dword [ebp - 0x10]
test byte [ebp + 0xc], 1
je 0x419ca4
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0xb0]
mov dword [ebp + 0xc], eax
test eax, eax
je 0x419ca4
mov esi, dword [ebp + 0xc]
mov eax, dword [esi + 0xc]
add esi, 8
mov edi, 0xac00
cmp eax, edi
jne 0x419bdb
cmp dword [esi + 8], edi
je 0x419bf0
test eax, eax
jne 0x419c94
cmp dword [esi + 8], 0xff
jne 0x419c94
mov eax, dword [ebp + 8]
mov eax, dword [eax + 0xc8]
mov edx, dword [esi]
test eax, eax
je 0x419c14
nop
mov ecx, dword [eax + 8]
cmp ecx, edx
je 0x419c6a
jge 0x419c0e
mov eax, dword [eax + 4]
jmp 0x419c10
mov eax, dword [eax]
test eax, eax
jne 0x419c00
or ebx, 1
mov dword [ebp - 0xc], 0
lea eax, [ebp - 0xc]
mov ecx, dword [eax]
push ecx
lea edx, [ebp - 4]
push edx
call fcn.004193c0
add esp, 8
test bl, 1
je 0x419c42
mov eax, dword [ebp - 0xc]
push eax
and ebx, 0xfffffffe
call dword [sym.imp.GDI32.dll_DeleteObject]
mov ecx, dword [ebp - 4]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test eax, eax
je 0x419c94
mov edx, dword [esi + 4]
cmp edx, edi
jne 0x419c74
cmp dword [esi + 8], edi
jne 0x419c74
mov edx, dword [ebp + 8]
mov eax, dword [edx + 0x18]
imul eax, eax, 0x92e
jmp 0x419c91
add eax, 8
je 0x419c14
add eax, 4
jmp 0x419c21
cmp dword [esi + 0xc], 0
je 0x419c82
mov eax, dword [ebp + 8]
mov ecx, dword [eax + 0x18]
jmp 0x419c88
mov ecx, dword [ebp + 8]
mov ecx, dword [ecx + 0x1c]
mov eax, dword [esi + 8]
sub eax, edx
inc eax
imul eax, ecx
add dword [ebp - 8], eax
mov edx, dword [ebp + 0xc]
mov eax, dword [edx]
mov dword [ebp + 0xc], eax
test eax, eax
jne 0x419bc4
lea ecx, [ebp - 4]
call dword [sym.imp.Ngs3.dll_public:_void___thiscall_C2bString::destructor_void_]
mov eax, dword [ebp - 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8