Function at 0x10050160
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
mov eax, 0x10328
call fcn.10087710
mov eax, dword [0x101165b0]
xor eax, ebp
mov dword [ebp - 4], eax
mov eax, dword [ebp + 8]
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
mov ebx, ecx
mov dword [ebp - 0x10324], eax
xor eax, eax
lea ecx, [ebp - 0x10318]
push edi
push ecx
mov esi, edx
mov dword [ebp - 0x10320], eax
mov dword [ebp - 0x1031c], eax
call sym.cis_cc_3.2.dll_HASH_Initialize
add esp, 8
cmp ebx, 0xffffffff
jne 0x1005021d
push esi
call fcn.10085a69
add esp, 4
test eax, eax
jne 0x100502d3
mov edi, edi
push esi
push 0x10000
lea edx, [ebp - 0x10098]
push 1
push edx
call fcn.10085d20
push esi
mov ebx, eax
call fcn.10085a91
add esp, 0x14
test eax, eax
jne 0x10050209
push ebx
lea eax, [ebp - 0x10098]
push eax
lea ecx, [ebp - 0x10318]
push ecx
call sym.cis_cc_3.2.dll_HASH_Update_PCIS
push esi
call fcn.10085a69
add esp, 0x10
test eax, eax
je 0x100501c0
jmp 0x100502d3
pop edi
pop esi
or eax, 0xffffffff
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008600b
mov esp, ebp
pop ebp
ret
cmp ebx, 0x10000
jbe 0x1005028c
jmp 0x10050230
push esi
push 0x10000
lea edx, [ebp - 0x10098]
push 1
push edx
call fcn.10085d20
push esi
mov dword [ebp - 0x10328], eax
call fcn.10085a91
add esp, 0x14
test eax, eax
jne 0x10050209
mov eax, dword [ebp - 0x10328]
push eax
lea ecx, [ebp - 0x10098]
push ecx
lea edx, [ebp - 0x10318]
push edx
call sym.cis_cc_3.2.dll_HASH_Update_PCIS
push esi
sub ebx, 0x10000
call fcn.10085a69
add esp, 0x10
test eax, eax
jne 0x1005028c
cmp ebx, 0x10000
ja 0x10050230
push esi
call fcn.10085a69
add esp, 4
test eax, eax
jne 0x100502d3
push esi
push ebx
lea eax, [ebp - 0x10098]
push 1
push eax
call fcn.10085d20
push esi
mov ebx, eax
call fcn.10085a91
add esp, 0x14
test eax, eax
jne 0x10050209
push ebx
lea ecx, [ebp - 0x10098]
push ecx
lea edx, [ebp - 0x10318]
push edx
call sym.cis_cc_3.2.dll_HASH_Update_PCIS
add esp, 0xc
lea eax, [ebp - 0x10318]
push eax
lea ecx, [ebp - 0x10320]
push ecx
lea edx, [ebp - 0x98]
push edx
call sym.cis_cc_3.2.dll_HASH_Finalize
mov al, 0x30
add esp, 0xc
mov byte [ebp - 0x58], al
mov byte [ebp - 0x56], al
cmp edi, sym.cis_cc_3.2.dll_md2
je 0x10050308
cmp edi, sym.cis_cc_3.2.dll_popmd5
jne 0x10050315
mov eax, 1
mov dword [ebp - 0x1031c], eax
jmp 0x1005031a
mov eax, 1
cmp edi, sym.cis_cc_3.2.dll_popsha1
jne 0x10050328
mov dword [ebp - 0x1031c], eax
cmp edi, sym.cis_cc_3.2.dll_sha256
jne 0x10050336
mov dword [ebp - 0x1031c], eax
cmp edi, sym.cis_cc_3.2.dll_sha384
je 0x10050353
cmp edi, sym.cis_cc_3.2.dll_sha512
je 0x10050353
cmp dword [ebp - 0x1031c], 0
je 0x10050209
mov ebx, dword [ebp - 0x10320]
cmp edi, sym.cis_cc_3.2.dll_popsha1
jne 0x10050397
mov eax, dword [0x100bc850]
mov ecx, dword [0x100bc854]
mov dl, byte [0x100bc858]
mov dword [ebp - 0x54], eax
push ebx
lea eax, [ebp - 0x98]
mov dword [ebp - 0x50], ecx
push eax
lea ecx, [ebp - 0x49]
mov byte [ebp - 0x4c], dl
mov byte [ebp - 0x55], 9
mov byte [ebp - 0x4b], 4
mov byte [ebp - 0x4a], bl
push ecx
jmp 0x1005048f
cmp edi, sym.cis_cc_3.2.dll_sha256
jne 0x100503de
mov edx, dword [0x100bc85c]
mov eax, dword [0x100bc860]
mov ecx, dword [0x100bc864]
mov dword [ebp - 0x54], edx
mov dl, byte [0x100bc868]
mov dword [ebp - 0x50], eax
push ebx
lea eax, [ebp - 0x98]
mov dword [ebp - 0x4c], ecx
push eax
lea ecx, [ebp - 0x45]
mov byte [ebp - 0x48], dl
mov byte [ebp - 0x55], 0xd
mov byte [ebp - 0x47], 4
mov byte [ebp - 0x46], bl
push ecx
jmp 0x1005048f
cmp edi, sym.cis_cc_3.2.dll_sha384
jne 0x10050402
mov edx, dword [0x100bc86c]
mov eax, dword [0x100bc870]
mov ecx, dword [0x100bc874]
mov dword [ebp - 0x54], edx
mov dl, byte [0x100bc878]
jmp 0x100503b9
cmp edi, sym.cis_cc_3.2.dll_sha512
jne 0x10050426
mov edx, dword [0x100bc87c]
mov eax, dword [0x100bc880]
mov ecx, dword [0x100bc884]
mov dword [ebp - 0x54], edx
mov dl, byte [0x100bc888]
jmp 0x100503b9
cmp edi, sym.cis_cc_3.2.dll_md2
jne 0x10050456
mov edx, dword [0x100bc838]
mov eax, dword [0x100bc83c]
mov ecx, dword [0x100bc840]
mov dword [ebp - 0x54], edx
push ebx
lea edx, [ebp - 0x98]
mov dword [ebp - 0x50], eax
push edx
lea eax, [ebp - 0x46]
mov dword [ebp - 0x4c], ecx
push eax
jmp 0x10050484
cmp edi, sym.cis_cc_3.2.dll_popmd5
jne 0x10050497
mov ecx, dword [0x100bc844]
mov edx, dword [0x100bc848]
mov eax, dword [0x100bc84c]
mov dword [ebp - 0x54], ecx
push ebx
lea ecx, [ebp - 0x98]
mov dword [ebp - 0x50], edx
push ecx
lea edx, [ebp - 0x46]
mov dword [ebp - 0x4c], eax
push edx
mov byte [ebp - 0x47], bl
mov byte [ebp - 0x48], 4
mov byte [ebp - 0x55], 0xc
call fcn.10086490
add esp, 0xc
add bl, byte [ebp - 0x55]
mov eax, dword [ebp + 0xc]
add bl, 4
movzx esi, bl
add esi, 2
lea ecx, [esi + 0xb]
mov byte [ebp - 0x57], bl
cmp eax, ecx
jae 0x100504c6
pop edi
pop esi
mov eax, 0xfffffbb8
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1008600b
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 0x10324]
sub eax, esi
mov ecx, 2
dec eax
mov word [edi], 0x100
cmp eax, ecx
jbe 0x100504f5
lea ebx, [eax - 2]
push ebx
lea ecx, [edi + 2]
push 0xff
push ecx
call fcn.10086410
add esp, 0xc
lea ecx, [ebx + 2]
push esi
lea edx, [ebp - 0x58]
push edx
lea eax, [edi + ecx + 1]
push eax
mov byte [edi + ecx], 0
call fcn.10086490
mov ecx, dword [ebp - 4]
add esp, 0xc
pop edi
pop esi
xor ecx, ebp
xor eax, eax
pop ebx
call fcn.1008600b
mov esp, ebp
pop ebp
ret