Function at 0x40d8d0
Capabilities:
Delete file

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58ba32
mov eax, dword fs:[0]
push eax
sub esp, 0xa98
mov eax, dword [0x5f4274]
xor eax, ebp
mov dword [ebp - 0x14], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0x10], esp
mov esi, ecx
mov eax, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0xa9c], esi
mov dword [ebp - 0xa54], eax
mov dword [ebp - 0xa64], edi
mov dword [ebp - 0xaa0], edi
call fcn.0041938a
mov ecx, eax
test ecx, ecx
je 0x40e547
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xa48], eax
push edi
push dword [ebp - 0xa54]
lea eax, [ebp - 0xa48]
mov dword [ebp - 4], 0
push str._ZFileTransfer__Download_file_:__s__to___s
push eax
call fcn.00404860
push dword [ebp - 0xa48]
call fcn.00402060
add esp, 0x14
mov dword [ebp - 0xa60], 0
lea ecx, [ebp - 0xa94]
call fcn.00419a9b
cmp byte [esi + 0x124], 0
mov byte [ebp - 4], 1
mov byte [esi + 0x125], 0
jne 0x40d9eb
push str._ZFileTransfer__ERROR_:_Connection_are_not_opened.
call fcn.00402060
push dword [ebp - 0xa54]
lea eax, [ebp - 0xa48]
push str._ZFileTransfer__ERROR_:_Failed_download_:__s
push eax
call fcn.00404860
mov esi, dword [ebp - 0xa48]
push esi
call fcn.00402060
add esp, 0x14
lea ecx, [ebp - 0xa94]
call fcn.00419ac4
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jmp 0x40dbe8
push edi
call fcn.00413a30
add esp, 4
push edi
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
lea ecx, [ebp - 0xa7c]
call fcn.00417a33
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
call fcn.0041938a
mov ecx, eax
test ecx, ecx
je 0x40e551
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
mov edx, eax
lea ecx, [edx + 0x10]
mov dword [ebp - 0xa6c], ecx
mov dword [ebp - 0xa74], 0
mov dword [ebp - 0xa70], 0xffffffff
cmp dword [edx + 4], 0
mov eax, dword [edx]
mov byte [ebp - 4], 2
mov dword [ebp - 0xa5c], eax
je 0x40da7e
cmp dword [edx + 0xc], 0
lea ecx, [edx + 0xc]
jge 0x40dbfb
cmp dword [edx + 8], 0
jl 0x40e55b
mov dword [edx + 4], 0
mov eax, dword [ebp - 0xa6c]
mov byte [eax], 0
or edi, 0xffffffff
lea eax, [ebp - 0xa7c]
mov byte [ebp - 4], 3
push eax
push 0x1001
push dword [ebp - 0xa64]
lea ecx, [ebp - 0xa94]
call fcn.0041a06e
test eax, eax
jne 0x40dc2c
push 0
lea eax, [esi + 0x52c]
push 0x400
push eax
lea ecx, [ebp - 0xa7c]
mov dword [ebp - 0xa58], eax
call fcn.0041969e
push dword [ebp - 0xa64]
lea eax, [esi + 0x52c]
push str._s_:_Access_denied_or_unknown_error._n
push eax
call fcn.00402080
lea ecx, [esi + 0x52c]
add esp, 0xc
lea edx, [ecx + 1]
nop dword [eax]
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40daf0
sub ecx, edx
js 0x40db15
lea eax, [esi + 0x52c]
add eax, ecx
mov dl, byte [eax]
cmp dl, 0x2f
je 0x40db15
cmp dl, 0x5c
je 0x40db15
dec eax
sub ecx, 1
jns 0x40db03
lea edx, [esi + 0x52c]
lea eax, [edx + 1]
mov dword [ebp - 0xa60], eax
mov al, byte [edx]
inc edx
test al, al
jne 0x40db24
sub edx, dword [ebp - 0xa60]
add esi, 0x52d
sub edx, ecx
add esi, ecx
push edx
push esi
push dword [ebp - 0xa58]
call fcn.005620e0
push dword [ebp - 0xa58]
lea eax, [ebp - 0xa48]
mov byte [esi], 0
push str._ZFileTransfer__ERROR_:__s
push eax
call fcn.00404860
push dword [ebp - 0xa48]
call fcn.00402060
push dword [ebp - 0xa54]
lea eax, [ebp - 0xa48]
push str._ZFileTransfer__ERROR_:_Download_File_:__s_FAILED___
push eax
call fcn.00404860
mov esi, dword [ebp - 0xa48]
push esi
call fcn.00402060
mov eax, dword [sym.imp.KERNEL32.dll_DeleteFileA]
add esp, 0x2c
push dword [ebp - 0xa64]
call eax
mov edx, dword [ebp - 0xa6c]
mov eax, edi
mov byte [ebp - 4], 1
add edx, 0xfffffff0
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40dbcb
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0xa94]
call fcn.00419ac4
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jg 0x40e527
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x40e527
or edi, 0xffffffff
mov eax, edi
lock xadd dword [ecx], eax
dec eax
test eax, eax
jg 0x40dc11
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov ecx, dword [ebp - 0xa5c]
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xa6c], eax
jmp 0x40da81
push dword [ebp - 0xa54]
lea eax, [esi + 0x227]
push eax
lea eax, [ebp - 0x214]
push 0x59f6a0
push eax
call fcn.00402080
xorps xmm0, xmm0
mov dword [ebp - 0xa1c], 0
lea ecx, [ebp - 0x214]
mov dword [ebp - 0xa18], 0
add esp, 0x10
lea edx, [ecx + 1]
movups xmmword [ebp - 0xa2c], xmm0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x40dc74
sub ecx, edx
lea eax, [ebp - 0x214]
push ecx
push eax
lea ecx, [ebp - 0xa2c]
call fcn.0040b940
lea eax, [ebp - 0xa2c]
mov byte [ebp - 4], 4
push eax
lea eax, [ebp - 0xa44]
mov ecx, esi
push eax
call fcn.0040e6e0
mov edi, eax
lea eax, [ebp - 0xa2c]
cmp eax, edi
je 0x40dd17
mov ecx, dword [ebp - 0xa18]
cmp ecx, 0x10
jb 0x40dcef
mov edx, dword [ebp - 0xa2c]
inc ecx
mov eax, edx
cmp ecx, 0x1000
jb 0x40dce5
mov edx, dword [eax - 4]
add ecx, 0x23
sub eax, edx
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e565
push ecx
push edx
call fcn.0055f649
add esp, 8
movups xmm0, xmmword [edi]
movups xmmword [ebp - 0xa2c], xmm0
movq xmm0, qword [edi + 0x10]
movq qword [ebp - 0xa1c], xmm0
mov dword [edi + 0x10], 0
mov dword [edi + 0x14], 0xf
mov byte [edi], 0
lea ecx, [ebp - 0xa44]
call fcn.00402620
push 0x200
lea eax, [ebp - 0x214]
push 0
push eax
call fcn.00562660
cmp dword [ebp - 0xa18], 0x10
lea eax, [ebp - 0xa2c]
push dword [ebp - 0xa1c]
mov edi, dword [ebp - 0xa2c]
cmovae eax, edi
push eax
lea eax, [ebp - 0x214]
push eax
call fcn.005620e0
add esp, 0x18
mov byte [ebp - 4], 5
call fcn.0041938a
mov ecx, eax
test ecx, ecx
je 0x40e56a
mov eax, dword [ecx]
mov eax, dword [eax + 0xc]
call eax
add eax, 0x10
mov dword [ebp - 0xa4c], eax
push str.Accept:___r_n
lea ecx, [ebp - 0xa4c]
mov byte [ebp - 4], 6
call fcn.00404610
test al, al
jne 0x40ddae
push 0xd
push str.Accept:___r_n
lea ecx, [ebp - 0xa4c]
call fcn.00403c60
mov eax, dword [ebp - 0xa4c]
mov edx, str.Accept_Encoding:__r_n
mov ecx, edx
mov byte [ebp - 4], 7
sub ecx, eax
mov dword [ebp - 0xa5c], edx
push 0x14
mov eax, dword [eax - 0xc]
push edx
mov dword [ebp - 0xa98], ecx
mov dword [ebp - 0xa80], eax
call fcn.0056a163
mov edx, dword [ebp - 0xa80]
mov ecx, SysReAllocString
sub ecx, eax
mov dword [ebp - 0xa68], eax
add esp, 8
cmp ecx, edx
jl 0x40e574
add eax, edx
mov dword [ebp - 0xa50], eax
js 0x40e57e
mov eax, dword [ebp - 0xa4c]
mov edx, 1
mov ecx, dword [eax - 8]
sub edx, dword [eax - 4]
sub ecx, dword [ebp - 0xa50]
or ecx, edx
jge 0x40de3c
push dword [ebp - 0xa50]
lea ecx, [ebp - 0xa4c]
call fcn.00403b10
mov eax, dword [ebp - 0xa4c]
mov ecx, dword [ebp - 0xa80]
mov edx, dword [ebp - 0xa98]
cmp edx, ecx
ja 0x40de54
add edx, eax
mov dword [ebp - 0xa5c], edx
lea edx, [ecx + eax]
mov ecx, dword [ebp - 0xa68]
test ecx, ecx
je 0x40de9d
test edx, edx
je 0x40de87
mov eax, dword [ebp - 0xa5c]
push ecx
test eax, eax
je 0x40de7c
push eax
push edx
call fcn.005620e0
add esp, 0xc
jmp 0x40de97
push 0
push edx
call fcn.00562660
add esp, 0xc
call fcn.0056a150
mov dword [eax], 0x16
call fcn.0056a052
mov eax, dword [ebp - 0xa4c]
mov ecx, dword [ebp - 0xa50]
cmp ecx, dword [eax - 8]
jg 0x40e55b
push 0xa4400000
mov dword [eax - 0xc], ecx
mov eax, dword [ebp - 0xa4c]
push 0
push 0
push 1
mov byte [ecx + eax], 0
lea eax, [ebp - 0x214]
mov ecx, dword [esi + 0x18]
push 0
push eax
push 1
call fcn.0042e05f
mov dword [ebp - 0xa50], eax
mov dword [ebp - 0xa60], eax
test eax, eax
jne 0x40dfef
lea eax, [ebp - 0xa48]
push str._ZFileTransfer__ERROR_:_Cannot_open_remote_file.
push eax
call fcn.00404860
add esp, 8
push dword [ebp - 0xa48]
call fcn.00402060
add esp, 4
lea eax, [ebp - 0xa48]
push dword [ebp - 0xa54]
push str._ZFileTransfer__ERROR_:_Failed_download_:__s
push eax
call fcn.00404860
mov esi, dword [ebp - 0xa48]
add esp, 0xc
push esi
call fcn.00402060
mov eax, dword [sym.imp.KERNEL32.dll_DeleteFileA]
add esp, 4
push dword [ebp - 0xa64]
call eax
mov edx, dword [ebp - 0xa4c]
or eax, 0xffffffff
mov byte [ebp - 4], 5
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40df65
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xa18]
mov byte [ebp - 4], 3
cmp eax, 0x10
jb 0x40df9f
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x40df95
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e588
push ecx
push edi
call fcn.0055f649
add esp, 8
mov edx, dword [ebp - 0xa6c]
or edi, 0xffffffff
mov byte [ebp - 4], 1
add edx, 0xfffffff0
mov dword [ebp - method.CFileException.virtual_0], vtable.CFileException.0
mov eax, edi
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40dfcd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
lea ecx, [ebp - 0xa94]
call fcn.00419ac4
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
lock xadd dword [esi + 0xc], edi
dec edi
test edi, edi
jmp 0x40e22b
push 0x10000000
lea ecx, [ebp - 0xa4c]
push ecx
mov ecx, eax
call fcn.0042daea
mov ecx, dword [ebp - 0xa50]
push 0
push 0
push 0
push 0
call fcn.0042e517
mov ecx, dword [ebp - 0xa50]
lea eax, [ebp - 0xa58]
push eax
call fcn.0042e107
mov eax, dword [ebp - 0xa58]
cmp eax, 0x191
jne 0x40e060
lea eax, [ebp - 0xa48]
push str._ZFileTransfer__ERROR_:_Access_denied.
push eax
call fcn.00404860
add esp, 8
push dword [ebp - 0xa48]
call fcn.00402060
add esp, 4
push str.STR_143
jmp 0x40e13e
cmp eax, 0x194
jne 0x40e093
lea eax, [ebp - 0xa48]
push str._ZFileTransfer__ERROR_:_File_not_found.
push eax
call fcn.00404860
add esp, 8
push dword [ebp - 0xa48]
call fcn.00402060
add esp, 4
push str.STR_144
jmp 0x40e13e
cmp eax, 0x12c
jb 0x40e0ca
cmp eax, 0x190
jae 0x40e0d1
lea eax, [ebp - 0xa48]
push str._ZFileTransfer__ERROR_:_Information_error.
push eax
call fcn.00404860
add esp, 8
push dword [ebp - 0xa48]
call fcn.00402060
add esp, 4
push str.STR_145
jmp 0x40e13e
cmp eax, 0x190
jb 0x40e101
cmp eax, 0x1f4
jae 0x40e10c
lea eax, [ebp - 0xa48]
push str._ZFileTransfer__ERROR_:_File_request_error.
push eax
call fcn.00404860
add esp, 8
push dword [ebp - 0xa48]
call fcn.00402060
add esp, 4
push str.STR_146
jmp 0x40e13e
cmp eax, 0x1f4
jb 0x40e23e
cmp eax, 0x258
jae 0x40e23e
lea eax, [ebp - 0xa48]
push str._ZFileTransfer__ERROR_:_Server_error.
push eax
call fcn.00404860
add esp, 8
push dword [ebp - 0xa48]
call fcn.00402060
add esp, 4
push str.STR_147
call fcn.00402870
add esp, 4
push eax
push dword [ebp - 0xa58]
lea eax, [esi + 0x52c]
push str.__03u___s_n
push eax
call fcn.00402080
add esp, 0x10
lea eax, [ebp - 0xa48]
push dword [ebp - 0xa54]
push str._ZFileTransfer__ERROR_:_Failed_download_:__s
push eax
call fcn.00404860
mov esi, dword [ebp - 0xa48]
add esp, 0xc
push esi
call fcn.00402060
mov ecx, dword [ebp - 0xa50]
add esp, 4
mov eax, dword [ecx]
push 1
call dword [eax + 4]
push dword [ebp - 0xa64]
mov eax, dword [sym.imp.KERNEL32.dll_DeleteFileA]
call eax
mov edx, dword [ebp - 0xa4c]
or eax, 0xffffffff
mov byte [ebp - 4], 5
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40e1c6
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xa18]
mov byte [ebp - 4], 3
cmp eax, 0x10
jb 0x40e200
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x40e1f6
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e588
push ecx
push edi
call fcn.0055f649
add esp, 8
lea ecx, [ebp - 0xa7c]
call fcn.00402700
lea ecx, [ebp - 0xa94]
call fcn.00419ac4
mov dword [ebp - 4], 0xffffffff
add esi, 0xfffffff0
or eax, 0xffffffff
lock xadd dword [esi + 0xc], eax
dec eax
test eax, eax
jg 0x40e527
mov ecx, dword [esi]
push esi
mov eax, dword [ecx]
call dword [eax + 4]
jmp 0x40e527
mov ecx, dword [ebp - 0xa54]
lea edx, [esi + 0x1c]
sub edx, ecx
nop dword [eax]
mov al, byte [ecx]
lea ecx, [ecx + 1]
mov byte [edx + ecx - 1], al
test al, al
jne 0x40e250
mov eax, dword [ebp + 0x10]
mov dword [esi + 0x11c], eax
mov dword [esi + 0x120], 0
mov ecx, dword [ebp - 0xa50]
lea edx, [ebp - 0xa14]
push 0x800
push edx
mov eax, dword [ecx]
mov eax, dword [eax + 0x38]
call eax
push eax
mov dword [ebp - 0xa68], eax
lea ecx, [ebp - 0xa94]
lea eax, [ebp - 0xa14]
push eax
call fcn.0041a472
mov eax, dword [ebp - 0xa68]
add dword [esi + 0x120], eax
test eax, eax
je 0x40e2bb
cmp byte [esi + 0x125], 0
je 0x40e270
mov edx, dword [ebp - 0xa4c]
or eax, 0xffffffff
mov byte [ebp - 4], 5
add edx, 0xfffffff0
lock xadd dword [edx + 0xc], eax
dec eax
test eax, eax
jg 0x40e2dd
mov ecx, dword [edx]
push edx
mov eax, dword [ecx]
call dword [eax + 4]
cmp byte [esi + 0x125], 0
lea eax, [ebp - 0xa48]
push dword [ebp - 0xa54]
mov dword [ebp - 4], 4
je 0x40e382
push str._ZFileTransfer__Download_File_:__s_STOP___
push eax
call fcn.00404860
push dword [ebp - 0xa48]
call fcn.00402060
add esp, 0x10
mov byte [esi + 0x125], 0
lea ecx, [ebp - 0xa94]
call fcn.00419d47
mov esi, dword [ebp - 0xa50]
mov ecx, esi
mov eax, dword [esi]
call dword [eax + 0x50]
mov eax, dword [esi]
mov ecx, esi
push 1
call dword [eax + 4]
push dword [ebp - 0xa64]
mov eax, dword [sym.imp.KERNEL32.dll_DeleteFileA]
call eax
mov eax, dword [ebp - 0xa18]
cmp eax, 0x10
jb 0x40e506
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x40e37b
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e58d
push ecx
push edi
jmp 0x40e4fe
push str._ZFileTransfer__Download_File_:__s_successfuly_complete.
push eax
call fcn.00404860
push dword [ebp - 0xa48]
call fcn.00402060
add esp, 0x10
lea ecx, [ebp - 0xa94]
call fcn.00419d47
mov ecx, dword [ebp - 0xa50]
mov eax, dword [ecx]
call dword [eax + 0x50]
mov ecx, dword [ebp - 0xa50]
push 1
mov eax, dword [ecx]
call dword [eax + 4]
mov eax, dword [ebp - 0xa18]
mov byte [esi + 0x1c], 0
mov dword [esi + 0x120], 0
mov dword [esi + 0x11c], 0
cmp eax, 0x10
jb 0x40e40c
lea ecx, [eax + 1]
mov eax, edi
cmp ecx, 0x1000
jb 0x40e402
mov edi, dword [eax - 4]
add ecx, 0x23
sub eax, edi
add eax, 0xfffffffc
cmp eax, 0x1f
ja 0x40e58d
push ecx
push edi
call fcn.0055f649
add esp, 8
lea ecx, [ebp - 0xa7c]
call fcn.00402700
lea ecx, [ebp - 0xa94]
call fcn.00419ac4
lea ecx, [ebp - 0xa48]
call fcn.004025e0
mov al, 1
jmp 0x40e529
call fcn.0055f649
add esp, 8
lea ecx, [ebp - 0xa7c]
call fcn.00402700
lea ecx, [ebp - 0xa94]
call fcn.00419ac4
lea ecx, [ebp - 0xa48]
call fcn.004025e0
xor al, al
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x14]
xor ecx, ebp
call fcn.0055f63b
mov esp, ebp
pop ebp
ret 0x10
push 0x80004005
call fcn.00402850
push 0x80004005
call fcn.00402850
push 0x80070057
call fcn.00402850
call fcn.0056a062
push 0x80004005
call fcn.00402850
push 0x80070057
call fcn.00402850
push 0x80070057
call fcn.00402850
call fcn.0056a062
call fcn.0056a062
int3