Function at 0x401446
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
sub esp, 0xc
push esi
push edi
push ebx
mov esi, 0x93000000
mov eax, esi
or eax, 0xbe
mov ecx, esi
imul ecx, eax
movzx edi, cl
mov ecx, edi
xor ecx, esi
add ecx, 0x6d000000
push ecx
mov ecx, edi
sub ecx, esi
add ecx, 0x93000000
push ecx
push 0
mov edx, esi
xor edx, edi
sub edx, 0x93000000
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CompareStringA]
movzx edi, al
mov eax, edi
test al, al
je 0x40149f
call dword [sym.imp.MSVCRT.dll__except_handler3]
mov ecx, esi
shr ecx, 2
mov esi, ecx
cmp esi, 0x24bfffff
jne 0x4014c4
mov ecx, edi
xor ecx, ecx
or ecx, 0xb1
push ecx
mov ecx, esi
or ecx, 0x5600
push ecx
call ebx
mov edx, edi
test dl, dl
je 0x4014d1
mov eax, esi
jmp 0x401751
mov edx, esi
movzx edi, dl
mov edx, edi
add edx, esi
sub edx, 0x24c00000
push edx
mov ecx, edi
xor ecx, esi
sub ecx, 0x24c00000
push ecx
push 0
mov edx, edi
xor edx, esi
add edx, 0xdb400000
push edx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CompareStringA]
mov esi, eax
test esi, esi
je 0x40150f
call dword [sym.imp.MSVCRT.dll__except_handler3]
mov eax, esi
mov ecx, 0x33
xor edx, edx
div ecx
movzx edi, dl
mov eax, edi
sub eax, esi
push eax
mov ecx, edi
xor ecx, esi
push ecx
push 0
mov eax, esi
add eax, edi
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CompareStringA]
mov esi, eax
test esi, esi
je 0x401544
call dword [sym.imp.MSVCRT.dll__except_handler3]
mov eax, edi
xor eax, 0x5b00
mov edx, esi
sub edx, eax
mov byte [ebp - 4], dl
movzx edx, byte [ebp - 4]
sub edx, edi
push edx
mov ecx, esi
movzx eax, byte [ebp - 4]
sub ecx, eax
push ecx
push 0
mov ecx, esi
imul ecx, edi
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CompareStringA]
movzx edi, al
mov ecx, edi
test cl, cl
je 0x401583
call dword [sym.imp.MSVCRT.dll__except_handler3]
movzx edx, byte [ebp - 4]
mov byte [ebp - 8], dl
movzx eax, byte [ebp - 8]
and eax, edi
push eax
mov eax, edi
movzx edx, byte [ebp - 8]
imul eax, edx
push eax
push 0
mov eax, esi
movzx ecx, byte [ebp - 8]
xor eax, ecx
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CompareStringA]
mov byte [ebp - 4], al
mov al, byte [ebp - 4]
test al, al
je 0x4015c0
call dword [sym.imp.MSVCRT.dll__except_handler3]
movzx edx, byte [ebp - 4]
or edx, edi
mov byte [ebp - 4], dl
mov cl, byte [ebp - 8]
test cl, cl
je 0x4015f2
movzx ecx, byte [ebp - 4]
push ecx
mov edx, esi
xor edx, 0x1e1900
push edx
movzx eax, byte [ebp - 8]
or eax, edi
and eax, 0xe4000000
push eax
movzx ecx, byte [ebp - 4]
push ecx
call dword [ebp - 0xc]
mov dl, byte [ebp - 4]
test dl, dl
jne 0x401607
push esi
movzx ecx, byte [ebp - 8]
push ecx
call section..text
mov byte [ebp - 8], al
mov ecx, esi
mov byte [ebp - 4], cl
mov dl, byte [ebp - 8]
test dl, dl
je 0x401615
call ebx
movzx eax, byte [ebp - 4]
imul eax, edi
push eax
mov ecx, esi
xor ecx, edi
push ecx
push 0
mov eax, esi
movzx edx, byte [ebp - 4]
and eax, edx
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CompareStringA]
mov esi, eax
test esi, esi
je 0x401643
call dword [sym.imp.MSVCRT.dll__except_handler3]
mov edx, edi
and edx, 0x6f005367
mov byte [ebp - 8], dl
movzx eax, byte [ebp - 4]
imul eax, eax, 0xd3
mov byte [ebp - 8], al
cmp byte [ebp - 4], 0
jge 0x401696
mov ecx, esi
xor ecx, 0xe7000000
and ecx, esi
push ecx
mov ecx, edi
add ecx, ecx
push ecx
movzx ecx, byte [ebp - 8]
and ecx, 0xd3
movzx eax, byte [ebp - 8]
imul ecx, eax
push ecx
movzx ecx, byte [ebp - 8]
movzx edx, byte [ebp - 4]
add ecx, edx
add ecx, esi
push ecx
call dword [sym.imp.MSVCRT.dll__mbsnicmp]
cmp byte [ebp - 4], 0
jle 0x4016a5
movzx eax, byte [ebp - 4]
jmp 0x401751
mov eax, edi
mov byte [ebp - 4], al
mov dl, byte [ebp - 8]
test dl, dl
je 0x4016c5
movzx edx, byte [ebp - 4]
or edx, 0x431317db
movzx ecx, byte [ebp - 4]
xor edx, ecx
push edx
call dword [ebp - 0xc]
movzx eax, byte [ebp - 4]
and eax, edi
push eax
movzx ecx, byte [ebp - 8]
movzx eax, byte [ebp - 4]
sub ecx, eax
push ecx
push 0
movzx ecx, byte [ebp - 4]
movzx edx, byte [ebp - 8]
add ecx, edx
push ecx
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CompareStringA]
mov byte [ebp - 8], al
mov cl, byte [ebp - 8]
test cl, cl
je 0x4016fe
call dword [sym.imp.MSVCRT.dll__except_handler3]
mov ecx, edi
and ecx, 0x76b4
mov byte [ebp - 4], cl
cmp esi, 0xffffffff
jne 0x401714
call dword [sym.imp.MSVCRT.dll__wremove]
mov edx, esi
movzx ecx, byte [ebp - 4]
or edx, ecx
push edx
movzx edx, byte [ebp - 4]
movzx eax, byte [ebp - 8]
xor edx, eax
push edx
push 0
mov eax, esi
movzx ecx, byte [ebp - 4]
and eax, ecx
push eax
push 0
push 0
call dword [sym.imp.KERNEL32.dll_CompareStringA]
mov byte [ebp - 4], al
mov cl, byte [ebp - 4]
test cl, cl
je 0x40174d
call dword [sym.imp.MSVCRT.dll__except_handler3]
movzx eax, byte [ebp - 4]
pop ebx
pop edi
pop esi
mov esp, ebp
pop ebp
ret