Function at 0x422704
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
add esp, 0xffffffe8
push ebx
push esi
push edi
mov dword [ebp - 8], ecx
mov dword [ebp - 4], edx
mov ebx, eax
mov byte [ebp - 9], 0x15
movsx eax, bl
mov edx, eax
shl eax, 3
sub eax, edx
mov edx, dword [0x48d8cc]
cmp word [edx + eax*2 + 0x218], 0
je 0x422938
mov eax, dword [ebp - 8]
dec eax
mov ecx, 0x7f
xor edx, edx
div ecx
inc eax
mov word [ebp - 0x12], ax
mov ax, word [ebp - 0x12]
test ax, ax
jbe 0x422932
mov word [ebp - 0x16], ax
mov si, 1
cmp si, word [ebp - 0x12]
jae 0x42276c
mov edi, 0x7f
jmp 0x42277c
mov eax, dword [ebp - 8]
dec eax
mov ecx, 0x7f
xor edx, edx
div ecx
mov edi, edx
inc edi
mov eax, dword [0x48d2b0]
cmp byte [eax], 0
jne 0x4227dd
movsx eax, bl
mov edx, dword [0x48d9a0]
movzx eax, word [edx + eax*2 + 0x4c]
imul edi
push eax
push 0
push 0x405
mov eax, dword [0x48d884]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
test eax, eax
je 0x422938
movsx edx, bl
mov ecx, dword [0x48d9a0]
movzx edx, word [ecx + edx*2 + 0x4c]
movzx ecx, si
dec ecx
imul ecx, ecx, 0x7f
imul edx, ecx
add edx, dword [ebp + 8]
mov ecx, edi
shl ecx, 9
call fcn.00405a94
jmp 0x42288b
push 0
mov eax, dword [0x48d7f0]
mov eax, dword [eax]
push eax
call sub.kernel32.dll__lcreat
mov dword [ebp - 0x10], eax
movsx eax, bl
mov edx, dword [0x48d9a0]
movzx eax, word [edx + eax*2 + 0x4c]
imul edi
push eax
movsx eax, bl
mov edx, dword [0x48d9a0]
movzx eax, word [edx + eax*2 + 0x4c]
movzx edx, si
dec edx
mov ecx, edx
shl edx, 7
sub edx, ecx
imul edx
add eax, dword [ebp + 8]
push eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll__hwrite
mov edx, dword [0x48d498]
mov dword [edx], eax
mov eax, dword [ebp - 0x10]
push eax
call sub.kernel32.dll_CloseHandle_1
movsx eax, bl
mov edx, dword [0x48d9a0]
movzx eax, word [edx + eax*2 + 0x4c]
imul edi
xor edx, edx
push edx
push eax
mov eax, dword [0x48d498]
mov eax, dword [eax]
cdq
cmp edx, dword [esp + 4]
jne 0x422864
cmp eax, dword [esp]
pop edx
pop eax
jae 0x42288b
jmp 0x422868
pop edx
pop eax
jge 0x42288b
mov edx, dword [0x48d7f0]
mov edx, dword [edx]
mov ax, 5
call fcn.0040de10
mov eax, dword [0x48d7f0]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_DeleteFileA_1
jmp 0x422938
movsx eax, bl
push eax
push 0
mov eax, dword [0x48d858]
mov eax, dword [eax]
push eax
call sub.user32.dll_SetWindowWord
push edi
push 2
mov eax, dword [0x48d858]
mov eax, dword [eax]
push eax
call sub.user32.dll_SetWindowWord
movzx eax, si
dec eax
mov edx, eax
shl eax, 7
sub eax, edx
add eax, dword [ebp - 4]
push eax
mov eax, dword [0x48d568]
movzx eax, word [eax]
push eax
mov eax, dword [0x48d2b0]
movzx eax, byte [eax]
lea eax, [eax + eax*2]
add eax, 0x406
push eax
mov eax, dword [0x48d884]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
test eax, eax
je 0x4228ee
mov byte [ebp - 0x13], 0
jmp 0x4228f2
mov byte [ebp - 0x13], 0x15
mov eax, dword [0x48d2b0]
cmp byte [eax], 0
jne 0x422914
push 0
push 0
push 0x402
mov eax, dword [0x48d884]
mov eax, dword [eax]
push eax
call sub.user32.dll_SendMessageA
jmp 0x422921
mov eax, dword [0x48d7f0]
mov eax, dword [eax]
push eax
call sub.kernel32.dll_DeleteFileA_1
cmp byte [ebp - 0x13], 0
ja 0x422932
inc esi
dec word [ebp - 0x16]
jne 0x42275f
mov al, byte [ebp - 0x13]
mov byte [ebp - 9], al
mov al, byte [ebp - 9]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4