Function at 0x459010
Capabilities:
Read file on windows

Disassembly:
sub esp, 0x438
mov eax, dword [0x562904]
xor eax, esp
mov dword [esp + 0x434], eax
mov eax, dword [esp + 0x43c]
push ebx
mov ebx, dword [esp + 0x448]
push esi
mov esi, dword [esp + 0x448]
mov dword [esp + 0x14], eax
mov dword [esp + 0x10], 0x5a
test esi, esi
jne 0x459064
pop esi
xor eax, eax
pop ebx
mov ecx, dword [esp + 0x434]
xor ecx, esp
call fcn.004f1532
add esp, 0x438
ret
push ebp
push edi
test ebx, ebx
je 0x4594b4
mov edi, dword [esp + 0x458]
test edi, edi
je 0x4594b4
push 8
push str.sha256__
push esi
call fcn.004fef00
add esp, 0xc
mov dword [esp + 0x10], 0
test eax, eax
jne 0x459212
mov dword [esp + 0x14], eax
mov eax, dword [0x562098]
cmp dword [eax + 0x58], 0
je 0x4594b4
push 0x20
call dword [section..data]
mov ebp, eax
add esp, 4
test ebp, ebp
je 0x459134
mov eax, dword [0x562098]
push 0x20
push ebp
push edi
mov eax, dword [eax + 0x58]
push ebx
call eax
mov edi, eax
add esp, 0x10
test edi, edi
jne 0x4590f0
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x14]
push eax
push 0x20
push ebp
call fcn.0047f420
add esp, 0x10
mov edi, eax
push ebp
call dword [0x562004]
add esp, 4
test edi, edi
je 0x459105
mov eax, edi
jmp 0x4594b9
push dword [esp + 0x10]
push str._public_key_hash:_sha256___s
push dword [esp + 0x24]
call fcn.004607a0
push esi
call dword [0x56200c]
mov ebp, eax
add esp, 0x10
test ebp, ebp
jne 0x45913e
push dword [esp + 0x10]
call dword [0x562004]
add esp, 4
mov eax, 0x1b
jmp 0x4594b9
mov esi, ebp
push str._sha256__
push esi
call fcn.004f4080
mov edi, eax
add esp, 8
test edi, edi
je 0x459157
mov byte [edi], 0
add esi, 8
mov edx, esi
lea ecx, [edx + 1]
nop
mov al, byte [edx]
inc edx
test al, al
jne 0x459160
mov ebx, dword [esp + 0x10]
sub edx, ecx
mov ecx, dword [esp + 0x14]
cmp ecx, edx
jne 0x4591c3
mov edx, ebx
sub ecx, 4
jb 0x459191
nop dword [eax]
mov eax, dword [edx]
cmp eax, dword [esi]
jne 0x459196
add edx, 4
add esi, 4
sub ecx, 4
jae 0x459180
cmp ecx, 0xfffffffc
je 0x459208
mov al, byte [edx]
cmp al, byte [esi]
jne 0x4591c3
cmp ecx, 0xfffffffd
je 0x459208
mov al, byte [edx + 1]
cmp al, byte [esi + 1]
jne 0x4591c3
cmp ecx, 0xfffffffe
je 0x459208
mov al, byte [edx + 2]
cmp al, byte [esi + 2]
jne 0x4591c3
cmp ecx, 0xffffffff
je 0x459208
mov al, byte [edx + 3]
cmp al, byte [esi + 3]
je 0x459208
test edi, edi
je 0x4591e6
push str.sha256__
push edi
mov byte [edi], 0x3b
call fcn.004f4080
mov esi, eax
add esp, 8
test esi, esi
jne 0x459140
mov ebx, dword [esp + 0x10]
push ebx
call dword [0x562004]
push ebp
mov dword [esp + 0x18], 0
call dword [0x562004]
mov eax, dword [esp + 0x20]
add esp, 8
jmp 0x4594b9
mov dword [esp + 0x18], 0
jmp 0x4591e6
push 0x528ea0
push esi
call fcn.00478490
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je 0x4594b4
lea eax, [esp + 0x24]
push 0x100000
push eax
call fcn.00452e30
mov ebp, dword [esp + 0x1c]
push 2
push 0
push ebp
call fcn.004fddc2
add esp, 0x14
test eax, eax
jne 0x459350
push ebp
call fcn.004ffd68
push 0
push 0
push ebp
mov esi, eax
call fcn.004fddc2
add esp, 0x10
test eax, eax
jne 0x459350
cmp esi, 0x100000
ja 0x459350
mov eax, esi
cdq
push edx
push eax
call fcn.00463ea0
add esp, 8
mov dword [esp + 0x1c], eax
cmp edi, eax
ja 0x459350
mov ebp, eax
mov eax, 0x400
nop dword [eax]
push dword [esp + 0x14]
cmp ebp, 0x400
mov esi, ebp
cmova esi, eax
lea eax, [esp + 0x48]
push esi
push 1
push eax
call fcn.004fd972
add esp, 0x10
cmp esi, eax
jne 0x459350
push esi
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x2c]
push eax
call fcn.00452df0
add esp, 0xc
test eax, eax
jne 0x459350
mov eax, 0x400
sub ebp, esi
jne 0x4592a0
lea eax, [esp + 0x24]
push eax
call fcn.00450d70
add esp, 4
cmp edi, dword [esp + 0x1c]
jne 0x459381
mov ecx, eax
sub edi, 4
jb 0x459316
mov eax, dword [ebx]
cmp eax, dword [ecx]
jne 0x45931b
add ebx, 4
add ecx, 4
sub edi, 4
jae 0x459305
cmp edi, 0xfffffffc
je 0x459348
mov al, byte [ebx]
cmp al, byte [ecx]
jne 0x459350
cmp edi, 0xfffffffd
je 0x459348
mov al, byte [ebx + 1]
cmp al, byte [ecx + 1]
jne 0x459350
cmp edi, 0xfffffffe
je 0x459348
mov al, byte [ebx + 2]
cmp al, byte [ecx + 2]
jne 0x459350
cmp edi, 0xffffffff
je 0x459348
mov al, byte [ebx + 3]
cmp al, byte [ecx + 3]
jne 0x459350
mov dword [esp + 0x18], 0
lea eax, [esp + 0x24]
push eax
call fcn.00452e00
push dword [esp + 0x14]
call dword [0x562004]
push dword [esp + 0x1c]
mov dword [esp + 0x1c], 0
call fcn.004fceb6
mov eax, dword [esp + 0x24]
add esp, 0xc
jmp 0x4594b9
mov ebp, eax
test ebp, ebp
je 0x459350
lea eax, [esp + 0x34]
push 0x100000
push eax
call fcn.00452e30
push str._____BEGIN_PUBLIC_KEY_____
push ebp
call fcn.004f4080
add esp, 0x10
test eax, eax
je 0x459350
mov esi, eax
sub esi, ebp
je 0x4593b4
cmp byte [eax - 1], 0xa
jne 0x459350
add esi, 0x1a
push str._n_____END_PUBLIC_KEY_____
lea eax, [esi + ebp]
push eax
call fcn.004f4080
add esp, 8
test eax, eax
je 0x459350
sub eax, ebp
mov dword [esp + 0x1c], eax
cmp esi, eax
jae 0x459403
mov al, byte [esi + ebp]
lea ecx, [esi + ebp]
cmp al, 0xa
je 0x4593fc
cmp al, 0xd
je 0x4593fc
push 1
push ecx
lea eax, [esp + 0x3c]
push eax
call fcn.00452df0
add esp, 0xc
test eax, eax
jne 0x459350
inc esi
cmp esi, dword [esp + 0x1c]
jb 0x4593d6
lea eax, [esp + 0x20]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [esp + 0x3c]
push eax
call fcn.00450d70
add esp, 4
push eax
call fcn.0047f200
mov esi, eax
lea eax, [esp + 0x40]
push eax
call fcn.00452e00
add esp, 0x10
test esi, esi
jne 0x459350
cmp edi, dword [esp + 0x20]
jne 0x459350
mov ecx, dword [esp + 0x10]
sub edi, 4
jb 0x459461
nop word [eax + eax]
mov eax, dword [ebx]
cmp eax, dword [ecx]
jne 0x45946a
add ebx, 4
add ecx, 4
sub edi, 4
jae 0x459450
cmp edi, 0xfffffffc
je 0x459348
mov al, byte [ebx]
cmp al, byte [ecx]
jne 0x4594a7
cmp edi, 0xfffffffd
je 0x459348
mov al, byte [ebx + 1]
cmp al, byte [ecx + 1]
jne 0x4594a7
cmp edi, 0xfffffffe
je 0x459348
mov al, byte [ebx + 2]
cmp al, byte [ecx + 2]
jne 0x4594a7
cmp edi, 0xffffffff
je 0x459348
mov al, byte [ebx + 3]
cmp al, byte [ecx + 3]
je 0x459348
mov dword [esp + 0x18], 0x5a
jmp 0x459350
mov eax, 0x5a
mov ecx, dword [esp + 0x444]
pop edi
pop ebp
pop esi
pop ebx
xor ecx, esp
call fcn.004f1532
add esp, 0x438
ret