Function at 0xa676ee
Capabilities:
Get common file path
Get file size
Read file on windows

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0xb0e7b0
push 0xa713d8
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
add esp, 0xfffff9a4
push ebx
push esi
push edi
mov dword [ebp - 0x18], esp
mov dword [ebp - 0x458], 0
mov byte [ebp - 0x344], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x343]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x664], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x663]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x124], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x123]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov byte [ebp - 0x560], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x55f]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x20], 0
mov dword [ebp - 0x1c], 0
mov byte [ebp - 0x454], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x453]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x128], 0
mov dword [ebp - 0x130], 0
mov dword [ebp - 0x134], 0
mov dword [ebp - 0x350], 0
mov byte [ebp - 0x23c], 0
mov ecx, 0x40
xor eax, eax
lea edi, [ebp - 0x23b]
rep stosd dword es:[edi], eax
stosw word es:[edi], ax
stosb byte es:[edi], al
mov dword [ebp - 0x12c], 0
mov dword [ebp - 0x34c], 0
mov dword [ebp - 0x138], 0
mov dword [ebp - 0x348], 0
call fcn.00a67dd8
mov dword [ebp - 0x34c], eax
mov dword [ebp - 4], 0
push 0x104
lea eax, [ebp - 0x344]
push eax
call dword [sym.imp.kernel32.dll_GetSystemDirectoryA]
test eax, eax
jne 0xa6784c
mov dword [ebp - 0x12c], 0x30000401
jmp 0xa67d32
cmp dword [ebp - 0x34c], 2
jb 0xa678a7
push 1
lea ecx, [ebp - 0x348]
push ecx
lea edx, [ebp - 0x23c]
push edx
push 0xbd4f54
call fcn.00a6b429
cmp eax, 1
je 0xa67883
mov dword [ebp - 0x12c], 0x30000407
jmp 0xa67d32
lea eax, [ebp - 0x344]
push eax
lea ecx, [ebp - 0x23c]
push ecx
push 0x104
lea edx, [ebp - 0x124]
push edx
call fcn.00a68ee0
add esp, 0x10
jmp 0xa6791c
push 0x104
lea eax, [ebp - 0x664]
push eax
call dword [sym.imp.kernel32.dll_GetWindowsDirectoryA]
test eax, eax
jne 0xa678cc
mov dword [ebp - 0x12c], 0x30000401
jmp 0xa67d32
push 1
lea ecx, [ebp - 0x348]
push ecx
lea edx, [ebp - 0x23c]
push edx
push 0xbd4f78
call fcn.00a6b429
cmp eax, 1
je 0xa678fa
mov dword [ebp - 0x12c], 0x30000407
jmp 0xa67d32
lea eax, [ebp - 0x664]
push eax
lea ecx, [ebp - 0x23c]
push ecx
push 0x104
lea edx, [ebp - 0x124]
push edx
call fcn.00a68ee0
add esp, 0x10
cmp dword [ebp - 0x34c], 3
jne 0xa6793e
call fcn.00a6743f
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0
je 0xa6793e
jmp 0xa67d32
push 1
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x23c]
push ecx
push 0xbd4f88
call fcn.00a6b429
cmp eax, 1
je 0xa6796c
mov dword [ebp - 0x12c], 0x30000407
jmp 0xa67d32
lea edx, [ebp - 0x23c]
push edx
lea eax, [ebp - 0x344]
push eax
push 0xbd4f9c
push 0x104
lea ecx, [ebp - 0x560]
push ecx
call fcn.00a68ee0
add esp, 0x14
lea edx, [ebp - 0x560]
push edx
call dword [sym.imp.kernel32.dll_LoadLibraryA]
mov dword [ebp - 0x138], eax
cmp dword [ebp - 0x138], 0
jne 0xa679be
mov dword [ebp - 0x12c], 0x3000040a
jmp 0xa67d32
push 1
lea eax, [ebp - 0x348]
push eax
lea ecx, [ebp - 0x23c]
push ecx
push 0xbd4fa4
call fcn.00a6b429
cmp eax, 1
je 0xa679ec
mov dword [ebp - 0x12c], 0x30000407
jmp 0xa67d32
lea edx, [ebp - 0x23c]
push edx
mov eax, dword [ebp - 0x138]
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
mov dword [0xbe6bc0], eax
cmp dword [0xbe6bc0], 0
jne 0xa67a1d
mov dword [ebp - 0x12c], 0x30000408
jmp 0xa67d32
push 0
push 0x80
push 3
push 0
push 1
push 0x80000000
lea ecx, [ebp - 0x124]
push ecx
call dword [sym.imp.kernel32.dll_CreateFileA]
mov dword [ebp - 0x458], eax
cmp dword [ebp - 0x458], 0xffffffff
jne 0xa67a5a
mov dword [ebp - 0x12c], 0x30000402
jmp 0xa67d32
push 0
mov edx, dword [ebp - 0x458]
push edx
call dword [sym.imp.kernel32.dll_GetFileSize]
mov dword [ebp - 0x20], eax
cmp dword [ebp - 0x20], 0xffffffff
jne 0xa67a81
mov dword [ebp - 0x12c], 0x30000403
jmp 0xa67d32
mov eax, dword [ebp - 0x20]
add eax, 1
push eax
call fcn.00a70e58
add esp, 4
mov dword [ebp - 0x130], eax
cmp dword [ebp - 0x130], 0
jne 0xa67aae
mov dword [ebp - 0x12c], 0x30000404
jmp 0xa67d32
mov ecx, dword [ebp - 0x20]
add ecx, 1
push ecx
call fcn.00a70e58
add esp, 4
mov dword [ebp - 0x134], eax
cmp dword [ebp - 0x134], 0
jne 0xa67adb
mov dword [ebp - 0x12c], 0x30000404
jmp 0xa67d32
push 0
lea edx, [ebp - 0x1c]
push edx
mov eax, dword [ebp - 0x20]
push eax
mov ecx, dword [ebp - 0x130]
push ecx
mov edx, dword [ebp - 0x458]
push edx
call dword [sym.imp.kernel32.dll_ReadFile]
cmp eax, 1
je 0xa67b0d
mov dword [ebp - 0x12c], 0x30000405
jmp 0xa67d32
mov eax, dword [ebp - 0x20]
cmp eax, dword [ebp - 0x1c]
jne 0xa67b1b
cmp dword [ebp - 0x1c], 7
jae 0xa67b2a
mov dword [ebp - 0x12c], 0x30000405
jmp 0xa67d32
mov ecx, dword [ebp - 0x130]
mov dword [ebp - 0x350], ecx
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x130]
push eax
mov ecx, dword [ebp - 0x134]
push ecx
call fcn.00a6fce0
add esp, 0xc
mov edx, dword [ebp - 0x350]
add edx, dword [ebp - 0x20]
mov byte [edx], 0
mov eax, dword [ebp + 8]
mov dword [ebp - 0x240], eax
mov ecx, dword [ebp + 8]
mov edx, dword [ecx + 4]
mov dword [ebp - 0x45c], edx
mov eax, dword [ebp - 0x45c]
cmp eax, dword [ebp - 0x240]
je 0xa67d32
mov ecx, dword [ebp - 0x45c]
add ecx, 0x130
push ecx
push 0x104
lea edx, [ebp - 0x454]
push edx
call fcn.00a66db0
push 0x2f
lea eax, [ebp - 0x454]
push eax
call fcn.00a717d0
add esp, 8
mov dword [ebp - 0x668], eax
cmp dword [ebp - 0x668], 0
je 0xa67bca
mov ecx, dword [ebp - 0x668]
mov byte [ecx], 0
lea edx, [ebp - 0x454]
push edx
call dword [0xbe6bc0]
cmp eax, 0xffffffff
je 0xa67bed
mov eax, dword [ebp - 0x45c]
mov ecx, dword [eax + 4]
mov dword [ebp - 0x45c], ecx
jmp 0xa67b71
cmp dword [ebp - 0x34c], 3
jb 0xa67bff
cmp dword [0xbe6bb4], 0
jne 0xa67c37
push 0
lea edx, [ebp - 0x454]
push edx
mov eax, dword [ebp - 0x20]
add eax, 1
push eax
mov ecx, dword [ebp - 0x350]
push ecx
call fcn.00a67e7c
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0x300000d0
jne 0xa67c32
jmp 0xa67d32
jmp 0xa67d04
mov dword [ebp - 0x66c], 0
push 0
lea edx, [ebp - 0x66c]
push edx
push 0
push 0x148
push 1
lea eax, [ebp - 0x454]
push eax
call dword [0xbe6bb4]
test eax, eax
jne 0xa67cad
mov ecx, dword [ebp - 0x66c]
push ecx
lea edx, [ebp - 0x454]
push edx
mov eax, dword [ebp - 0x20]
add eax, 1
push eax
mov ecx, dword [ebp - 0x350]
push ecx
call fcn.00a67e7c
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0x300000d0
jne 0xa67cab
push 1
mov edx, dword [ebp - 0x66c]
push edx
call dword [0xbe6bbc]
jmp 0xa67d32
jmp 0xa67cec
push 0
lea eax, [ebp - 0x454]
push eax
mov ecx, dword [ebp - 0x20]
add ecx, 1
push ecx
mov edx, dword [ebp - 0x350]
push edx
call fcn.00a67e7c
mov dword [ebp - 0x12c], eax
cmp dword [ebp - 0x12c], 0x300000d0
jne 0xa67cec
push 1
mov eax, dword [ebp - 0x66c]
push eax
call dword [0xbe6bbc]
jmp 0xa67d32
cmp dword [ebp - 0x66c], 0
je 0xa67d04
push 1
mov ecx, dword [ebp - 0x66c]
push ecx
call dword [0xbe6bbc]
mov edx, dword [ebp - 0x20]
push edx
mov eax, dword [ebp - 0x134]
push eax
mov ecx, dword [ebp - 0x130]
push ecx
call fcn.00a6fce0
add esp, 0xc
mov edx, dword [ebp - 0x45c]
mov eax, dword [edx + 4]
mov dword [ebp - 0x45c], eax
jmp 0xa67b71
mov dword [ebp - 4], 0xffffffff
jmp 0xa67d55
cmp dword [ebp - 0x34c], 3
jne 0xa67d63
call fcn.00a676d4
cmp dword [ebp - 0x130], 0
je 0xa67d7b
mov ecx, dword [ebp - 0x130]
push ecx
call fcn.00a70d6f
add esp, 4
cmp dword [ebp - 0x134], 0
je 0xa67d93
mov edx, dword [ebp - 0x134]
push edx
call fcn.00a70d6f
add esp, 4
cmp dword [ebp - 0x458], 0xffffffff
je 0xa67da9
mov eax, dword [ebp - 0x458]
push eax
call dword [sym.imp.kernel32.dll_CloseHandle]
cmp dword [ebp - 0x138], 0
je 0xa67dbf
mov ecx, dword [ebp - 0x138]
push ecx
call dword [sym.imp.kernel32.dll_FreeLibrary]
mov eax, dword [ebp - 0x12c]
mov ecx, dword [ebp - 0x10]
mov dword fs:[0], ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 4