Function at 0x58d770
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword [0x92707c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x58dbba
sub esp, 0x4c
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x14]
mov edx, dword [esp + 0x74]
mov dword [esp], edx
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x6c]
cmp ecx, 0xffffffff
jne 0x58d7a8
mov ecx, eax
jmp 0x58d7ae
mov ecx, eax
mov eax, dword [esp + 0x6c]
mov ebx, dword [esp + 0x68]
lea ebp, [ebx + 7]
sar ebp, 0x1f
shr ebp, 0x1d
lea ebp, [ebp + ebx + 7]
sar ebp, 3
mov esi, dword [esp + 0x60]
cmp esi, ebp
jne 0x58d9b5
mov edi, dword [esp + 0x54]
cmp edi, ecx
jne 0x58d99d
lea edx, [eax + ecx + 2]
cmp edx, ebp
jg 0x58d985
lea edx, [ebp - 1]
cmp esi, edx
jbe 0x58dbb0
mov esi, dword [esp + 0x5c]
lea edi, [ebp + esi - 1]
cmp byte [edi], 0xbc
jne 0x58d96d
mov edi, ebp
sub ebp, ecx
lea ecx, [ebp - 1]
mov esi, dword [esp + 0x64]
cmp esi, ecx
jb 0x58dba9
cmp ecx, edx
ja 0x58dba0
mov dword [esp + 0x40], edi
mov dword [esp + 0x3c], ebp
mov edx, esi
sub esi, ebp
inc esi
mov dword [esp + 0x30], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, ecx
shl edi, 3
sub edi, ebx
mov ebx, dword [esp + 0x40]
sub ebx, ebp
mov ebp, dword [esp + 0x5c]
add esi, ebp
test edi, edi
jl 0x58db9b
mov dword [esp + 0x34], ecx
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x40], eax
mov ecx, edi
mov eax, 0xffffffff
shr al, cl
movzx ebx, byte [ebp]
cmp ecx, 8
sbb edi, edi
and edi, eax
mov eax, edi
xchg edi, ebx
not ebx
xchg edi, ebx
xchg edi, eax
test bl, al
xchg edi, eax
jne 0x58d955
mov dword [esp + 0x48], esi
mov byte [esp + 0x23], al
mov dword [esp], ebp
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xc], ecx
mov ebx, dword [esp + 0x74]
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], esi
mov edi, dword [esp + 0x2c]
mov dword [esp + 0x18], edi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x1c], esi
call sym.crypto_rsa.mgf1XOR
mov ecx, dword [esp + 0x34]
test ecx, ecx
jbe 0x58db92
mov ebx, dword [esp + 0x5c]
movzx ebp, byte [ebx]
movzx esi, byte [esp + 0x23]
and esi, ebp
xchg esi, eax
mov byte [ebx], al
xchg esi, eax
mov ebp, dword [esp + 0x40]
test ebp, ebp
jne 0x58d91f
nop
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x64]
mov dword [esp + 8], eax
mov byte [esp + 0xc], 1
call sym.internal_bytealg.IndexByte
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x58d93d
mov ebx, dword [esp + 0x3c]
sub ebx, eax
lea eax, [ebx - 2]
mov ecx, dword [esp + 0x34]
mov ebx, dword [esp + 0x5c]
mov ebp, eax
mov esi, dword [esp + 0x3c]
mov edi, esi
sub esi, ebp
lea eax, [esi - 2]
mov edx, dword [esp + 0x64]
cmp edx, eax
jb 0x58db8b
xor ebp, ebp
jmp 0x58d9ed
mov eax, dword [0x8fc588]
mov ecx, dword [0x8fc58c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x4c
ret
mov eax, dword [0x8fc588]
mov ecx, dword [0x8fc58c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x4c
ret
mov eax, dword [0x8fc588]
mov ecx, dword [0x8fc58c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x4c
ret
mov eax, dword [0x8fc588]
mov ecx, dword [0x8fc58c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x4c
ret
mov eax, dword [0x8fc588]
mov ecx, dword [0x8fc58c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x4c
ret
lea eax, [0x6bde80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x28
lea ecx, [0x70483f]
mov dword [eax], ecx
lea ecx, [0x7651c4]
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x4c
ret
inc ebp
mov edi, dword [esp + 0x3c]
cmp ebp, eax
jge 0x58da13
movzx edi, byte [ebx + ebp]
xchg edi, eax
test al, al
xchg edi, eax
je 0x58d9e8
mov eax, dword [0x8fc588]
mov ecx, dword [0x8fc58c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x4c
ret
cmp eax, ecx
jae 0x58db86
lea ebp, [esi + ebx - 2]
cmp byte [ebp], 1
jne 0x58db69
lea eax, [esi - 1]
cmp eax, ecx
ja 0x58db81
mov dword [esp + 0x40], esi
mov dword [esp + 0x38], eax
lea eax, [0x6acd80]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x40]
sub eax, ecx
mov edx, dword [esp + 0x3c]
sub edx, ecx
mov dword [esp + 0x24], edx
inc eax
mov dword [esp + 0x28], eax
neg eax
sar eax, 0x1f
mov ebx, dword [esp + 0x38]
and ebx, eax
mov eax, dword [esp + 0x5c]
add eax, ebx
mov dword [esp + 0x44], eax
mov ebx, dword [esp + 0x70]
mov ebp, dword [ebx + 0x1c]
mov esi, dword [esp + 0x74]
mov dword [esp], esi
mov dword [esp + 8], 8
mov dword [esp + 0xc], 8
call ebp
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x74]
mov dword [esp], edx
mov ebx, dword [esp + 0x50]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x70]
mov ecx, dword [eax + 0x1c]
mov edx, dword [esp + 0x74]
mov dword [esp], edx
mov ebx, dword [esp + 0x44]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x24]
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x28]
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x70]
mov eax, dword [eax + 0x18]
mov ecx, dword [esp + 0x74]
mov dword [esp], ecx
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
call eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x2c]
cmp eax, ecx
jne 0x58db3d
mov ecx, dword [esp + 0x10]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
jne 0x58db55
mov eax, dword [0x8fc588]
mov ecx, dword [0x8fc58c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x4c
ret
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
add esp, 0x4c
ret
mov eax, dword [0x8fc588]
mov ecx, dword [0x8fc58c]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], ecx
add esp, 0x4c
ret
call sym.runtime.panicSliceB
call sym.runtime.panicIndex
mov ecx, eax
call sym.runtime.panicSliceAcap
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
call sym.runtime.panicshift
mov eax, ecx
mov ecx, edx
call sym.runtime.panicSliceB
mov edx, esi
call sym.runtime.panicSliceAcap
mov eax, edx
mov ecx, esi
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.crypto_rsa.emsaPSSVerify