Function at 0x101d9900
Capabilities:
Delete file
Move file

Disassembly:
sub esp, 0x2c
push edi
mov edi, dword [esp + 0x34]
test edi, edi
jne 0x101d9914
or eax, 0xffffffff
pop edi
add esp, 0x2c
ret
push ebp
lea eax, [esp + 0x2c]
push eax
push edi
call fcn.101d9eb0
mov ebp, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov ecx, ebp
add esp, 8
or ecx, edx
jne 0x101d9974
mov ecx, dword [edi]
test ecx, ecx
je 0x101d9978
test byte [edi + 8], 8
jne 0x101d9947
test eax, eax
je 0x101d9978
cmp dword [edi + 4], 0
je 0x101d9978
push ecx
call dword [sym.imp.MSVCR110.dll_remove]
add esp, 4
test eax, eax
je 0x101d9978
call dword [sym.imp.MSVCR110.dll__errno]
push dword [eax]
lea eax, [edi + 0xc]
push 0x16
push eax
call fcn.101dcb20
add esp, 0xc
or eax, 0xffffffff
pop ebp
pop edi
add esp, 0x2c
ret
test eax, eax
jne 0x101d9989
push edi
call fcn.101dc910
add esp, 4
xor eax, eax
pop ebp
pop edi
add esp, 0x2c
ret
cmp edx, dword [edi + 0x34]
jb 0x101d99ae
ja 0x101d9995
cmp ebp, dword [edi + 0x30]
jbe 0x101d99ae
push 0
lea eax, [edi + 0xc]
push 0x14
push eax
call fcn.101dcb20
add esp, 0xc
or eax, 0xffffffff
pop ebp
pop edi
add esp, 0x2c
ret
mov eax, ebp
shl eax, 4
push ebx
push eax
call dword [sym.imp.MSVCR110.dll_malloc]
mov ebx, eax
add esp, 4
mov dword [esp + 0xc], ebx
test ebx, ebx
je 0x101d99f7
push 0
push 1
push edi
call fcn.101de930
add esp, 0xc
test eax, eax
je 0x101d9a01
push 0x16
push str.TORRENTZIPPED_XXXXXXXX
push edi
call fcn.101dff50
add esp, 0xc
test eax, eax
jns 0x101d9a01
push ebx
call dword [sym.imp.MSVCR110.dll_free]
add esp, 4
pop ebx
pop ebp
or eax, 0xffffffff
pop edi
add esp, 0x2c
ret
cmp dword [edi + 0x34], 0
xorps xmm0, xmm0
push esi
movlpd qword [esp + 0x24], xmm0
movlpd qword [esp + 0x2c], xmm0
jb 0x101d9ab2
ja 0x101d9a27
cmp dword [edi + 0x30], 0
jbe 0x101d9ab2
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov ebp, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 0x20], esi
mov dword [esp + 0x40], edx
nop
mov eax, dword [edi + 0x40]
mov ecx, ebx
add ecx, ecx
cmp dword [eax + ecx*8 + 0xc], 0
jne 0x101d9a90
cmp esi, dword [esp + 0x38]
ja 0x101d9aac
jb 0x101d9a5c
cmp edx, dword [esp + 0x34]
jae 0x101d9aac
mov esi, edx
push 0
shl esi, 4
add esi, dword [esp + 0x14]
push ebp
push ebx
mov dword [esi], ebx
push edi
mov dword [esi + 4], ebp
call fcn.101de9e0
mov edx, dword [esp + 0x50]
add esp, 0x10
mov dword [esi + 8], eax
mov esi, dword [esp + 0x20]
add edx, 1
adc esi, 0
mov dword [esp + 0x40], edx
mov dword [esp + 0x20], esi
add ebx, 1
adc ebp, 0
cmp ebp, dword [edi + 0x34]
jb 0x101d9a40
ja 0x101d9aa2
cmp ebx, dword [edi + 0x30]
jb 0x101d9a40
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x34]
jmp 0x101d9aba
push dword [esp + 0x10]
jmp 0x101d9ac7
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
cmp esi, dword [esp + 0x38]
ja 0x101d9ae8
jb 0x101d9ac6
cmp edx, ebp
jae 0x101d9ae8
push ebx
call dword [sym.imp.MSVCR110.dll_free]
push 0
lea eax, [edi + 0xc]
push 0x14
push eax
call fcn.101dcb20
add esp, 0x10
or eax, 0xffffffff
pop esi
pop ebx
pop ebp
pop edi
add esp, 0x2c
ret
lea eax, [esp + 0x40]
push eax
push edi
call fcn.101da730
add esp, 8
mov dword [esp + 0x20], eax
test eax, eax
jne 0x101d9b13
push ebx
call dword [sym.imp.MSVCR110.dll_free]
add esp, 4
or eax, 0xffffffff
pop esi
pop ebx
pop ebp
pop edi
add esp, 0x2c
ret
push 0
push 1
push edi
call fcn.101de930
add esp, 0xc
test eax, eax
je 0x101d9b36
push 0x101da860
push 0x10
push ebp
push ebx
call dword [sym.imp.MSVCR110.dll_qsort]
add esp, 0x10
push 0
push 1
push edi
call fcn.101de930
add esp, 0xc
cmp eax, 1
jne 0x101d9b5d
push 8
push eax
push edi
call fcn.101de930
add esp, 0xc
test eax, eax
jne 0x101d9b5d
lea edx, [eax + 1]
jmp 0x101d9b5f
xor edx, edx
xor ebp, ebp
xorps xmm0, xmm0
mov dword [esp + 0x1c], edx
movlpd qword [esp + 0x24], xmm0
cmp dword [esp + 0x38], ebp
jb 0x101d9da0
ja 0x101d9b86
mov eax, dword [esp + 0x34]
test eax, eax
je 0x101d9da4
mov eax, dword [esp + 0x28]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0x24], eax
add eax, eax
mov ecx, dword [ebx + eax*8]
mov eax, dword [ebx + eax*8 + 4]
mov esi, ecx
shl esi, 4
add esi, dword [edi + 0x40]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x14], eax
cmp dword [esi + 8], 0
jne 0x101d9bc9
test edx, edx
jne 0x101d9bc9
mov eax, dword [esi + 4]
test eax, eax
je 0x101d9bc5
test byte [eax], 1
jne 0x101d9bc9
xor ebx, ebx
jmp 0x101d9bce
mov ebx, 1
cmp dword [esi + 4], 0
jne 0x101d9bed
push dword [esi]
call fcn.101db080
add esp, 4
mov dword [esi + 4], eax
test eax, eax
je 0x101d9d3b
mov ecx, dword [esp + 0x18]
push dword [esp + 0x14]
mov ebp, dword [esi + 4]
push ecx
push edi
call fcn.101dd480
add esp, 0xc
test eax, eax
js 0x101d9d4b
push 0
push 1
push edi
call fcn.101de930
add esp, 0xc
test eax, eax
je 0x101d9c22
push dword [esi + 4]
call fcn.101dbb00
add esp, 4
push dword [esp + 0x40]
call dword [sym.imp.MSVCR110.dll_ftell]
cdq
add esp, 4
mov dword [ebp + 0x48], eax
mov dword [ebp + 0x4c], edx
test ebx, ebx
je 0x101d9c90
mov eax, dword [esi + 8]
xor ebx, ebx
test eax, eax
jne 0x101d9c66
push eax
push eax
push eax
push eax
push eax
push 8
push dword [esp + 0x2c]
push dword [esp + 0x34]
push edi
push edi
call fcn.101e2060
mov ebx, eax
add esp, 0x28
test ebx, ebx
je 0x101d9d4b
push dword [esp + 0x40]
push ebp
push eax
push edi
call fcn.101d9f90
add esp, 0x10
test eax, eax
js 0x101d9d8a
test ebx, ebx
je 0x101d9d06
push ebx
call fcn.101e15e0
add esp, 4
jmp 0x101d9d06
mov ebx, dword [esp + 0x40]
lea esi, [edi + 0xc]
push esi
push 0x100
mov eax, 0xfff7
and word [ebp + 0x10], ax
push ebx
push ebp
call fcn.101dbbc0
add esp, 0x10
test eax, eax
js 0x101d9ddd
push esi
push dword [esp + 0x18]
push dword [esp + 0x20]
push edi
call fcn.101ddf90
mov ecx, eax
add esp, 0x10
or ecx, edx
je 0x101d9ddd
push 0
push eax
push dword [edi + 4]
call dword [sym.imp.MSVCR110.dll_fseek]
add esp, 0xc
test eax, eax
js 0x101d9dc7
push esi
push ebx
push dword [ebp + 0x24]
push dword [ebp + 0x20]
push dword [edi + 4]
call fcn.101da390
add esp, 0x14
test eax, eax
js 0x101d9ddd
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x10]
add eax, 1
adc edx, 0
cmp edx, dword [esp + 0x38]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
jb 0x101d9b96
ja 0x101d9d9e
cmp eax, dword [esp + 0x34]
jae 0x101d9d9e
jmp 0x101d9b96
push 0
lea eax, [edi + 0xc]
push 0xe
push eax
call fcn.101dcb20
add esp, 0xc
mov ebp, 1
mov ebx, dword [esp + 0x40]
push dword [esp + 0x10]
mov esi, dword [sym.imp.MSVCR110.dll_free]
call esi
add esp, 4
push ebx
test ebp, ebp
je 0x101d9de7
call dword [sym.imp.MSVCR110.dll_fclose]
mov edi, dword [esp + 0x24]
push edi
call dword [sym.imp.MSVCR110.dll_remove]
push edi
call esi
add esp, 0xc
or eax, 0xffffffff
pop esi
pop ebx
pop ebp
pop edi
add esp, 0x2c
ret
mov ebp, 1
test ebx, ebx
je 0x101d9d50
push ebx
call fcn.101e15e0
add esp, 4
jmp 0x101d9d50
xor ebp, ebp
mov eax, dword [esp + 0x34]
mov ebx, dword [esp + 0x40]
push ebx
push dword [esp + 0x3c]
push eax
push dword [esp + 0x1c]
push edi
call fcn.101da600
add esp, 0x14
mov ecx, 1
test eax, eax
cmovs ebp, ecx
jmp 0x101d9d54
call dword [sym.imp.MSVCR110.dll__errno]
push dword [eax]
lea eax, [edi + 0xc]
push 4
push eax
call fcn.101dcb20
add esp, 0xc
mov ebp, 1
jmp 0x101d9d54
mov ebx, dword [sym.imp.MSVCR110.dll_fclose]
call ebx
add esp, 4
test eax, eax
je 0x101d9e25
call dword [sym.imp.MSVCR110.dll__errno]
push dword [eax]
lea eax, [edi + 0xc]
push 3
push eax
call fcn.101dcb20
mov edi, dword [esp + 0x2c]
push edi
call dword [sym.imp.MSVCR110.dll_remove]
push edi
call esi
add esp, 0x14
or eax, 0xffffffff
pop esi
pop ebx
pop ebp
pop edi
add esp, 0x2c
ret
mov eax, dword [edi + 4]
test eax, eax
je 0x101d9e40
push eax
call ebx
add esp, 4
mov dword [edi + 4], 0
mov ebp, 1
jmp 0x101d9e42
xor ebp, ebp
mov ebx, dword [esp + 0x20]
push 3
push dword [edi]
push ebx
call dword [sym.imp.KERNEL32.dll_MoveFileExA]
test eax, eax
jne 0x101d9e97
call dword [sym.imp.MSVCR110.dll__errno]
push dword [eax]
lea eax, [edi + 0xc]
push 2
push eax
call fcn.101dcb20
push ebx
call dword [sym.imp.MSVCR110.dll_remove]
push ebx
call esi
add esp, 0x14
test ebp, ebp
je 0x101d9e8c
push 0x1053acc4
push dword [edi]
call dword [sym.imp.MSVCR110.dll_fopen]
add esp, 8
mov dword [edi + 4], eax
pop esi
pop ebx
pop ebp
or eax, 0xffffffff
pop edi
add esp, 0x2c
ret
push edi
call fcn.101dc910
push ebx
call esi
add esp, 8
xor eax, eax
pop esi
pop ebx
pop ebp
pop edi
add esp, 0x2c
ret