Function at 0x4627b0
Capabilities:
Delete file

Disassembly:
mov ecx, dword [esp + 8]
sub esp, 0x114
cmp ecx, 9
push ebx
push esi
push edi
jb 0x462a2b
mov eax, dword [esp + 0x124]
xor edx, edx
mov dx, word [eax + 7]
add edx, 9
cmp ecx, edx
jne 0x462a2b
mov cl, byte [eax + 1]
xor ebx, ebx
mov byte [esp + 0x13], cl
mov ecx, dword [0x4d03d0]
test ecx, ecx
mov dl, byte [eax + 2]
setle bl
dec ebx
and ebx, ecx
test ebx, ebx
jle 0x462a2b
mov cl, byte [esp + 0x13]
cmp byte [ebx + 8], cl
jne 0x46280e
cmp byte [ebx + 9], dl
je 0x46282a
test ebx, ebx
jne 0x462817
mov ebx, 0x4d03cc
mov ebx, dword [ebx + 4]
test ebx, ebx
jg 0x462800
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x114
ret
test ebx, ebx
je 0x462a2b
mov ecx, dword [eax + 3]
mov edx, dword [ebx + 0xc]
cmp ecx, edx
je 0x4629f5
xor esi, esi
mov si, word [eax + 7]
add esi, ecx
cmp esi, edx
ja 0x4629f5
cmp ecx, dword [ebx + 0x40]
jne 0x4629c9
mov cl, byte [ebx + 0x34]
mov dl, byte [esp + 0x12c]
mov edi, dword [ebx + 0x44]
or cl, 4
mov byte [ebx + 0x34], cl
mov byte [ebx + 0x3d], dl
mov edx, dword [eax + 3]
xor ecx, ecx
mov cx, word [eax + 7]
add edi, edx
mov edx, ecx
lea esi, [eax + 9]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov edx, dword [ebx + 0x40]
xor ecx, ecx
mov cx, word [eax + 7]
add edx, ecx
mov dword [ebx + 0x40], edx
mov eax, dword [0x4d03e8]
test eax, eax
je 0x4628c9
mov dl, byte [ebx + 8]
mov cl, byte [ebx + 9]
mov byte [esp + 0x15], dl
mov edx, dword [ebx + 0x40]
mov byte [esp + 0x16], cl
mov cl, byte [ebx + 0x3d]
mov dword [esp + 0x17], edx
push ecx
lea edx, [esp + 0x18]
push 7
push edx
mov byte [esp + 0x20], 5
call eax
mov eax, dword [ebx + 0xc]
mov ecx, dword [ebx + 0x40]
cmp ecx, eax
jne 0x462915
lea ecx, [esp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebx + 0x44]
lea edx, [esp + 0x14]
push ecx
push edx
push eax
mov dword [esp + 0x18], 0xffffffff
call fcn.0048cc60
mov ecx, dword [ebx + 0x10]
add esp, 0xc
cmp eax, ecx
je 0x462924
mov dword [ebx + 0x40], 0
mov dl, byte [ebx + 0x34]
push ebx
and dl, 0xfb
mov byte [ebx + 0x34], dl
call fcn.00461b90
add esp, 4
pop edi
pop esi
mov eax, 1
pop ebx
add esp, 0x114
ret
push 0x104
lea eax, [esp + 0x20]
push 0x4d02c0
push eax
call sub.Storm.dll_Ordinal_501
lea ecx, [ebx + 0x14]
push 0x104
lea edx, [esp + 0x20]
push ecx
push edx
call sub.Storm.dll_Ordinal_503
lea eax, [esp + 0x1c]
push 0
push eax
call fcn.00473470
push 0x4d02c0
call fcn.0048c0a0
add esp, 0xc
test eax, eax
je 0x4629b9
lea ecx, [esp + 0x1c]
push 0x17
push ecx
call fcn.00489b40
mov esi, eax
add esp, 8
test esi, esi
je 0x4629b9
mov edx, dword [ebx + 0xc]
mov eax, dword [ebx + 0x44]
push esi
push edx
push eax
call fcn.00489c40
push esi
mov edi, eax
call fcn.00489b30
add esp, 0x10
test eax, eax
je 0x46299e
xor edi, edi
jmp 0x4629a6
test edi, edi
jne 0x462903
lea ecx, [esp + 0x1c]
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
test edi, edi
jne 0x462903
pop edi
mov byte [ebx + 0x34], 8
pop esi
xor eax, eax
pop ebx
add esp, 0x114
ret
mov eax, dword [0x4d03e8]
test eax, eax
je 0x462a22
mov dl, byte [ebx + 8]
mov cl, byte [ebx + 9]
mov byte [esp + 0xd], dl
mov edx, dword [esp + 0x12c]
mov byte [esp + 0xe], cl
push edx
mov byte [esp + 0x10], 6
push 3
lea ecx, [esp + 0x14]
jmp 0x462a1f
mov eax, dword [0x4d03e8]
test eax, eax
je 0x462a22
mov dl, byte [ebx + 8]
mov cl, byte [ebx + 9]
mov byte [esp + 0xd], dl
mov edx, dword [esp + 0x12c]
mov byte [esp + 0xe], cl
push edx
mov byte [esp + 0x10], 6
push 3
lea ecx, [esp + 0x14]
push ecx
call eax
push ebx
call fcn.00461b90
add esp, 4
pop edi
pop esi
xor eax, eax
pop ebx
add esp, 0x114
ret