Function at 0x43a7af
Capabilities:
Get file size
Hash data via bcrypt

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x78
mov eax, dword [0x475280]
xor eax, ebp
mov dword [ebp - 8], eax
mov eax, dword [ebp + 8]
push ebx
mov dword [ebp - 0x30], eax
xor ebx, ebx
push esi
push edi
xor eax, eax
mov dword [ebp - 0x3c], edx
lea edi, [ebp - 0x1c]
mov dword [ebp - 0x50], ecx
mov esi, ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x34], ebx
mov dword [ebp - 0x40], ebx
stosd dword es:[edi], eax
mov dword [ebp - 0x44], ebx
mov dword [ebp - 0x2c], ebx
mov dword [ebp - 0x28], ebx
stosd dword es:[edi], eax
stosd dword es:[edi], eax
stosd dword es:[edi], eax
mov edi, ebx
mov dword [ebp - 0x24], edi
cmp dword [edx + 0x20], ebx
jne 0x43a814
mov esi, 0x80070057
push esi
push 0x210
mov ecx, 0x407770
call fcn.0043f87d
jmp 0x43aae9
push 2
pop edx
call fcn.0042f3ae
mov edx, dword [ebp - 0x30]
mov dword [ebp - 0x4c], eax
lea eax, [ebp - 0x2c]
push eax
push dword [edx + 0x14]
call dword [sym.imp.KERNEL32.dll_GetFileSizeEx]
test eax, eax
jne 0x43a868
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00411710
test eax, eax
jns 0x43a853
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00411710
mov esi, eax
jmp 0x43a858
mov esi, 0x80004005
test esi, esi
jns 0x43aae9
push esi
push 0x21c
jmp 0x43a805
mov edx, dword [ebp - 0x3c]
mov ecx, dword [edx + 8]
add ecx, dword [edx + 0x18]
mov eax, dword [edx + 0xc]
adc eax, dword [edx + 0x1c]
mov edx, dword [ebp - 0x30]
or byte [edx + 0x3f], 0x10
mov dword [edx + 0x40], ecx
mov ecx, edx
mov dword [edx + 0x44], eax
mov dword [edx + 0x48], ebx
mov dword [edx + 0x4c], ebx
call fcn.00445940
mov ecx, dword [ebp - 0x3c]
lea edx, [ebp - 0x38]
mov eax, dword [ebp - 0x2c]
push ebx
push ebx
add dword [ecx + 0x18], eax
mov eax, dword [ebp - 0x28]
adc dword [ecx + 0x1c], eax
lea eax, [ebp - 0x34]
mov ecx, dword [ebp - 0x50]
push eax
call fcn.0043040c
test eax, eax
jne 0x43a8ed
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00411710
test eax, eax
jns 0x43a8d5
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00411710
mov esi, eax
jmp 0x43a8da
mov esi, 0x80004005
test esi, esi
jns 0x43aae9
push esi
push 0x230
jmp 0x43a805
cmp dword [ebp - 0x4c], ebx
je 0x43a9f9
lea ecx, [ebp - 0x24]
call fcn.0043cfdb
mov edi, dword [ebp - 0x24]
jmp 0x43a9f9
mov eax, dword [ebp - 0x38]
mov dword [ebp - 0x74], ebx
mov dword [ebp - 0x70], ebx
mov dword [ebp - 0x64], ebx
mov dword [ebp - 0x48], eax
test edx, edx
jne 0x43a925
cmp ecx, dword [ebp - 0x34]
jae 0x43a925
mov eax, ecx
mov dword [ebp - 0x20], ecx
jmp 0x43a92b
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x40]
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x6c], ecx
mov ecx, dword [ebp - 0x44]
mov dword [ebp - 0x68], ecx
lea ecx, [ebp - 0x74]
push ebx
push ecx
push eax
mov eax, dword [ebp - 0x30]
mov ecx, dword [eax + 0x14]
call fcn.0042a5c1
test eax, eax
je 0x43aa66
cmp dword [ebp - 0x4c], ebx
je 0x43a970
push ebx
push dword [ebp - 0x20]
push dword [ebp - 0x38]
push dword [edi]
call dword [sym.imp.bcrypt.dll_BCryptHashData]
test eax, eax
jns 0x43a970
push 7
pop ecx
int 0x29
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x2c]
adc dword [ebp - 0x44], ebx
sub ecx, eax
mov edx, dword [ebp - 0x28]
sbb edx, ebx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x28], edx
test eax, eax
je 0x43a9ff
mov ecx, dword [ebp - 0x3c]
mov dword [ebp - 0x5c], eax
mov edx, dword [ecx + 0x20]
mov dword [ebp - 0x58], edx
mov ecx, dword [edx + 0x1c]
sub ecx, dword [edx + 0x18]
mov dword [ebp - 0x60], ecx
cmp eax, ecx
jae 0x43a9ab
mov dword [ebp - 0x54], eax
jmp 0x43a9b0
mov eax, ecx
mov dword [ebp - 0x54], ecx
push eax
mov eax, dword [edx + 0x18]
add edx, 0x28
push dword [ebp - 0x48]
add eax, edx
push eax
call sub.msvcrt.dll_memcpy
mov edx, dword [ebp - 0x58]
add esp, 0xc
mov ecx, dword [ebp - 0x54]
mov eax, dword [ebp - 0x20]
add dword [ebp - 0x48], ecx
sub eax, ecx
add dword [edx + 0x18], ecx
mov ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x20], eax
cmp ecx, dword [ebp - 0x60]
jb 0x43a9f5
mov edx, dword [ebp - 0x3c]
mov ecx, dword [ebp - 0x50]
call fcn.0043aafc
mov esi, eax
test esi, esi
js 0x43aa5e
mov eax, dword [ebp - 0x20]
test eax, eax
jne 0x43a98d
mov ecx, dword [ebp - 0x2c]
mov edx, dword [ebp - 0x28]
mov eax, ecx
or eax, edx
jne 0x43a906
cmp dword [ebp - 0x4c], ebx
je 0x43aa33
lea edx, [ebp - 0x1c]
lea ecx, [ebp - 0x24]
call fcn.0043cf40
mov edx, dword [ebp - 0x30]
lea edi, [ebp - 0x1c]
mov ecx, ebx
mov eax, dword [edi + ecx*4]
cmp eax, dword [edx + ecx*4 + 0x58]
jne 0x43aaa1
inc ecx
cmp ecx, 5
jne 0x43aa21
mov edi, dword [ebp - 0x24]
mov eax, dword [ebp - 0x30]
cmp dword [eax + 0x7c], ebx
je 0x43aad6
mov ecx, ebx
add eax, 0x30
je 0x43aacc
test byte [eax + 0xf], 0x10
je 0x43aac6
mov ecx, dword [eax + 0xc]
mov ebx, dword [eax + 8]
and ecx, 0xffffff
jmp 0x43aacc
push esi
push 0x28f
jmp 0x43aa95
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00411710
test eax, eax
jns 0x43aa86
call dword [sym.imp.KERNEL32.dll_GetLastError]
push eax
call fcn.00411710
mov esi, eax
jmp 0x43aa8b
mov esi, 0x80004005
test esi, esi
jns 0x43aad6
push esi
push 0x256
mov ecx, 0x407770
call fcn.0043f87d
jmp 0x43aad6
push 0x570
call fcn.00411710
mov esi, eax
test esi, esi
jns 0x43aac1
push esi
push 0x2a3
mov ecx, 0x407770
call fcn.0043f87d
mov edi, dword [ebp - 0x24]
jmp 0x43aad6
mov ebx, dword [eax + 0x18]
mov ecx, dword [eax + 0x1c]
push ecx
push ebx
push dword [ebp - 0x50]
call fcn.00428de0
test edi, edi
je 0x43aae9
push dword [edi]
call dword [sym.imp.bcrypt.dll_BCryptDestroyHash]
push edi
call dword [sym.imp.KERNEL32.dll_LocalFree]
mov ecx, dword [ebp - 8]
mov eax, esi
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.00471d10
leave
ret 4