Function at 0x448b1f
Capabilities:
Delete directory
Delete file

Disassembly:
push 0xc
mov eax, 0x4570be
call fcn.004537dc
mov esi, ecx
push 0x144
xor ebx, ebx
push ebx
push dword [esi + 0x974]
call sub.MSVCR100.dll_memset
push 0x1027c
call sub.mfc100u.dll_new
add esp, 0x10
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], ebx
cmp eax, ebx
je 0x448b62
mov ecx, eax
call fcn.0044b46e
mov edi, eax
jmp 0x448b64
xor edi, edi
or dword [ebp - 4], 0xffffffff
cmp edi, ebx
jne 0x448b7c
mov eax, 0x4e21
mov dword [esi + 0xd60], eax
jmp 0x4491f1
push dword [esi + 0x9fc]
mov ecx, edi
push dword [esi + 0xa2c]
push dword [esi + 0xa30]
call fcn.0044b4ef
push dword [esi + 0xd44]
mov eax, dword [edi + 0x10278]
mov dword [esi + 0x970], eax
push dword [0x46b244]
mov ecx, edi
push dword [esi + 0x974]
call fcn.0044c27e
mov eax, dword [esi + 0x974]
mov ecx, dword [eax + 0x118]
mov dword [esi + 0x978], ecx
mov ecx, dword [eax + 0x140]
mov dword [esi + 0x97c], ecx
mov eax, dword [eax + 0x54]
mov ecx, edi
mov dword [esi + 0xb30], eax
call fcn.0044c17b
mov ecx, edi
mov dword [esi + 0xd58], eax
call fcn.0044c18d
mov ecx, dword [esi + 0x974]
mov dword [esi + 0xd5c], eax
mov eax, dword [ecx + 0x114]
cmp eax, ebx
je 0x448c2e
and eax, 0x2f855
mov dword [ecx + 0x10c], eax
mov eax, dword [esi + 0x974]
mov ecx, dword [eax + 0x114]
and ecx, 0x7d04aa
mov dword [eax + 0x110], ecx
push dword [esi + 0x97c]
call fcn.0044cb2e
pop ecx
mov ecx, edi
call fcn.0044beee
push 3
mov dword [esi + 0xbd0], eax
pop ecx
cmp eax, ebx
jne 0x448c54
mov dword [esi + 0xbd0], ecx
mov eax, dword [esi + 0xbd0]
cmp eax, ecx
jne 0x448c64
mov dword [esi + 0x9d8], ebx
cmp dword [0x46b244], ebx
jne 0x448c7b
cmp eax, 2
jne 0x448c7b
mov dword [esi + 0xbd0], 9
mov ecx, edi
call fcn.0044bfba
mov dword [esi + 0xae4], eax
mov eax, dword [esi + 0x974]
test dword [eax + 0x10c], 0x20000
jne 0x448caf
cmp dword [esi + 0xb24], ebx
jne 0x448caf
push 1
mov ecx, edi
call fcn.0044bf45
push 1
jmp 0x448cba
push 0
mov ecx, edi
call fcn.0044bf45
push 0
push str.AcousticWarningMode
mov ebx, str.COMMON
push ebx
mov ecx, edi
mov dword [esi + 0xadc], eax
call fcn.0044b9a6
mov ecx, dword [esi + 0x974]
mov dword [ecx + 0x5c], eax
mov eax, dword [esi + 0x974]
cmp dword [eax + 0x5c], 2
jne 0x448d02
push 0x45f664
push str.AcousticWarningWaveFile
push ebx
mov ecx, edi
call fcn.0044b786
mov ecx, dword [esi + 0x974]
mov dword [ecx + 0x60], eax
mov ecx, edi
call fcn.0044bfd8
mov ecx, edi
mov dword [esi + 0xae0], eax
call fcn.0044bff8
mov ecx, edi
mov dword [esi + 0xbe4], eax
call fcn.0044c040
mov ecx, edi
mov dword [esi + 0xbf4], eax
call fcn.0044c088
test eax, eax
je 0x448d59
test al, 1
je 0x448d42
and eax, 0xfffffffe
or dword [esi + 0xbf0], 1
mov ecx, edi
mov dword [esi + 0xbec], eax
call fcn.0044c064
test eax, eax
je 0x448d59
mov dword [esi + 0xbd8], eax
mov ecx, edi
call fcn.0044c076
mov ecx, edi
mov dword [esi + 0xbdc], eax
call fcn.0044c247
test eax, eax
je 0x448d77
mov dword [esi + 0xbb0], eax
mov ecx, edi
call fcn.0044c235
mov dword [esi + 0xc00], eax
mov eax, dword [esi + 0x9c8]
cmp dword [eax + 0x40], 0
je 0x448d99
mov eax, dword [eax + 0x58]
mov dword [esi + 0xc00], eax
mov ecx, edi
call fcn.0044c0e2
mov ecx, edi
mov dword [esi + 0xbfc], eax
call fcn.0044c13c
mov ecx, edi
mov dword [esi + 0xc08], eax
call fcn.0044c151
mov ecx, edi
mov dword [esi + 0xc0c], eax
call fcn.0044c166
mov ecx, edi
mov dword [esi + 0xc10], eax
call fcn.0044c19f
mov ecx, edi
mov dword [esi + 0xb9c], eax
call fcn.0044c1b1
mov ecx, edi
mov dword [esi + 0xba4], eax
call fcn.0044c1c6
mov ecx, edi
mov dword [esi + 0xba8], eax
call fcn.0044c1d8
mov ecx, edi
mov dword [esi + 0xbac], eax
call fcn.0044c1ea
mov ecx, edi
mov dword [esi + 0xafc], eax
call fcn.0044c118
mov ecx, edi
mov dword [esi + 0xaf8], eax
call fcn.0044c02e
mov ecx, edi
mov dword [esi + 0xb0c], eax
call fcn.0044c1fc
mov ecx, edi
mov dword [esi + 0xc18], eax
call fcn.0044c20e
mov ecx, edi
mov dword [esi + 0xc1c], eax
call fcn.0044c09a
xor ebx, ebx
mov dword [esi + 0xac4], eax
cmp eax, ebx
je 0x448e75
mov ecx, edi
call fcn.0044c0ac
lea ebx, [esi + 0xac0]
push eax
mov ecx, ebx
call dword [0x4598bc]
push ebx
mov ecx, esi
call fcn.004458e6
xor ebx, ebx
mov ecx, edi
call fcn.0044c0be
mov dword [esi + 0xad0], eax
cmp eax, ebx
je 0x448ea6
mov ecx, edi
call fcn.0044c0d0
lea ebx, [esi + 0xad4]
push eax
mov ecx, ebx
call dword [0x4598bc]
push ebx
mov ecx, esi
call fcn.004458e6
xor ebx, ebx
mov ecx, edi
call fcn.0044bf00
mov ecx, edi
mov dword [esi + 0xac8], eax
call fcn.0044c052
mov ecx, edi
mov dword [esi + 0xbf8], eax
call fcn.0044c220
push eax
lea ecx, [esi + 0xa3c]
mov dword [ebp - 0x10], eax
call dword [0x4598bc]
push dword [ebp - 0x10]
call dword [sym.imp.MSVCR100.dll_free]
mov eax, dword [esi + 0x974]
mov eax, dword [eax + 0x4c]
pop ecx
mov dword [esi + 0xc14], eax
cmp dword [esi + 0xbac], ebx
je 0x448f21
cmp eax, ebx
je 0x448f21
lea eax, [ebp - 0x14]
push eax
lea eax, [ebp - 0x18]
push eax
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
push eax
call dword [sym.imp.KERNEL32.dll_GetProcessAffinityMask]
xor ecx, ecx
inc ecx
cmp dword [ebp - 0x14], ecx
jbe 0x448f24
mov dword [esi + 0xc14], ecx
jmp 0x448f24
xor ecx, ecx
inc ecx
cmp dword [0x46b244], ebx
je 0x448f44
mov eax, dword [esi + 0x974]
mov dword [eax + 0x70], ebx
test byte [esi + 0xadc], 1
jne 0x448f44
mov dword [esi + 0x9d8], ebx
mov eax, dword [esi + 0x974]
cmp dword [eax + 0x70], ebx
je 0x448f8a
cmp dword [eax + 0x84], ebx
je 0x448f8a
mov dword [esi + 0xbbc], ecx
cmp dword [eax + 0x74], ebx
jne 0x448f68
mov dword [esi + 0xbc0], ecx
mov ecx, dword [eax + 0x88]
mov dword [esi + 0x97c], ecx
mov eax, dword [eax + 0x80]
push ecx
mov dword [esi + 0xc14], eax
call fcn.0044cb2e
pop ecx
xor ecx, ecx
inc ecx
mov eax, dword [esi + 0x974]
cmp dword [eax + 0x10], ebx
jne 0x448f9b
mov dword [esi + 0xb00], ebx
cmp dword [eax + 0x40], ebx
je 0x448faa
cmp dword [eax], ebx
je 0x448faa
mov dword [esi + 0xb08], ecx
cmp dword [eax + 0x20], ebx
je 0x448fb9
or dword [esi + 0xbd4], 0x3000
cmp dword [eax + 0xc], ebx
je 0x448fc4
mov dword [esi + 0xb74], ecx
cmp dword [eax + 8], ebx
je 0x448fcf
mov dword [esi + 0xb20], ecx
mov ecx, dword [eax + 0x11c]
mov dword [esi + 0xb44], ecx
mov eax, dword [eax + 0x124]
mov dword [esi + 0xb54], eax
call fcn.0044e902
test eax, eax
jne 0x448ff9
call fcn.0044e91f
test eax, eax
je 0x449000
and dword [esi + 0xb54], 0
mov eax, dword [esi + 0x974]
mov eax, dword [eax + 0x1c]
sub eax, 0
je 0x449029
dec eax
je 0x449020
dec eax
jne 0x44904d
mov dword [esi + 0xae8], 1
jmp 0x44904d
and dword [esi + 0xae8], 0
jmp 0x44904d
mov ecx, edi
call fcn.0044c0f4
mov ecx, edi
mov dword [esi + 0xaec], eax
call fcn.0044c106
mov dword [esi + 0xaf0], eax
mov dword [esi + 0xae8], 0xfffffffe
mov eax, dword [esi + 0x974]
cmp dword [eax + 0x98], 0
push 0xc
pop ebx
je 0x44909f
mov dword [esi + 0xbc8], 1
mov eax, dword [eax + 0x9c]
dec eax
je 0x449095
dec eax
je 0x44908c
dec eax
je 0x449080
mov dword [esi + 0xbcc], ebx
jmp 0x44909f
mov dword [esi + 0xbcc], 6
jmp 0x44909f
and dword [esi + 0xbcc], 0
jmp 0x44909f
mov dword [esi + 0xbcc], 5
mov ecx, esi
call fcn.004489d5
mov eax, dword [esi + 0x974]
mov ecx, dword [eax + 0x134]
dec ecx
je 0x4490d6
dec ecx
jne 0x4490ee
cmp dword [eax + 0x138], ecx
je 0x4490c6
dec dword [eax + 0x138]
mov eax, dword [esi + 0x974]
push 0xffffffffffffffff
push dword [eax + 0x138]
jmp 0x4490de
push dword [eax + 0x13c]
push 0xffffffffffffffff
push 0xffffffffffffffff
push dword [esi + 0xa0c]
call fcn.00420340
add esp, 0x10
mov eax, dword [esi + 0x9c8]
cmp dword [eax + 0x44], 0
je 0x44910a
mov dword [esi + 0xbc8], 1
mov dword [esi + 0xbcc], ebx
mov ecx, edi
call fcn.0044c259
mov dword [esi + 0x9dc], eax
test eax, eax
jne 0x449136
call fcn.0043f5e0
test eax, eax
jne 0x449136
call dword [sym.imp.KERNEL32.dll_GetCurrentProcessId]
push eax
call fcn.0043f300
pop ecx
call fcn.0043f1e0
mov eax, dword [esi + 0x974]
test dword [eax + 0x10c], 0x1000000
je 0x449155
mov ecx, edi
call fcn.0044c26b
mov dword [esi + 0x978], eax
mov ecx, edi
call fcn.0044c01c
mov ecx, edi
mov ebx, eax
mov dword [ebp - 0x10], 0x14
call fcn.0044c00a
test eax, eax
je 0x44917c
push dword [esi + 0xa30]
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
test ebx, ebx
je 0x4491e1
push str.__
push dword [esi + 0xa28]
call dword [sym.imp.MSVCR100.dll_wcscpy]
push dword [esi + 0xa30]
push dword [esi + 0xa28]
call dword [sym.imp.MSVCR100.dll_wcscat]
push dword [esi + 0xa28]
call fcn.0044d0e9
add esp, 0x14
test eax, eax
je 0x4491e1
mov ebx, dword [sym.imp.KERNEL32.dll_RemoveDirectoryW]
xor ecx, ecx
mov word [eax - 2], cx
jmp 0x4491d5
mov eax, dword [ebp - 0x10]
dec dword [ebp - 0x10]
test eax, eax
jle 0x4491e1
push 0x32
call dword [sym.imp.KERNEL32.dll_Sleep]
push dword [esi + 0xa28]
call ebx
test eax, eax
je 0x4491c3
mov ecx, edi
call fcn.0044b4ac
push edi
call sub.mfc100u.dll_delete
pop ecx
xor eax, eax
call fcn.004538b4
ret