Function at 0x100a22f
Capabilities:
Copy file
Delete file
Identify system language via api
Read file on windows
Set file attributes

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x688
mov eax, dword [0x101fb10]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
mov ebx, dword [ebp + 8]
push esi
push edi
mov esi, 0x200
push esi
lea eax, [ebp - 0x308]
push eax
push 0x41e
mov dword [ebp - 0x654], ebx
mov dword [ebp - 0x65c], 0x45d
call fcn.0100684a
lea eax, [ebp - 0x308]
push eax
push 0x856
push ebx
call fcn.01006bbf
push 0x10231e0
push esi
lea eax, [ebp - 0x308]
push eax
mov edi, 0x1001aa0
push edi
push 0x1001a90
push 0x10014c4
call fcn.01007436
test eax, eax
jne 0x100a2b7
push edi
push esi
lea eax, [ebp - 0x308]
push eax
call fcn.01006dcd
push 0x104
lea eax, [ebp - 0x108]
push eax
lea eax, [ebp - 0x308]
push eax
call fcn.010082dd
test eax, eax
lea eax, [ebp - 0x108]
jne 0x100a2f2
push 0
push 0x10
push 0
push eax
push 0x46d
push ebx
call fcn.01007006
xor eax, eax
jmp 0x100a9c6
xor ebx, ebx
push ebx
mov edi, 0x1020ffc
push edi
push eax
call dword [sym.imp.KERNEL32.dll_CopyFileA]
test eax, eax
jne 0x100a33b
call dword [sym.imp.KERNEL32.dll_GetLastError]
push ebx
push esi
lea ecx, [ebp - 0x508]
push ecx
push ebx
push eax
push ebx
push 0x1000
call dword [sym.imp.KERNEL32.dll_FormatMessageA]
push ebx
push 0x10
lea eax, [ebp - 0x508]
push eax
push edi
push 0x45b
push dword [ebp - 0x654]
jmp 0x100a2e6
push 0x80
push edi
call dword [sym.imp.KERNEL32.dll_SetFileAttributesA]
push ebx
lea eax, [ebp - 0x108]
push eax
call fcn.0100d545
mov dword [ebp - 0x64c], eax
cmp eax, ebx
jne 0x100a370
push ebx
push 0x10
push ebx
lea eax, [ebp - 0x108]
push eax
push 0x45c
jmp 0x100a333
call dword [sym.imp.KERNEL32.dll_GetUserDefaultUILanguage]
mov esi, dword [sym.imp.KERNEL32.dll_lstrlenA]
movzx ebx, ax
mov edi, 0x1020c78
push edi
mov dword [ebp - 0x660], ebx
call esi
inc eax
push eax
push edi
push ebx
push 0x1001a88
push 0xa
push dword [ebp - 0x64c]
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
cmp dword [0x1020b64], 0
je 0x100a3e1
mov edi, 0x1020cf8
push edi
call esi
inc eax
push eax
push edi
push ebx
push 0x1001a80
push 0xa
push dword [ebp - 0x64c]
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
mov edi, 0x1001a78
jmp 0x100a407
mov edi, 0x1001a78
push edi
call esi
inc eax
push eax
push edi
push ebx
push 0x1001a80
push 0xa
push dword [ebp - 0x64c]
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
cmp dword [0x1020b68], 0
je 0x100a54a
lea eax, [ebp - 0x648]
push eax
mov ebx, 0x1020ef8
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, dword [ebp - 0x628]
sub edi, dword [ebp - 0x62c]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
push eax
push eax
push 3
push eax
push eax
push 0x80000000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x650], eax
cmp eax, 0xffffffff
jne 0x100a480
push 0
push 0x10
push 0
push ebx
push 0x468
push dword [ebp - 0x654]
call fcn.01007006
push 0x1020ffc
call dword [sym.imp.KERNEL32.dll_DeleteFileA]
jmp 0x100a2eb
lea eax, [ebp - 0x658]
push eax
push 1
push edi
call fcn.0100ffcd
test eax, eax
jge 0x100a4a1
xor eax, eax
push eax
push 0x10
push eax
push eax
push 0x44c
jmp 0x100a465
push dword [ebp - 0x658]
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
xor ecx, ecx
mov dword [ebp - 0x658], eax
push ecx
cmp eax, ecx
jne 0x100a4c2
push 0x10
push ecx
push ecx
jmp 0x100a49a
lea ecx, [ebp - 0x664]
push ecx
push edi
push eax
push dword [ebp - 0x650]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x100a4ea
push eax
push 0x10
push eax
push ebx
push 0x469
jmp 0x100a465
push dword [ebp - 0x650]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
lea eax, [edi + 1]
cmp eax, edi
jb 0x100a539
push eax
push dword [ebp - 0x658]
push dword [ebp - 0x660]
push 0x1001a70
push 0xa
push dword [ebp - 0x64c]
call fcn.0100bdc2
test eax, eax
je 0x100a539
push dword [ebp - 0x658]
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ebx, dword [ebp - 0x660]
mov edi, 0x1001a78
jmp 0x100a56b
push dword [ebp - 0x658]
call dword [sym.imp.KERNEL32.dll_LocalFree]
jmp 0x100a9b1
push edi
call esi
inc eax
push eax
push edi
push ebx
push 0x1001a70
push 0xa
push dword [ebp - 0x64c]
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
cmp dword [0x1022584], 0x865
je 0x100a659
mov ebx, 0x1021b18
push ebx
call esi
inc eax
push eax
push ebx
mov ebx, 0x409
push ebx
push 0x1001a64
push 0xa
push dword [ebp - 0x64c]
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
push 0x1021918
call esi
inc eax
push eax
push 0x1021918
push ebx
push 0x1001a54
push 0xa
push dword [ebp - 0x64c]
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
cmp byte [0x1022164], 0
je 0x100a5df
push 0x1022164
jmp 0x100a5e0
push edi
call esi
inc eax
cmp byte [0x1022164], 0
mov ecx, 0x1022164
jne 0x100a5f3
mov ecx, edi
push eax
push ecx
push ebx
push 0x1001a4c
push 0xa
push dword [ebp - 0x64c]
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
cmp byte [0x102236c], 0
je 0x100a620
push 0x102236c
jmp 0x100a621
push edi
call esi
inc eax
cmp byte [0x102236c], 0
mov ecx, 0x102236c
jne 0x100a634
mov ecx, edi
push eax
push ecx
push ebx
push 0x1001a44
push 0xa
push dword [ebp - 0x64c]
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
mov ebx, dword [ebp - 0x660]
jmp 0x100a67a
push edi
call esi
inc eax
push eax
push edi
push ebx
push 0x1001a64
push 0xa
push dword [ebp - 0x64c]
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
push 4
push 0x1022588
push ebx
push 0x1001a38
push 0xa
push dword [ebp - 0x64c]
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
cmp dword [0x1020b6c], 0
je 0x100a6aa
mov edi, 0x1021100
push edi
call esi
inc eax
push eax
push edi
push ebx
push 0x1001a2c
push 0xa
push dword [ebp - 0x64c]
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
lea eax, [ebp - 0x648]
push eax
mov ebx, 0x102160c
push ebx
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, dword [ebp - 0x628]
sub edi, dword [ebp - 0x62c]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
xor eax, eax
push eax
push eax
push 3
push eax
push eax
push 0x80000000
push ebx
call dword [sym.imp.KERNEL32.dll_CreateFileA]
mov dword [ebp - 0x650], eax
cmp eax, 0xffffffff
jne 0x100a721
push 0
push 0x10
push 0
push ebx
push 0x46a
jmp 0x100a465
lea eax, [edi + 1]
push eax
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x658], eax
test eax, eax
jne 0x100a746
mov dword [ebp - 0x65c], 0x44c
jmp 0x100a9b1
push 0
lea ecx, [ebp - 0x664]
push ecx
push edi
push eax
push dword [ebp - 0x650]
call dword [sym.imp.KERNEL32.dll_ReadFile]
test eax, eax
jne 0x100a770
push eax
push 0x10
push eax
push ebx
push 0x46b
jmp 0x100a465
push dword [ebp - 0x650]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push edi
push dword [ebp - 0x658]
push dword [ebp - 0x660]
push 0x1001a24
push 0xa
push dword [ebp - 0x64c]
call fcn.0100bdc2
push dword [ebp - 0x658]
test eax, eax
je 0x100a53f
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ebx, dword [0x10225a4]
push 9
pop ecx
xor eax, eax
lea edi, [ebp - 0x688]
rep stosd dword es:[edi], eax
jmp 0x100a883
push dword [ebx + 4]
mov edi, dword [ebx]
call esi
push edi
mov dword [ebp - 0x650], eax
call esi
mov ecx, dword [ebp - 0x650]
lea edi, [ecx + eax + 1]
push edi
push 0x40
call dword [sym.imp.KERNEL32.dll_LocalAlloc]
mov dword [ebp - 0x650], eax
test eax, eax
je 0x100a737
push dword [ebx + 4]
push edi
push eax
call fcn.01006dcd
push dword [ebx]
push edi
push dword [ebp - 0x650]
call fcn.01006e54
lea eax, [ebp - 0x648]
push eax
push dword [ebp - 0x650]
call dword [sym.imp.KERNEL32.dll_FindFirstFileA]
mov edi, dword [ebp - 0x628]
sub edi, dword [ebp - 0x62c]
push eax
call dword [sym.imp.KERNEL32.dll_FindClose]
push dword [ebp - 0x650]
call dword [sym.imp.KERNEL32.dll_LocalFree]
and dword [ebp - 0x650], 0
mov ecx, 0x200
xor edx, edx
mov eax, edi
div ecx
neg edx
sbb edx, edx
imul eax, ecx
and edx, ecx
add edx, eax
mov eax, dword [ebp - 0x650]
add dword [ebp + eax*4 - 0x688], edx
add ecx, ecx
inc eax
cmp eax, 8
mov dword [ebp - 0x650], eax
jl 0x100a84e
add dword [ebp - 0x668], edi
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x100a7c7
xor ecx, ecx
lea eax, [ebp + ecx*4 - 0x688]
mov edx, dword [eax]
add edx, 0x3ff
shr edx, 0xa
inc ecx
cmp ecx, 8
mov dword [eax], edx
jl 0x100a88d
mov ebx, dword [ebp - 0x660]
mov edi, dword [ebp - 0x64c]
push 0x24
lea eax, [ebp - 0x688]
push eax
push ebx
push 0x1001a18
push 0xa
push edi
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
push 4
push 0x1022594
push ebx
push 0x1001a10
push 0xa
push edi
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
push 4
push 0x102258c
push ebx
push 0x1001a04
push 0xa
push edi
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
mov eax, dword [0x1022574]
test eax, eax
je 0x100a932
push eax
call esi
inc eax
push eax
push dword [0x1022574]
push ebx
push 0x10019f4
push 0xa
push edi
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
push 4
push 0x102259c
push ebx
push 0x10019e4
push 0xa
push edi
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
push edi
lea eax, [ebp - 0x108]
push eax
push dword [ebp - 0x654]
call fcn.0101071c
test eax, eax
jne 0x100a96e
mov dword [ebp - 0x65c], 0x471
jmp 0x100a9b1
mov eax, dword [0x10225a0]
test eax, eax
je 0x100a98c
push dword [eax]
push eax
push ebx
push 0x10019d8
push 0xa
push edi
call fcn.0100bdc2
test eax, eax
je 0x100a9b1
push 0x1020ffc
push edi
call fcn.0100b48c
test eax, eax
je 0x100a9b1
push 0
push edi
call fcn.0100d351
test eax, eax
jne 0x100a9c3
mov dword [ebp - 0x65c], 0x45e
xor eax, eax
push eax
push 0x10
push eax
push eax
push dword [ebp - 0x65c]
jmp 0x100a465
xor eax, eax
inc eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.01010bbf
leave
ret 4