Function at 0x435100
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x18
push ebx
xor ebx, ebx
push edi
mov edi, dword [esp + 0x28]
cmp edi, ebx
mov eax, 0x5a
mov dword [esp + 0xc], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x10], eax
jne 0x435128
pop edi
xor eax, eax
pop ebx
add esp, 0x18
ret
push ebp
mov ebp, dword [esp + 0x30]
cmp ebp, ebx
push esi
je 0x43556f
mov esi, dword [esp + 0x38]
cmp esi, ebx
je 0x43556f
push 8
push str.sha256__
push edi
call dword [sym.imp.MSVCR80.dll_strncmp]
add esp, 0xc
test eax, eax
jne 0x435321
push 0x20
call dword [0x54a0e0]
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x4351f7
push 0x20
push edi
push esi
push ebp
call fcn.00448080
mov ebx, dword [esp + 0x3c]
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x24]
push ecx
push 0x20
push edi
push ebx
call fcn.00449410
push edi
mov esi, eax
call dword [0x54a0e4]
add esp, 0x28
test esi, esi
je 0x4351ab
mov eax, esi
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x18
ret
mov edx, dword [esp + 0x10]
push edx
push str._t_public_key_hash:_sha256___s_n
push ebx
call fcn.0043fa20
mov edi, dword [esp + 0x3c]
mov eax, edi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
add eax, 1
test cl, cl
jne 0x4351c7
sub eax, edx
lea esi, [eax + 1]
push esi
call dword [0x54a0e0]
mov ebx, eax
add esp, 4
test ebx, ebx
mov dword [esp + 0x30], ebx
jne 0x435204
mov eax, dword [esp + 0x10]
push eax
call dword [0x54a0e4]
add esp, 4
pop esi
pop ebp
pop edi
mov eax, 0x1b
pop ebx
add esp, 0x18
ret
push esi
push edi
push ebx
call sub.MSVCR80.dll_memcpy
mov ebp, dword [sym.imp.MSVCR80.dll_strstr]
add esp, 0xc
mov esi, ebx
push str._sha256__
push esi
call ebp
add esp, 8
test eax, eax
je 0x435229
mov byte [eax], 0
lea edx, [esi + 8]
mov ecx, edx
lea esi, [ecx + 1]
mov bl, byte [ecx]
add ecx, 1
test bl, bl
jne 0x435231
sub ecx, esi
mov edi, ecx
mov ecx, dword [esp + 0x20]
cmp ecx, edi
jne 0x4352ce
cmp ecx, 4
mov esi, dword [esp + 0x10]
jb 0x435267
mov edi, dword [esi]
cmp edi, dword [edx]
jne 0x43526b
sub ecx, 4
add edx, 4
add esi, 4
cmp ecx, 4
jae 0x435253
test ecx, ecx
je 0x4352c8
movzx edi, byte [esi]
movzx ebx, byte [edx]
sub edi, ebx
jne 0x4352ba
sub ecx, 1
add edx, 1
add esi, 1
test ecx, ecx
je 0x4352c8
movzx edi, byte [esi]
movzx ebx, byte [edx]
sub edi, ebx
jne 0x4352ba
sub ecx, 1
add edx, 1
add esi, 1
test ecx, ecx
je 0x4352c8
movzx edi, byte [esi]
movzx ebx, byte [edx]
sub edi, ebx
jne 0x4352ba
sub ecx, 1
add edx, 1
add esi, 1
test ecx, ecx
je 0x4352c8
movzx edi, byte [esi]
movzx ecx, byte [edx]
sub edi, ecx
je 0x4352c8
test edi, edi
mov ecx, 1
jg 0x4352ca
or ecx, 0xffffffff
jmp 0x4352ca
xor ecx, ecx
test ecx, ecx
je 0x4352ec
test eax, eax
je 0x4352f4
push str.sha256__
push eax
mov byte [eax], 0x3b
call ebp
mov esi, eax
add esp, 8
test esi, esi
jne 0x435217
jmp 0x4352f4
mov dword [esp + 0x18], 0
mov edx, dword [esp + 0x10]
push edx
call dword [0x54a0e4]
mov eax, dword [esp + 0x34]
push eax
mov dword [esp + 0x18], 0
call dword [0x54a0e4]
mov eax, dword [esp + 0x20]
add esp, 8
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x18
ret
push 0x533ea4
push edi
call dword [sym.imp.MSVCR80.dll_fopen]
mov edi, eax
add esp, 8
cmp edi, ebx
mov dword [esp + 0x30], edi
jne 0x435347
pop esi
pop ebp
pop edi
mov eax, 0x5a
pop ebx
add esp, 0x18
ret
push 2
push ebx
mov ebx, dword [sym.imp.MSVCR80.dll_fseek]
push edi
call ebx
add esp, 0xc
test eax, eax
jne 0x43553f
push edi
call dword [sym.imp.MSVCR80.dll_ftell]
mov ecx, dword [esp + 0x34]
push 0
push 0
push ecx
mov edi, eax
call ebx
add esp, 0x10
test eax, eax
jne 0x43553f
cmp edi, 0x100000
ja 0x43553f
mov eax, edi
cdq
push edx
push eax
call fcn.00444510
mov edi, eax
add esp, 8
cmp esi, edi
ja 0x43553f
lea edx, [edi + 1]
push edx
call dword [0x54a0e0]
add esp, 4
test eax, eax
mov dword [esp + 0x14], eax
je 0x43553f
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x14]
push eax
push 1
push edi
push ecx
call dword [sym.imp.MSVCR80.dll_fread]
add esp, 0x10
cmp eax, 1
jne 0x43553f
cmp esi, edi
jne 0x435480
cmp esi, 4
mov ecx, dword [esp + 0x14]
mov eax, esi
mov edx, ebp
jb 0x435404
lea ecx, [ecx]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x43540c
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4353f0
test eax, eax
je 0x435535
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x43546b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x435535
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x43546b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x435535
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x43546b
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x435535
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x435535
test esi, esi
mov eax, 1
jg 0x435537
or eax, 0xffffffff
jmp 0x435537
mov ebx, dword [esp + 0x14]
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x20]
push ecx
mov byte [edi + ebx], 0
call fcn.00435030
add esp, 8
test eax, eax
jne 0x43553f
cmp esi, dword [esp + 0x24]
jne 0x43553f
cmp esi, 4
mov ecx, dword [esp + 0x1c]
mov eax, esi
mov edx, ebp
jb 0x4354d4
lea esp, [esp]
mov esi, dword [edx]
cmp esi, dword [ecx]
jne 0x4354d8
sub eax, 4
add ecx, 4
add edx, 4
cmp eax, 4
jae 0x4354c0
test eax, eax
je 0x435535
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x435527
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x435535
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x435527
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x435535
movzx esi, byte [edx]
movzx edi, byte [ecx]
sub esi, edi
jne 0x435527
sub eax, 1
add ecx, 1
add edx, 1
test eax, eax
je 0x435535
movzx esi, byte [edx]
movzx edx, byte [ecx]
sub esi, edx
je 0x435535
test esi, esi
mov eax, 1
jg 0x435537
or eax, 0xffffffff
jmp 0x435537
xor eax, eax
test eax, eax
jne 0x43553f
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x14]
push eax
call dword [0x54a0e4]
mov ecx, dword [esp + 0x20]
push ecx
call dword [0x54a0e4]
mov edx, dword [esp + 0x38]
push edx
mov dword [esp + 0x28], 0
call dword [sym.imp.MSVCR80.dll_fclose]
mov eax, dword [esp + 0x24]
add esp, 0xc
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x18
ret