Function at 0x100c825
Capabilities:
Check if file exists
Delete file
Move file

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x18
push ebx
xor eax, eax
mov ebx, ecx
mov ecx, dword [ebp + 0x14]
push esi
push edi
mov edi, dword [ebp + 0x18]
mov byte [ecx], al
mov dword [edi], eax
mov dword [ebp - 0xc], ebx
mov dword [ebp - 4], eax
mov dword [ebp - 8], eax
cmp byte [ebx + 0xc], al
jne 0x100c6e6
mov esi, 0x8000ffff
mov eax, dword [section..data]
cmp eax, section..data
je 0x100c97d
test byte [eax + 0x1c], 1
je 0x100c97d
push esi
push 0x10018e4
push 0x10
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002fd5
jmp 0x100c97d
cmp dword [ebp + 8], eax
jne 0x100c714
mov esi, 0x80070057
mov eax, dword [section..data]
cmp eax, section..data
je 0x100c97d
test byte [eax + 0x1c], 1
je 0x100c97d
push esi
push 0x10018e4
push 0x11
jmp 0x100c6d6
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp + 0xc]
call fcn.0100baa0
mov esi, eax
test esi, esi
jge 0x100c74b
mov eax, dword [section..data]
cmp eax, section..data
je 0x100c97d
test byte [eax + 0x1c], 1
je 0x100c97d
push esi
push 0x10018e4
push 0x12
jmp 0x100c6d6
mov eax, dword [ebx + 0x14]
cmp eax, 1
je 0x100c784
cmp eax, 2
je 0x100c784
mov esi, 0x8000ffff
mov eax, dword [section..data]
cmp eax, section..data
je 0x100c97d
test byte [eax + 0x1c], 1
je 0x100c97d
push esi
push 0x10018e4
push 0x15
jmp 0x100c6d6
lea eax, [ebp - 8]
push eax
mov eax, dword [ebx + 8]
push dword [ebp + 0xc]
add eax, dword [ebp + 8]
mov ecx, ebx
push eax
call fcn.0100b898
mov esi, eax
test esi, esi
jge 0x100c7c6
mov eax, dword [section..data]
cmp eax, section..data
je 0x100c95d
test byte [eax + 0x1c], 1
je 0x100c95d
push esi
push 0x10018e4
push 0x13
jmp 0x100c892
mov esi, dword [ebp - 8]
test esi, esi
je 0x100c856
mov eax, dword [ebx + 0x14]
cmp eax, 1
jne 0x100c8ac
mov edi, dword [ebx + 0x10]
mov eax, dword [edi + 4]
mov ecx, eax
or edx, 0xffffffff
shr eax, 5
and ecx, 0x1f
shl edx, cl
mov ecx, eax
add esi, 8
and edx, dword [esi + 4]
movzx eax, dl
add eax, 0xb15dcb
imul eax, eax, 0x25
mov dword [ebp + 0x14], edx
movzx edx, dh
add eax, edx
movzx edx, byte [ebp + 0x16]
imul eax, eax, 0x25
add eax, edx
movzx edx, byte [ebp + 0x17]
imul eax, eax, 0x25
add eax, edx
mov edx, eax
lea eax, [ecx - 1]
mov ecx, dword [edi + 8]
and eax, edx
mov edx, dword [esi]
lea eax, [ecx + eax*4]
mov ecx, 0x80000002
and edx, ecx
mov dword [ebp - 0x10], eax
cmp edx, ecx
jne 0x100c84c
mov eax, dword [CloseTrace]
mov eax, dword [ebp - 0x10]
jmp 0x100c84c
mov edx, dword [eax]
cmp edx, esi
je 0x100c8a2
mov eax, edx
test byte [eax], 1
je 0x100c844
mov eax, dword [CloseTrace]
lea eax, [ebp - 4]
push eax
push dword [ebp + 0x10]
mov ecx, ebx
push dword [ebp + 0xc]
push dword [ebp + 8]
call fcn.0100b704
mov esi, eax
test esi, esi
jge 0x100c8e8
mov eax, dword [section..data]
cmp eax, section..data
je 0x100c95d
test byte [eax + 0x1c], 1
je 0x100c95d
push esi
push 0x10018e4
push 0x16
push dword [eax + 0x14]
push dword [eax + 0x10]
call fcn.01002fd5
jmp 0x100c95d
mov edx, dword [esi]
mov dword [eax], edx
dec dword [edi]
or dword [esi], ecx
jmp 0x100c856
cmp eax, 2
jne 0x100c8c3
mov eax, dword [ebp + 0x14]
add esi, 0x10
mov byte [eax], 1
mov dword [edi], esi
xor esi, esi
jmp 0x100c97d
mov esi, 0x8000ffff
mov eax, dword [section..data]
cmp eax, section..data
je 0x100c95d
test byte [eax + 0x1c], 1
je 0x100c95d
push esi
push 0x10018e4
push 0x14
jmp 0x100c892
mov eax, dword [ebx + 0x18]
test eax, eax
je 0x100c8f8
mov ecx, dword [ebp - 4]
add ecx, 0x10
push ecx
call eax
mov edx, dword [ebx + 0x10]
mov ecx, dword [edx + 4]
mov esi, dword [ebp - 4]
mov edi, ecx
and ecx, 0x1f
or ebx, 0xffffffff
shl ebx, cl
add esi, 8
shr edi, 5
and ebx, dword [esi + 4]
movzx eax, bl
add eax, 0xb15dcb
imul eax, eax, 0x25
movzx ecx, bh
add eax, ecx
imul eax, eax, 0x25
mov dword [ebp + 0x14], ebx
movzx ecx, byte [ebp + 0x16]
add eax, ecx
movzx ecx, byte [ebp + 0x17]
imul eax, eax, 0x25
mov ebx, dword [ebp - 0xc]
add eax, ecx
dec edi
and edi, eax
mov eax, dword [edx + 8]
lea eax, [eax + edi*4]
mov ecx, dword [eax]
mov dword [esi], ecx
mov ecx, dword [ebp + 0x18]
mov dword [eax], esi
mov eax, dword [ebp - 4]
inc dword [edx]
add eax, 0x10
xor esi, esi
mov dword [ecx], eax
mov dword [ebp - 4], esi
cmp dword [ebp - 8], 0
je 0x100c96d
push dword [ebp - 8]
mov ecx, ebx
call fcn.0100a4d2
cmp dword [ebp - 4], 0
je 0x100c97d
push dword [ebp - 4]
mov ecx, ebx
call fcn.0100a4d2
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret 0x14