Function at 0x46c540
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x10
push ebx
xor ebx, ebx
push edi
mov edi, dword [ebp + 0xc]
mov eax, 0x5a
mov dword [ebp - 4], ebx
mov dword [ebp - 0xc], ebx
mov dword [ebp - 8], eax
cmp edi, ebx
jne 0x46c567
pop edi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret
push esi
cmp dword [ebp + 0x10], ebx
je 0x46c8c9
mov esi, dword [ebp + 0x14]
cmp esi, ebx
je 0x46c8c9
push 8
push str.sha256__
push edi
call fcn.004ad83d
add esp, 0xc
test eax, eax
jne 0x46c728
mov eax, dword [0x4f7cf0]
cmp dword [eax + 0x5c], ebx
je 0x46c73f
push 0x20
call dword [0x4f7cd8]
mov ebx, eax
add esp, 4
test ebx, ebx
je 0x46c64c
mov ecx, dword [ebp + 0x10]
mov edx, dword [0x4f7cf0]
mov eax, dword [edx + 0x5c]
push 0x20
push ebx
push esi
push ecx
call eax
add esp, 0x10
test eax, eax
jne 0x46c8c9
mov edi, dword [ebp + 8]
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 4]
push edx
push 0x20
push ebx
push edi
call fcn.004991c0
push ebx
mov esi, eax
call dword [0x4f7cdc]
add esp, 0x18
test esi, esi
je 0x46c602
mov eax, esi
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp - 4]
push eax
push str._t_public_key_hash:_sha256___s_n
push edi
call fcn.0046f260
mov ebx, dword [ebp + 0xc]
mov eax, ebx
add esp, 0xc
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x46c620
sub eax, edx
lea esi, [eax + 1]
push esi
call dword [0x4f7cd8]
mov edi, eax
add esp, 4
mov dword [ebp + 0xc], edi
test edi, edi
jne 0x46c658
mov ecx, dword [ebp - 4]
push ecx
call dword [0x4f7cdc]
add esp, 4
pop esi
pop edi
mov eax, 0x1b
pop ebx
mov esp, ebp
pop ebp
ret
push esi
push ebx
push edi
call fcn.004a9120
add esp, 0xc
mov esi, edi
push str._sha256__
push esi
call fcn.004ad900
mov edi, eax
add esp, 8
test edi, edi
je 0x46c67c
mov byte [edi], 0
lea edx, [esi + 8]
mov ecx, edx
lea esi, [ecx + 1]
mov bl, byte [ecx]
inc ecx
test bl, bl
jne 0x46c684
sub ecx, esi
mov ebx, ecx
mov ecx, dword [ebp - 0x10]
cmp ecx, ebx
jne 0x46c6d8
mov esi, dword [ebp - 4]
cmp ecx, 4
jb 0x46c6b4
mov edi, edi
mov eax, dword [esi]
cmp eax, dword [edx]
jne 0x46c6d8
sub ecx, 4
add edx, 4
add esi, 4
cmp ecx, 4
jae 0x46c6a0
test ecx, ecx
je 0x46c6f9
mov al, byte [edx]
cmp al, byte [esi]
jne 0x46c6d8
cmp ecx, 1
jbe 0x46c6f9
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x46c6d8
cmp ecx, 2
jbe 0x46c6f9
mov cl, byte [edx + 2]
cmp cl, byte [esi + 2]
je 0x46c6f9
test edi, edi
je 0x46c700
push str.sha256__
push edi
mov byte [edi], 0x3b
call fcn.004ad900
mov esi, eax
add esp, 8
test esi, esi
jne 0x46c665
jmp 0x46c700
mov dword [ebp - 8], 0
mov edx, dword [ebp - 4]
push edx
call dword [0x4f7cdc]
mov eax, dword [ebp + 0xc]
push eax
mov dword [ebp - 4], 0
call dword [0x4f7cdc]
mov eax, dword [ebp - 8]
add esp, 8
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret
push 0x4d62f8
push edi
call fcn.004acbe6
mov ebx, eax
add esp, 8
mov dword [ebp + 0xc], ebx
test ebx, ebx
jne 0x46c74b
pop esi
pop edi
mov eax, 0x5a
pop ebx
mov esp, ebp
pop ebp
ret
push 2
push 0
push ebx
call fcn.004acc87
add esp, 0xc
test eax, eax
jne 0x46c8a2
push ebx
call fcn.004adb1a
push 0
push 0
push ebx
mov edi, eax
call fcn.004acc87
add esp, 0x10
test eax, eax
jne 0x46c8a2
cmp edi, 0x100000
ja 0x46c8a2
mov eax, edi
cdq
push edx
push eax
call fcn.0046f9b0
mov edi, eax
add esp, 8
cmp esi, edi
ja 0x46c8a2
lea ecx, [edi + 1]
push ecx
call dword [0x4f7cd8]
add esp, 4
mov dword [ebp - 4], eax
test eax, eax
je 0x46c8a2
push ebx
push 1
push edi
push eax
call fcn.004ac6aa
add esp, 0x10
cmp eax, 1
jne 0x46c8a2
cmp esi, edi
jne 0x46c82d
mov ecx, dword [ebp - 4]
mov edi, dword [ebp + 0x10]
mov eax, esi
cmp esi, 4
jb 0x46c7f8
nop
mov edx, dword [edi]
cmp edx, dword [ecx]
jne 0x46c8a2
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x46c7e0
test eax, eax
je 0x46c824
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x46c8a2
cmp eax, 1
jbe 0x46c824
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x46c8a2
cmp eax, 2
jbe 0x46c824
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x46c8a2
mov dword [ebp - 8], 0
jmp 0x46c8a2
mov ebx, dword [ebp - 4]
lea ecx, [ebp - 0x10]
push ecx
lea edx, [ebp - 0xc]
push edx
mov byte [edi + ebx], 0
call fcn.0046c470
add esp, 8
test eax, eax
jne 0x46c89f
cmp esi, dword [ebp - 0x10]
jne 0x46c89f
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp + 0x10]
mov eax, esi
cmp esi, 4
jb 0x46c874
lea ebx, [ebx]
mov edx, dword [edi]
cmp edx, dword [ecx]
jne 0x46c89f
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x46c860
test eax, eax
je 0x46c898
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x46c89f
cmp eax, 1
jbe 0x46c898
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x46c89f
cmp eax, 2
jbe 0x46c898
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x46c89f
mov dword [ebp - 8], 0
mov ebx, dword [ebp + 0xc]
mov ecx, dword [ebp - 4]
push ecx
call dword [0x4f7cdc]
mov edx, dword [ebp - 0xc]
push edx
call dword [0x4f7cdc]
push ebx
mov dword [ebp - 0xc], 0
call fcn.004acd70
mov eax, dword [ebp - 8]
add esp, 0xc
pop esi
pop edi
pop ebx
mov esp, ebp
pop ebp
ret