Function at 0x1002f240
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x18
push ebx
xor ebx, ebx
push edi
mov edi, dword [esp + 0x28]
mov eax, 0x5a
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], eax
cmp edi, ebx
jne 0x1002f268
pop edi
xor eax, eax
pop ebx
add esp, 0x18
ret
push ebp
mov ebp, dword [esp + 0x30]
push esi
cmp ebp, ebx
je 0x1002f5d2
mov esi, dword [esp + 0x38]
cmp esi, ebx
je 0x1002f5d2
push 8
push str.sha256__
push edi
call fcn.100643d1
add esp, 0xc
test eax, eax
jne 0x1002f41f
push 0x20
call dword [0x1016b0ac]
mov edi, eax
add esp, 4
cmp edi, ebx
je 0x1002f334
push 0x20
push edi
push esi
push ebp
call fcn.10040e50
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.10042260
push edi
mov esi, eax
call dword [0x1016b0b0]
add esp, 0x28
test esi, esi
je 0x1002f2ea
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.10038f20
mov edi, dword [esp + 0x3c]
mov eax, edi
add esp, 0xc
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x1002f306
sub eax, edx
lea esi, [eax + 1]
push esi
call dword [0x1016b0ac]
mov ebx, eax
add esp, 4
mov dword [esp + 0x30], ebx
test ebx, ebx
jne 0x1002f341
mov eax, dword [esp + 0x10]
push eax
call dword [0x1016b0b0]
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 fcn.100683a0
add esp, 0xc
mov esi, ebx
mov edi, edi
push str._sha256__
push esi
call fcn.10068d00
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x1002f368
mov byte [ebp], 0
lea edx, [esi + 8]
mov ecx, edx
lea esi, [ecx + 1]
mov bl, byte [ecx]
inc ecx
test bl, bl
jne 0x1002f370
sub ecx, esi
mov edi, ecx
mov ecx, dword [esp + 0x20]
cmp ecx, edi
jne 0x1002f3c8
mov esi, dword [esp + 0x10]
cmp ecx, 4
jb 0x1002f3a4
lea esp, [esp]
mov eax, dword [esi]
cmp eax, dword [edx]
jne 0x1002f3c8
sub ecx, 4
add edx, 4
add esi, 4
cmp ecx, 4
jae 0x1002f390
test ecx, ecx
je 0x1002f3ea
mov al, byte [edx]
cmp al, byte [esi]
jne 0x1002f3c8
cmp ecx, 1
jbe 0x1002f3ea
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x1002f3c8
cmp ecx, 2
jbe 0x1002f3ea
mov cl, byte [edx + 2]
cmp cl, byte [esi + 2]
je 0x1002f3ea
test ebp, ebp
je 0x1002f3f2
push str.sha256__
push ebp
mov byte [ebp], 0x3b
call fcn.10068d00
mov esi, eax
add esp, 8
test esi, esi
jne 0x1002f350
jmp 0x1002f3f2
mov dword [esp + 0x14], 0
mov edx, dword [esp + 0x10]
push edx
call dword [0x1016b0b0]
mov eax, dword [esp + 0x34]
push eax
mov dword [esp + 0x18], 0
call dword [0x1016b0b0]
mov eax, dword [esp + 0x1c]
add esp, 8
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x18
ret
push 0x10163dac
push edi
call fcn.10062493
mov ebx, eax
add esp, 8
mov dword [esp + 0x30], ebx
test ebx, ebx
jne 0x1002f442
pop esi
pop ebp
pop edi
lea eax, [ebx + 0x5a]
pop ebx
add esp, 0x18
ret
push 2
push 0
push ebx
call fcn.10062792
add esp, 0xc
test eax, eax
jne 0x1002f5a7
push ebx
call fcn.1006269a
push 0
push 0
push ebx
mov edi, eax
call fcn.10062792
add esp, 0x10
test eax, eax
jne 0x1002f5a7
cmp edi, 0x100000
ja 0x1002f5a7
mov eax, edi
cdq
push edx
push eax
call fcn.1009ce20
mov edi, eax
add esp, 8
cmp esi, edi
ja 0x1002f5a7
lea ecx, [edi + 1]
push ecx
call dword [0x1016b0ac]
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
je 0x1002f5a7
push ebx
push 1
push edi
push eax
call fcn.10062ab7
add esp, 0x10
cmp eax, 1
jne 0x1002f5a7
cmp esi, edi
jne 0x1002f532
mov ecx, dword [esp + 0x18]
mov eax, esi
mov edi, ebp
cmp esi, 4
jb 0x1002f4f8
jmp 0x1002f4e0
mov edx, dword [edi]
cmp edx, dword [ecx]
jne 0x1002f5a7
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x1002f4e0
test eax, eax
je 0x1002f528
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x1002f5a7
cmp eax, 1
jbe 0x1002f528
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x1002f5a7
cmp eax, 2
jbe 0x1002f528
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x1002f5a7
mov dword [esp + 0x14], 0
jmp 0x1002f5a7
mov ebx, dword [esp + 0x18]
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x20]
push edx
mov byte [edi + ebx], 0
call fcn.1002f170
add esp, 8
test eax, eax
jne 0x1002f5a3
cmp esi, dword [esp + 0x24]
jne 0x1002f5a3
mov ecx, dword [esp + 0x1c]
mov eax, esi
mov edi, ebp
cmp esi, 4
jb 0x1002f577
mov edx, dword [edi]
cmp edx, dword [ecx]
jne 0x1002f5a3
sub eax, 4
add ecx, 4
add edi, 4
cmp eax, 4
jae 0x1002f563
test eax, eax
je 0x1002f59b
mov dl, byte [ecx]
cmp dl, byte [edi]
jne 0x1002f5a3
cmp eax, 1
jbe 0x1002f59b
mov dl, byte [ecx + 1]
cmp dl, byte [edi + 1]
jne 0x1002f5a3
cmp eax, 2
jbe 0x1002f59b
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x1002f5a3
mov dword [esp + 0x14], 0
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x18]
push ecx
call dword [0x1016b0b0]
mov edx, dword [esp + 0x20]
push edx
call dword [0x1016b0b0]
push ebx
mov dword [esp + 0x28], 0
call fcn.10062353
mov eax, dword [esp + 0x20]
add esp, 0xc
pop esi
pop ebp
pop edi
pop ebx
add esp, 0x18
ret