Function at 0x4110f0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x478f98
mov eax, dword fs:[0]
push eax
sub esp, 0x60
push ebx
push esi
push edi
mov eax, dword [0x4a9128]
xor eax, ebp
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov edi, ecx
mov dword [ebp - 0x44], edi
call fcn.0040fc80
test eax, eax
jne 0x411615
call fcn.00434e50
xor ecx, ecx
xor esi, esi
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x411149
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x20], eax
mov dword [ebp - 4], esi
call fcn.00434e50
xor ecx, ecx
cmp eax, esi
setne cl
cmp ecx, esi
jne 0x411175
push 0x80004005
call fcn.00401000
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x1c], eax
mov eax, dword [edi + 0x1c]
push eax
lea ecx, [ebp - 0x1c]
push 0x4839d4
push ecx
mov byte [ebp - 4], 1
call fcn.00401c20
add esp, 0xc
cmp dword [edi + 0x1c], esi
jle 0x4111e9
test esi, esi
jl 0x41122b
cmp esi, dword [edi + 0x1c]
jge 0x41122b
mov edx, dword [edi + 0x18]
lea eax, [edx + esi*4]
mov eax, dword [eax]
push eax
lea ebx, [esi + 1]
push ebx
lea ecx, [ebp - 0x20]
push 0x4839c8
push ecx
call fcn.00401c20
mov ecx, dword [ebp - 0x20]
mov eax, dword [ecx - 0xc]
add esp, 0x10
push eax
push ecx
lea ecx, [ebp - 0x1c]
call fcn.00404fd0
cmp esi, 0xa
jg 0x4111e9
mov esi, ebx
cmp esi, dword [edi + 0x1c]
jl 0x4111a2
push 0x8c
push 0x483938
lea ecx, [ebp - 0x1c]
call fcn.00404fd0
mov esi, dword [ebp - 0x1c]
push 0
push 4
push esi
call fcn.00435d18
cmp eax, 6
jne 0x4115cf
call fcn.00434e50
xor ecx, ecx
test eax, eax
setne cl
test ecx, ecx
jne 0x411230
push 0x80004005
call fcn.00401000
jmp fcn.00433e1f
mov edx, dword [eax]
mov ecx, eax
mov eax, dword [edx + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0x14], eax
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 2
call fcn.004078a0
xor ebx, ebx
mov byte [ebp - 4], 3
mov dword [ebp - 0x18], ebx
cmp ebx, dword [edi + 0x1c]
jge 0x411540
test ebx, ebx
jl 0x41122b
cmp ebx, dword [edi + 0x1c]
jge 0x41122b
mov eax, dword [edi + 0x18]
lea ecx, [ebx*4]
add eax, ecx
mov eax, dword [eax]
cmp dword [eax - 0xc], 0
jge 0x411284
push 0x80070057
call fcn.00401000
mov cl, byte [eax]
mov byte [ebp - 0x28], cl
mov edx, dword [ebp - 0x28]
push 0
push edx
lea eax, [ebp - 0x30]
push eax
call fcn.0040b970
push str.mi.dat
push eax
lea ecx, [ebp - 0x2c]
push ecx
mov byte [ebp - 4], 4
call fcn.00401d00
add esp, 0x18
mov ecx, dword [eax]
mov esi, dword [ebp - 0x14]
lea eax, [ecx - 0x10]
add esi, 0xfffffff0
cmp eax, esi
mov byte [ebp - 4], 5
je 0x41130d
cmp dword [esi + 0xc], 0
lea ebx, [esi + 0xc]
jl 0x4112fd
mov edx, dword [eax]
cmp edx, dword [esi]
jne 0x4112fd
push eax
call fcn.00401180
mov dword [ebp - 0x24], eax
add esp, 4
or eax, 0xffffffff
lock xadd dword [ebx], eax
dec eax
test eax, eax
jg 0x4112f2
mov ecx, dword [esi]
mov edx, dword [ecx]
mov eax, dword [edx + 4]
push esi
call eax
mov ecx, dword [ebp - 0x24]
add ecx, 0x10
mov dword [ebp - 0x14], ecx
jmp 0x41130a
mov eax, dword [ecx - 0xc]
push eax
push ecx
lea ecx, [ebp - 0x14]
call fcn.00401910
mov ebx, dword [ebp - 0x18]
mov eax, dword [ebp - 0x2c]
add eax, 0xfffffff0
mov byte [ebp - 4], 4
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411330
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x30]
add eax, 0xfffffff0
mov byte [ebp - 4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411353
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x6c]
call fcn.00408480
cmp ebx, dword [edi + 0x1c]
jge 0x41122b
mov eax, dword [edi + 0x18]
add ebx, ebx
add ebx, ebx
add eax, ebx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00407a20
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x6c]
mov esi, eax
call fcn.00407e00
test esi, esi
jne 0x411406
push str.mi.dat
lea eax, [ebp - 0x34]
push 0x4aa930
push eax
call fcn.00401d00
add esp, 0xc
push eax
lea ecx, [ebp - 0x14]
mov byte [ebp - 4], 6
call fcn.00401b60
mov eax, dword [ebp - 0x34]
add eax, 0xfffffff0
mov byte [ebp - 4], 3
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4113d2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
lea ecx, [ebp - 0x14]
push ecx
lea ecx, [ebp - 0x6c]
call fcn.00408480
mov esi, dword [ebp - 0x18]
cmp esi, dword [edi + 0x1c]
jge 0x41122b
mov eax, dword [edi + 0x18]
add eax, ebx
push eax
lea ecx, [ebp - 0x6c]
call fcn.00407a20
lea edx, [ebp - 0x14]
push edx
lea ecx, [ebp - 0x6c]
call fcn.00407e00
jmp 0x411409
mov esi, dword [ebp - 0x18]
cmp esi, dword [edi + 0x1c]
mov byte [ebp - 4], 7
mov dword [ebp - 0x24], 0xffffffff
jge 0x41122b
mov eax, dword [edi + 0x18]
add eax, ebx
push str..hjm
push eax
lea eax, [ebp - 0x38]
push eax
call fcn.00401d00
add esp, 0xc
mov eax, dword [eax]
lea ecx, [ebp - 0x24]
push ecx
push eax
mov ecx, 0x4aaa3c
mov byte [ebp - 4], 8
call fcn.0040dc30
mov dword [ebp - 0x3c], eax
mov eax, dword [ebp - 0x38]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x41146f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
cmp dword [ebp - 0x3c], 0
je 0x4114d5
mov ecx, dword [ebp - 0x24]
push ecx
call fcn.0040a6e0
add esp, 4
cmp esi, dword [edi + 0x1c]
jge 0x41122b
mov eax, dword [edi + 0x18]
add eax, ebx
push str..hjm
push eax
lea edx, [ebp - 0x40]
push edx
call fcn.00401d00
add esp, 0xc
mov eax, dword [eax]
push eax
mov ecx, 0x4aaa3c
mov byte [ebp - 4], 9
call fcn.0040f930
mov eax, dword [ebp - 0x40]
add eax, 0xfffffff0
mov byte [ebp - 4], 7
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4114d5
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov dword [ebp - 4], 3
jmp 0x4114ea
cmp esi, dword [edi + 0x1c]
jge 0x41122b
mov ecx, dword [edi + 0x18]
push str..hjm
lea edx, [ecx + esi*4]
push edx
lea eax, [ebp - 0x48]
push eax
call fcn.00401d00
mov ecx, dword [eax]
add esp, 0xc
push ecx
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
mov eax, dword [ebp - 0x48]
add eax, 0xfffffff0
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x411533
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
add esi, 1
mov dword [ebp - 0x18], esi
mov ebx, esi
jmp 0x411254
lea ecx, [ebp - 0x6c]
mov byte [ebp - 4], 2
call fcn.00407960
mov eax, dword [ebp - 0x14]
add eax, 0xfffffff0
mov byte [ebp - 4], 1
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x41156f
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x1c]
add eax, 0xfffffff0
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411592
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4115b8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, 1
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esi - 0x10]
mov byte [ebp - 4], 0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x4115ef
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
mov eax, dword [ebp - 0x20]
add eax, 0xfffffff0
mov dword [ebp - 4], 0xffffffff
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x411615
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
mov eax, dword [edx + 4]
call eax
xor eax, eax
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret