Function at 0x100557f0
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x10
push ebx
mov ebx, dword [esp + 0x1c]
push edi
xor edi, edi
cmp ebx, edi
mov eax, 0x5a
mov dword [esp + 8], edi
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
jne 0x10055818
pop edi
xor eax, eax
pop ebx
add esp, 0x10
ret
push ebp
mov ebp, dword [esp + 0x28]
cmp ebp, edi
push esi
je 0x10055c6e
mov esi, dword [esp + 0x30]
cmp esi, edi
je 0x10055c6e
push 8
push str.sha256__
push ebx
call fcn.101b6427
add esp, 0xc
test eax, eax
jne 0x10055a2f
mov eax, dword [0x10279014]
cmp dword [eax + 0x5c], edi
je 0x10055a45
push 0x20
call dword [section..data]
mov edi, eax
add esp, 4
test edi, edi
je 0x100558fc
mov ecx, dword [0x10279014]
mov edx, dword [ecx + 0x5c]
push 0x20
push edi
push esi
push ebp
call edx
add esp, 0x10
test eax, eax
jne 0x10055c6e
lea eax, [esp + 0x10]
push eax
lea ecx, [esp + 0x2c]
push ecx
push 0x20
push edi
call fcn.100898a0
push edi
mov esi, eax
call dword [0x10279004]
add esp, 0x14
test esi, esi
je 0x100558b4
mov eax, esi
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x10
ret
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x24]
push edx
push str._public_key_hash:_sha256___s
push eax
call fcn.1005abd0
mov eax, ebx
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x100558d0
sub eax, edx
lea esi, [eax + 1]
push esi
call dword [section..data]
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x10055909
mov ecx, dword [esp + 0x28]
push ecx
call dword [0x10279004]
add esp, 4
pop esi
pop ebp
pop edi
mov eax, 0x1b
pop ebx
add esp, 0x10
ret
push esi
push ebx
push ebp
call fcn.101b4f90
add esp, 0xc
mov esi, ebp
jmp 0x10055920
push str._sha256__
push esi
call fcn.101b6960
add esp, 8
test eax, eax
je 0x10055935
mov byte [eax], 0
lea edx, [esi + 8]
mov ecx, edx
lea esi, [ecx + 1]
lea ecx, [ecx]
mov bl, byte [ecx]
add ecx, 1
test bl, bl
jne 0x10055940
sub ecx, esi
mov edi, ecx
mov ecx, dword [esp + 0x10]
cmp ecx, edi
jne 0x100559dd
cmp ecx, 4
mov esi, dword [esp + 0x28]
jb 0x10055976
mov edi, dword [esi]
cmp edi, dword [edx]
jne 0x1005597a
sub ecx, 4
add edx, 4
add esi, 4
cmp ecx, 4
jae 0x10055962
test ecx, ecx
je 0x100559d7
movzx edi, byte [esi]
movzx ebx, byte [edx]
sub edi, ebx
jne 0x100559c9
sub ecx, 1
add edx, 1
add esi, 1
test ecx, ecx
je 0x100559d7
movzx edi, byte [esi]
movzx ebx, byte [edx]
sub edi, ebx
jne 0x100559c9
sub ecx, 1
add edx, 1
add esi, 1
test ecx, ecx
je 0x100559d7
movzx edi, byte [esi]
movzx ebx, byte [edx]
sub edi, ebx
jne 0x100559c9
sub ecx, 1
add edx, 1
add esi, 1
test ecx, ecx
je 0x100559d7
movzx edi, byte [esi]
movzx edx, byte [edx]
sub edi, edx
je 0x100559d7
test edi, edi
mov ecx, 1
jg 0x100559d9
or ecx, 0xffffffff
jmp 0x100559d9
xor ecx, ecx
test ecx, ecx
je 0x100559fe
test eax, eax
je 0x10055a06
push str.sha256__
push eax
mov byte [eax], 0x3b
call fcn.101b6960
mov esi, eax
add esp, 8
test esi, esi
jne 0x10055920
jmp 0x10055a06
mov dword [esp + 0x14], 0
mov eax, dword [esp + 0x28]
push eax
call dword [0x10279004]
push ebp
mov dword [esp + 0x30], 0
call dword [0x10279004]
mov eax, dword [esp + 0x1c]
add esp, 8
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x10
ret
push 0x101ed440
push ebx
call fcn.10084480
add esp, 8
cmp eax, edi
mov dword [esp + 0x28], eax
jne 0x10055a52
pop esi
pop ebp
pop edi
mov eax, 0x5a
pop ebx
add esp, 0x10
ret
push 2
push edi
push eax
call fcn.101b686e
add esp, 0xc
test eax, eax
jne 0x10055c3f
mov ebx, dword [esp + 0x28]
push ebx
call fcn.101b6b83
push 0
push 0
push ebx
mov edi, eax
call fcn.101b686e
add esp, 0x10
test eax, eax
jne 0x10055c3f
cmp edi, 0x100000
ja 0x10055c3f
mov eax, edi
cdq
push edx
push eax
call fcn.1004d8c0
mov edi, eax
add esp, 8
cmp esi, edi
ja 0x10055c3f
lea ecx, [edi + 1]
push ecx
call dword [section..data]
add esp, 4
test eax, eax
mov dword [esp + 0x10], eax
je 0x10055c3f
mov edx, ebx
push edx
push 1
push edi
push eax
call fcn.101b566e
add esp, 0x10
cmp eax, 1
jne 0x10055c3f
cmp esi, edi
jne 0x10055b80
cmp esi, 4
mov ecx, dword [esp + 0x10]
mov eax, esi
mov edx, ebp
jb 0x10055b04
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10055b0c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10055af0
test eax, eax
je 0x10055c35
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10055b6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10055c35
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10055b6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10055c35
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10055b6b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10055c35
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10055c35
test esi, esi
mov eax, 1
jg 0x10055c37
or eax, 0xffffffff
jmp 0x10055c37
mov ebx, dword [esp + 0x10]
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x1c]
push eax
mov byte [edi + ebx], 0
call fcn.10055720
add esp, 8
test eax, eax
jne 0x10055c3f
cmp esi, dword [esp + 0x1c]
jne 0x10055c3f
cmp esi, 4
mov ecx, dword [esp + 0x18]
mov eax, esi
mov edx, ebp
jb 0x10055bd4
lea esp, [esp]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x10055bd8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x10055bc0
test eax, eax
je 0x10055c35
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10055c27
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10055c35
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10055c27
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10055c35
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x10055c27
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x10055c35
movzx esi, byte [edx]
movzx ecx, byte [ecx]
sub esi, ecx
je 0x10055c35
test esi, esi
mov eax, 1
jg 0x10055c37
or eax, 0xffffffff
jmp 0x10055c37
xor eax, eax
test eax, eax
jne 0x10055c3f
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x10]
push edx
call dword [0x10279004]
mov eax, dword [esp + 0x1c]
push eax
call dword [0x10279004]
mov ecx, dword [esp + 0x30]
push ecx
mov dword [esp + 0x24], 0
call fcn.101b65ea
mov eax, dword [esp + 0x20]
add esp, 0xc
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x10
ret