Function at 0x402bb0
Capabilities:
Read file on windows

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x18
xor eax, eax
push edi
mov edi, dword [ebp + 8]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0xc], eax
mov dword [ebp - 4], 0x5a
mov dword [ebp - 8], eax
cmp edi, eax
jne 0x402bd5
pop edi
mov esp, ebp
pop ebp
ret
push ebx
mov ebx, dword [ebp + 0xc]
push esi
cmp ebx, eax
je 0x402ea2
mov esi, dword [ebp + 0x10]
cmp esi, eax
je 0x402ea2
push 8
push str.sha256__
push edi
call fcn.0052ca30
add esp, 0xc
test eax, eax
jne 0x402d34
push 0x20
call dword [0x5ae018]
add esp, 4
mov dword [ebp - 0x10], eax
test eax, eax
je 0x402c5c
push 0x20
push eax
push esi
push ebx
call fcn.00414e50
mov eax, edi
add esp, 0x10
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x402c30
sub eax, edx
lea esi, [eax + 1]
push esi
call dword [0x5ae018]
mov ebx, eax
add esp, 4
mov dword [ebp - 0x14], ebx
test ebx, ebx
jne 0x402c68
mov eax, dword [ebp - 0x10]
push eax
call dword [0x5ae01c]
add esp, 4
pop esi
pop ebx
mov eax, 0x1b
pop edi
mov esp, ebp
pop ebp
ret
push esi
push edi
push ebx
call fcn.0051fac0
add esp, 0xc
mov esi, ebx
push str._sha256__
push esi
call fcn.00520720
mov edi, eax
add esp, 8
test edi, edi
je 0x402c8c
mov byte [edi], 0
lea ecx, [ebp + 8]
push ecx
lea edx, [ebp - 8]
push edx
add esi, 8
push esi
call fcn.00416010
add esp, 0xc
test eax, eax
jne 0x402ce0
mov esi, dword [ebp - 8]
mov ecx, 0x20
cmp dword [ebp + 8], ecx
jne 0x402ccc
mov edx, dword [ebp - 0x10]
mov eax, esi
sub edx, esi
cmp ecx, 4
jb 0x402d01
mov ebx, dword [edx + eax]
cmp ebx, dword [eax]
jne 0x402ccc
sub ecx, 4
add eax, 4
jmp 0x402cb8
push esi
call dword [0x5ae01c]
mov ebx, dword [ebp - 0x14]
add esp, 4
mov dword [ebp - 8], 0
test edi, edi
je 0x402d16
push str.sha256__
push edi
mov byte [edi], 0x3b
call fcn.00520720
mov esi, eax
add esp, 8
test esi, esi
jne 0x402c75
jmp 0x402d16
xor edi, edi
push esi
mov dword [ebp - 4], edi
call dword [0x5ae01c]
mov ebx, dword [ebp - 0x14]
add esp, 4
mov dword [ebp - 8], edi
mov eax, dword [ebp - 0x10]
push eax
call dword [0x5ae01c]
push ebx
call dword [0x5ae01c]
mov eax, dword [ebp - 4]
add esp, 8
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret
push 0x550508
push edi
call fcn.0052b0e9
mov edi, eax
add esp, 8
mov dword [ebp - 0x10], edi
test edi, edi
je 0x402ea2
push 2
push 0
push edi
call fcn.0052b41c
add esp, 0xc
test eax, eax
jne 0x402e71
push edi
call fcn.0052ba15
mov ecx, dword [ebp - 0x10]
push 0
push 0
push ecx
mov edi, eax
call fcn.0052b41c
add esp, 0x10
test eax, eax
jne 0x402e71
cmp edi, 0x100000
ja 0x402e71
mov eax, edi
cdq
push edx
push eax
call fcn.0040bfc0
add esp, 8
mov dword [ebp + 8], eax
cmp esi, eax
ja 0x402e71
inc eax
push eax
call dword [0x5ae018]
mov edi, eax
add esp, 4
mov dword [ebp - 0x14], edi
test edi, edi
je 0x402e71
mov edx, dword [ebp - 0x10]
mov eax, dword [ebp + 8]
push edx
push 1
push eax
push edi
call fcn.0052c502
add esp, 0x10
cmp eax, 1
jne 0x402e71
mov eax, dword [ebp + 8]
cmp esi, eax
jne 0x402e06
mov ecx, edi
mov eax, esi
mov edi, ebx
cmp esi, 4
jb 0x402e46
mov edi, edi
mov edx, dword [edi]
cmp edx, dword [ecx]
jne 0x402e71
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x402df0
jmp 0x402e46
lea ecx, [ebp - 0x18]
push ecx
lea edx, [ebp - 0xc]
push edx
mov ebx, edi
mov byte [eax + edi], 0
call fcn.00402ae0
add esp, 8
test eax, eax
jne 0x402e71
cmp esi, dword [ebp - 0x18]
jne 0x402e71
mov ecx, dword [ebp - 0xc]
mov edi, dword [ebp + 0xc]
mov eax, esi
cmp esi, 4
jb 0x402e46
mov edx, dword [edi]
cmp edx, dword [ecx]
jne 0x402e71
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x402e32
test eax, eax
je 0x402e6a
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x402e71
cmp eax, 1
jbe 0x402e6a
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x402e71
cmp eax, 2
jbe 0x402e6a
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x402e71
mov dword [ebp - 4], 0
mov ecx, dword [ebp - 0x14]
push ecx
call dword [0x5ae01c]
mov edx, dword [ebp - 0xc]
push edx
call dword [0x5ae01c]
mov eax, dword [ebp - 0x10]
push eax
mov dword [ebp - 0xc], 0
call fcn.0052aec5
mov eax, dword [ebp - 4]
add esp, 0xc
pop esi
pop ebx
pop edi
mov esp, ebp
pop ebp
ret
pop esi
pop ebx
mov eax, 0x5a
pop edi
mov esp, ebp
pop ebp
ret