Function at 0x410d10
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x577750
mov eax, dword fs:[0]
push eax
sub esp, 0x18
push ebx
push esi
push edi
mov eax, dword [0x5daf20]
xor eax, esp
push eax
lea eax, [esp + 0x28]
mov dword fs:[0], eax
mov esi, ecx
call fcn.00434157
mov ebx, dword [eax + 4]
cmp byte [ebx + 0x171], 0
jne 0x410d5f
mov eax, dword [esi + 0x30]
cmp dword [eax - 0xc], 0
je 0x410d5f
push eax
call dword [sym.imp.KERNEL32.dll_DeleteFileW]
mov al, byte [ebp + 0x10]
test al, al
je 0x410d7e
push str._big.dmp
push str..dmp
lea ecx, [ebx + 0xf8]
call fcn.00413520
mov al, byte [ebp + 0x10]
test al, al
mov edx, 0x5b17ec
mov ecx, 0x5b0064
cmove edx, ecx
lea eax, [esi + 0x3c]
test edx, edx
jne 0x410d98
xor ecx, ecx
jmp 0x410db2
mov ecx, edx
lea edi, [ecx + 2]
lea ecx, [ecx]
mov ax, word [ecx]
add ecx, 2
test ax, ax
jne 0x410da0
sub ecx, edi
sar ecx, 1
lea eax, [esi + 0x3c]
push ecx
push edx
mov ecx, eax
call fcn.00401610
call fcn.00427841
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x410dd7
push 0x80004005
call fcn.004017e0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x1c], eax
mov dword [esp + 0x30], 0
call fcn.00427841
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x410e09
push 0x80004005
call fcn.004017e0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x18], eax
mov byte [esp + 0x30], 1
call fcn.00427841
xor ecx, ecx
mov edx, eax
test edx, edx
setne cl
test ecx, ecx
jne 0x410e38
push 0x80004005
call fcn.004017e0
mov eax, dword [edx]
mov ecx, edx
call dword [eax + 0xc]
add eax, 0x10
mov dword [esp + 0x14], eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x24]
push eax
mov ecx, esi
mov byte [esp + 0x3c], 2
call fcn.004104e0
or edi, 0xffffffff
test al, al
jne 0x410e6f
mov esi, 0x80004005
jmp 0x410ed5
mov al, byte [ebx + 0x172]
test al, al
je 0x410e84
mov ecx, esi
call fcn.00410f60
mov esi, eax
jmp 0x410ed5
lea eax, [esp + 0x20]
push eax
mov ecx, ebx
call fcn.0041c520
mov byte [esp + 0x30], 3
mov eax, dword [eax]
mov ecx, esi
cmp dword [eax - 0xc], 0
jne 0x410ea6
call fcn.00410f60
jmp 0x410eb1
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.00411340
mov byte [esp + 0x30], 2
mov edx, dword [esp + 0x20]
add edx, 0xfffffff0
mov esi, eax
lea eax, [edx + 0xc]
mov ecx, edi
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x410ed5
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x30], 1
mov edx, dword [esp + 0x14]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x410ef7
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov byte [esp + 0x30], 0
mov edx, dword [esp + 0x18]
add edx, 0xfffffff0
mov ecx, edi
lea eax, [edx + 0xc]
lock xadd dword [eax], ecx
dec ecx
test ecx, ecx
jg 0x410f19
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov dword [esp + 0x30], 0xffffffff
mov edx, dword [esp + 0x1c]
add edx, 0xfffffff0
lea eax, [edx + 0xc]
lock xadd dword [eax], edi
dec edi
test edi, edi
jg 0x410f3c
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, esi
mov ecx, dword [esp + 0x28]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc