Function at 0x107d4dc
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 [0x10b5894]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 0xc]
push ebx
push esi
mov esi, dword [ebp + 8]
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 0x107d58f
call fcn.010a4804
mov ebx, eax
cmp ebx, edi
jne 0x107d57e
push edi
push 0x1723019a
call fcn.0107ae44
mov ebx, 0x80070002
push ebx
push 0x1726019a
push esi
call fcn.0107ae7f
jmp 0x107d831
lea eax, [ebp - 0xb0]
push eax
push ebx
call dword [sym.imp.KERNEL32.dll_GetFileSize]
cmp eax, 0xffffffff
mov dword [ebp - 0x9c], eax
jne 0x107d5bd
mov ebx, 0x80070002
push ebx
push 0x172c019a
call fcn.0107ae44
jmp 0x107d825
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 0x107d603
call fcn.010a4804
mov ebx, eax
push ebx
push 0x173a019a
call fcn.0107ae44
jmp 0x107d811
push 0xf0000000
push 1
push 0x1010268
push edi
lea eax, [ebp - 0xa0]
push eax
call dword [sym.imp.ADVAPI32.dll_CryptAcquireContextW]
test eax, eax
jne 0x107d630
call fcn.010a4804
mov ebx, eax
push ebx
push 0x1747019a
jmp 0x107d5f9
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 0x107d65d
call fcn.010a4804
mov ebx, eax
push ebx
push 0x174e019a
jmp 0x107d5f9
xor ebx, ebx
cmp esi, edi
mov dword [ebp - 0xb8], edi
jl 0x107d740
jg 0x107d67b
cmp dword [ebp - 0xc0], edi
jbe 0x107d740
xor edx, edx
mov ecx, dword [ebp - 0xc0]
sub ecx, dword [ebp - 0xb8]
mov eax, esi
sbb eax, ebx
cmp edx, eax
jg 0x107d6a9
jl 0x107d69b
cmp dword [ebp - 0xa8], ecx
jae 0x107d6a9
mov eax, dword [ebp - 0xa8]
mov dword [ebp - 0xa4], eax
jmp 0x107d6af
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 0x107d770
push edi
push dword [ebp - 0xa4]
push eax
push dword [ebp - 0x98]
call dword [sym.imp.ADVAPI32.dll_CryptHashData]
test eax, eax
je 0x107d77f
push dword [ebp - 0x94]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
test eax, eax
je 0x107d78e
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 0x107d67d
jg 0x107d740
mov eax, dword [ebp - 0xc0]
cmp dword [ebp - 0xb8], eax
jb 0x107d67d
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 0x107d7a0
call fcn.010a4804
mov ebx, eax
push ebx
push 0x177c019a
jmp 0x107d5f9
call fcn.010a4804
mov ebx, eax
push ebx
push 0x1762019a
jmp 0x107d7f8
call fcn.010a4804
mov ebx, eax
push ebx
push 0x1769019a
jmp 0x107d7f8
call fcn.010a4804
mov ebx, eax
push ebx
push 0x1771019a
jmp 0x107d5f9
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.010a4ab0
mov ebx, eax
cmp ebx, edi
je 0x107d7da
push ebx
push 0x1786019a
jmp 0x107d5f9
push dword [ebp - 0xcc]
lea eax, [ebp - 0x90]
push eax
call fcn.010a4a18
mov ebx, eax
cmp ebx, edi
je 0x107d811
push ebx
push 0x1789019a
call fcn.0107ae44
cmp dword [ebp - 0x94], edi
je 0x107d811
push dword [ebp - 0x94]
call dword [sym.imp.KERNEL32.dll_UnmapViewOfFile]
cmp dword [ebp - 0x9c], edi
je 0x107d825
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 0x107d854
push dword [ebp - 0x98]
call dword [sym.imp.ADVAPI32.dll_CryptDestroyHash]
test eax, eax
jne 0x107d854
cmp ebx, edi
jne 0x107d854
call fcn.010a4804
mov ebx, eax
cmp dword [ebp - 0xa0], edi
je 0x107d878
push edi
push dword [ebp - 0xa0]
call dword [sym.imp.ADVAPI32.dll_CryptReleaseContext]
test eax, eax
jne 0x107d878
cmp ebx, edi
jne 0x107d878
call fcn.010a4804
mov ebx, eax
mov ecx, dword [ebp - 4]
pop edi
pop esi
mov eax, ebx
xor ecx, ebp
pop ebx
call fcn.01068363
leave
ret 8