Function at 0x1055610
Capabilities:
Get file size
Get system information on windows
Hash data using sha1
Hash data using sha1 via wincrypt
Hash data via wincrypt
Initialize hashing via wincrypt
Read file via mapping

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0xf0
mov eax, dword [0x1079e94]
push ebx
push esi
mov esi, dword [ebp + 8]
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push edi
xor edi, edi
mov dword [ebp - 0xcc], eax
mov dword [eax], edi
lea eax, [ebp - 0xf0]
push eax
mov dword [ebp - 0x94], edi
mov dword [ebp - 0xb0], edi
mov dword [ebp - 0xa0], edi
mov dword [ebp - 0x98], edi
mov dword [ebp - 0xac], 0x14
call dword [sym.imp.KERNEL32.dll_GetSystemInfo]
mov eax, dword [ebp - 0xd4]
push edi
push 0x80
push 3
push edi
push 1
push 0x80000000
push esi
mov dword [ebp - 0xa8], eax
call dword [sym.imp.KERNEL32.dll_CreateFileW]
mov ebx, eax
cmp ebx, 0xffffffff
mov dword [ebp - 0xc4], ebx
jne 0x10556c1
call fcn.0106d6ff
mov ebx, eax
cmp ebx, edi
jne 0x10556b0
push edi
push 0x1330019a
call fcn.01053610
mov ebx, 0x80070002
push ebx
push 0x1333019a
push esi
call fcn.0105364b
jmp 0x1055958
lea eax, [ebp - 0xb0]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, 0xffffffff
mov dword [ebp - 0x9c], eax
jne 0x10556ef
mov ebx, 0x80070002
push ebx
push 0x1339019a
call fcn.01053610
jmp 0x105594c
mov esi, dword [ebp - 0xb0]
push edi
push edi
push edi
push 2
xor eax, eax
or eax, dword [ebp - 0x9c]
push edi
xor ecx, ecx
push ebx
mov dword [ebp - 0xc0], eax
or esi, ecx
call dword [sym.imp.KERNEL32.dll_CreateFileMappingW]
cmp eax, edi
mov dword [ebp - 0x9c], eax
jne 0x1055730
call fcn.0106d6ff
mov ebx, eax
push ebx
push 0x1347019a
jmp 0x10558fa
push 0xf0000000
push 1
push 0x100caa0
push edi
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x1055760
call fcn.0106d6ff
mov ebx, eax
push ebx
push 0x1354019a
jmp 0x10558fa
lea eax, [ebp - 0x98]
push eax
push edi
push edi
push 0x8004
push dword [ebp - 0xa0]
call dword [sym.imp.ADVAPI32.dll_CryptCreateHash]
test eax, eax
jne 0x1055790
call fcn.0106d6ff
mov ebx, eax
push ebx
push 0x135b019a
jmp 0x10558fa
xor ebx, ebx
cmp esi, edi
mov dword [ebp - 0xb8], edi
jl 0x105586b
jg 0x10557ae
cmp dword [ebp - 0xc0], edi
jbe 0x105586b
xor edx, edx
mov ecx, dword [ebp - 0xc0]
sub ecx, dword [ebp - 0xb8]
mov eax, esi
sbb eax, ebx
cmp edx, eax
jg 0x10557dc
jl 0x10557ce
cmp dword [ebp - 0xa8], ecx
jae 0x10557dc
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xa4], eax
jmp 0x10557e2
mov dword [ebp - 0xa4], ecx
push dword [ebp - 0xa4]
mov eax, ebx
push dword [ebp - 0xb8]
sar eax, 0x1f
push ebx
push 4
push dword [ebp - 0x9c]
call dword [sym.imp.KERNEL32.dll_MapViewOfFile]
cmp eax, edi
mov dword [ebp - 0x94], eax
je 0x1055898
push edi
push dword [ebp - 0xa4]
push eax
push dword [ebp - 0x98]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
je 0x10558a7
push dword [ebp - 0x94]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
test eax, eax
je 0x10558b6
mov eax, dword [ebp - 0xa8]
add dword [ebp - 0xb8], eax
push 0
pop edx
adc ebx, edx
cmp ebx, esi
mov dword [ebp - 0x94], edi
jl 0x10557b0
jg 0x105586b
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0xb8], eax
jb 0x10557b0
push edi
lea eax, [ebp - 0xac]
push eax
lea eax, [ebp - 0x18]
push eax
push 2
push dword [ebp - 0x98]
call dword [sym.imp.ADVAPI32.dll_CryptGetHashParam]
test eax, eax
jne 0x10558c5
call fcn.0106d6ff
mov ebx, eax
push ebx
push 0x1389019a
jmp 0x10558fa
call fcn.0106d6ff
mov ebx, eax
push ebx
push 0x136f019a
jmp 0x105591f
call fcn.0106d6ff
mov ebx, eax
push ebx
push 0x1376019a
jmp 0x105591f
call fcn.0106d6ff
mov ebx, eax
push ebx
push 0x137e019a
jmp 0x10558fa
lea eax, [ebp - 0x90]
push eax
lea eax, [ebp - 0xc8]
push eax
lea eax, [ebp - 0x18]
push eax
push dword [ebp - 0xac]
mov dword [ebp - 0xc8], 0x78
push 1
call fcn.0106d9aa
mov ebx, eax
cmp ebx, edi
je 0x1055901
push ebx
push 0x1393019a
call fcn.01053610
jmp 0x1055938
push dword [ebp - 0xcc]
lea eax, [ebp - 0x90]
push eax
call fcn.0106d913
mov ebx, eax
cmp ebx, edi
je 0x1055938
push ebx
push 0x1396019a
call fcn.01053610
cmp dword [ebp - 0x94], edi
je 0x1055938
push dword [ebp - 0x94]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
cmp dword [ebp - 0x9c], edi
je 0x105594c
push dword [ebp - 0x9c]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
push dword [ebp - 0xc4]
call dword [sym.imp.KERNEL32.dll_CloseHandle]
cmp dword [ebp - 0x98], edi
je 0x105597b
push dword [ebp - 0x98]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
test eax, eax
jne 0x105597b
cmp ebx, edi
jne 0x105597b
call fcn.0106d6ff
mov ebx, eax
cmp dword [ebp - 0xa0], edi
je 0x105599f
push edi
push dword [ebp - 0xa0]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
test eax, eax
jne 0x105599f
cmp ebx, edi
jne 0x105599f
call fcn.0106d6ff
mov ebx, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
pop ebx
call fcn.0104b509
leave
ret 8