Function at 0x401f50
Capabilities:
Delete file

Disassembly:
push 0xffffffffffffffff
push 0x44d6b9
mov eax, dword fs:[0]
push eax
sub esp, 0x10
push ebx
push ebp
push esi
push edi
mov eax, dword [0x4612b0]
xor eax, esp
push eax
lea eax, [esp + 0x24]
mov dword fs:[0], eax
mov ebp, dword [esp + 0x34]
xor esi, esi
mov dword [esp + 0x2c], esi
mov edi, ecx
mov dword [esp + 0x20], esi
mov dword [esp + 0x1c], ebp
cmp dword [edi + 0x54], esi
jbe 0x402036
mov ecx, dword [edi + 0x30]
xor edx, edx
mov eax, esi
div ecx
mov ebp, edx
cmp ebp, ecx
jbe 0x401fa8
call fcn.00439b40
mov ebx, 0x10
cmp dword [edi + 0x34], ebx
jb 0x401fbb
mov eax, dword [edi + 0x20]
mov dword [esp + 0x14], eax
jmp 0x401fc2
lea ecx, [edi + 0x20]
mov dword [esp + 0x14], ecx
cmp esi, dword [edi + 0x4c]
jbe 0x401fcc
call fcn.00439b40
cmp dword [edi + 0x50], ebx
jb 0x401fd6
mov eax, dword [edi + 0x3c]
jmp 0x401fd9
lea eax, [edi + 0x3c]
mov bl, byte [eax + esi]
mov edx, dword [esp + 0x14]
xor bl, byte [edx + ebp]
cmp esi, dword [edi + 0x4c]
jbe 0x401fed
call fcn.00439b40
cmp dword [edi + 0x50], 0x10
jb 0x401ff8
mov eax, dword [edi + 0x3c]
jmp 0x401ffb
lea eax, [edi + 0x3c]
mov byte [eax + esi], bl
mov ebx, dword [sym.imp.USER32.dll_GetSystemMetrics]
push 4
call ebx
lea ecx, [esp + 0x14]
cmp eax, ecx
jle 0x40201a
push 0
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x40201e
push 0xe
call ebx
inc esi
mov dword [esp + 0x2c], 0
cmp esi, dword [edi + 0x54]
jb 0x401f94
mov ebp, dword [esp + 0x1c]
xor esi, esi
mov ebx, dword [edi + 0x4c]
mov dword [ebp + 0x14], esi
lea eax, [ebp + 4]
xor edx, edx
mov dword [ebp + 0x18], 7
mov esi, ebp
mov dword [esp + 0x18], eax
mov word [eax], dx
call fcn.00402ed0
mov dword [esp + 0x20], 1
call dword [sym.imp.KERNEL32.dll_GetTickCount]
sub eax, 2
je 0x402073
sub eax, 2
je 0x402073
sub eax, 4
jne 0x402079
call dword [sym.imp.KERNEL32.dll_GetCurrentProcess]
mov edx, dword [esp + 0x18]
mov dword [esp + 0x2c], 0
mov ecx, dword [ebp + 0x18]
cmp ecx, 8
jb 0x402095
mov esi, dword [edx]
mov dword [esp + 0x14], esi
jmp 0x40209f
mov eax, dword [esp + 0x18]
mov dword [esp + 0x14], eax
mov esi, eax
test esi, esi
je 0x4020c7
cmp ecx, 8
jb 0x4020ac
mov eax, dword [edx]
jmp 0x4020ae
mov eax, edx
cmp eax, esi
ja 0x4020c7
cmp ecx, 8
jb 0x4020bb
mov eax, dword [edx]
jmp 0x4020bd
mov eax, edx
mov ecx, dword [ebp + 0x14]
lea edx, [eax + ecx*2]
cmp esi, edx
jbe 0x4020cc
call fcn.00439b40
mov esi, dword [edi + 0x50]
lea eax, [edi + 0x3c]
cmp esi, 0x10
jb 0x4020db
mov ecx, dword [eax]
jmp 0x4020dd
mov ecx, eax
mov edx, dword [edi + 0x4c]
lea ebx, [edx + ecx]
test ebx, ebx
je 0x402103
cmp esi, 0x10
jb 0x4020f0
mov ecx, dword [eax]
jmp 0x4020f2
mov ecx, eax
cmp ecx, ebx
ja 0x402103
cmp esi, 0x10
jb 0x4020fd
mov eax, dword [eax]
add edx, eax
cmp ebx, edx
jbe 0x402108
call fcn.00439b40
mov edx, dword [edi + 0x50]
lea eax, [edi + 0x3c]
cmp edx, 0x10
jb 0x402117
mov esi, dword [eax]
jmp 0x402119
mov esi, eax
test esi, esi
je 0x40213c
cmp edx, 0x10
jb 0x402126
mov ecx, dword [eax]
jmp 0x402128
mov ecx, eax
cmp ecx, esi
ja 0x40213c
cmp edx, 0x10
jb 0x402133
mov eax, dword [eax]
mov ecx, dword [edi + 0x4c]
add ecx, eax
cmp esi, ecx
jbe 0x402141
call fcn.00439b40
mov ecx, ebx
sub ecx, esi
cmp ebp, 0xfffffffc
je 0x402186
mov edi, dword [ebp + 0x18]
mov eax, dword [esp + 0x18]
cmp edi, 8
jb 0x40215a
mov edx, dword [eax]
jmp 0x40215c
mov edx, eax
mov ebp, dword [esp + 0x14]
lea ecx, [ebp + ecx*2]
mov ebp, dword [esp + 0x1c]
mov ebp, dword [ebp + 0x14]
lea edx, [edx + ebp*2]
cmp ecx, edx
ja 0x40217d
cmp edi, 8
jb 0x402179
mov eax, dword [eax]
cmp ecx, eax
jae 0x402182
call fcn.00439b40
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov eax, esi
cmp esi, ebx
je 0x40219f
movsx dx, byte [eax]
mov word [ecx], dx
inc eax
add ecx, 2
cmp eax, ebx
jne 0x402190
call fcn.00439c27
cdq
mov ecx, 0x14
idiv ecx
mov esi, edx
inc esi
call fcn.00439c27
cdq
idiv esi
cmp edx, esi
jg 0x4021c4
mov eax, esi
cdq
idiv esi
test edx, edx
je 0x4021c9
call fcn.0041a8f0
mov eax, ebp
mov ecx, dword [esp + 0x24]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1c
ret 4