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

Disassembly:
mov ecx, dword [0x8d0454]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x18]
cmp eax, dword [ecx + 8]
jbe 0x58f8ce
sub esp, 0x98
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
call sym.encoding_asn1.getUniversalType
movzx eax, byte [esp + 0x11]
test al, al
je 0x58f4f5
movzx eax, byte [esp + 8]
mov byte [esp + 0x42], al
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x50], ecx
movzx edx, byte [esp + 0x10]
mov byte [esp + 0x43], dl
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
jmp 0x58f571
lea eax, [0x6c6fb5]
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], 0x19
mov eax, dword [esp + 0x78]
mov dword [esp], eax
mov dword [esp + 4], 0x19
call sym.runtime.convTstring
mov eax, dword [esp + 8]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x727564]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0x98
ret
mov ebp, dword [esp + 0x48]
inc ebp
mov edx, esi
mov ebx, edi
mov esi, eax
mov edi, ecx
movzx eax, byte [esp + 0x42]
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x58], esi
mov dword [esp + 0x48], ebp
mov esi, dword [esp + 0xa0]
cmp esi, ebx
jle 0x58f760
mov eax, dword [esp + 0x9c]
mov dword [esp], eax
mov dword [esp + 4], esi
mov ecx, dword [esp + 0xa4]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call sym.encoding_asn1.parseTagAndLength
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
test eax, eax
jne 0x58f726
mov edx, dword [esp + 0x14]
cmp edx, 0x14
jg 0x58f5d4
cmp edx, 0xc
je 0x58f5f4
cmp edx, 0x12
je 0x58f5f4
cmp edx, 0x14
je 0x58f5f4
jmp 0x58f5f9
cmp edx, 0x18
jg 0x58f5ea
cmp edx, 0x16
je 0x58f5f4
cmp edx, 0x17
jl 0x58f5f9
mov edx, 0x17
jmp 0x58f5f9
cmp edx, 0x1b
je 0x58f5f4
cmp edx, 0x1e
jne 0x58f5f9
mov edx, 0x13
movzx ebx, byte [esp + 0x42]
test bl, bl
je 0x58f60d
mov ebp, dword [esp + 0x50]
movzx esi, byte [esp + 0x43]
jmp 0x58f63d
mov ebp, dword [esp + 0x10]
test ebp, ebp
jne 0x58f6c0
movzx ebp, byte [esp + 0x1c]
movzx esi, byte [esp + 0x43]
xchg ebp, eax
xchg esi, ebx
cmp al, bl
xchg esi, ebx
xchg ebp, eax
jne 0x58f6c0
mov ebp, dword [esp + 0x50]
cmp edx, ebp
jne 0x58f6c0
mov edx, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
add edi, edx
cmp edx, edi
jg 0x58f65a
mov edx, dword [esp + 0xa0]
cmp edx, edi
jge 0x58f55b
lea eax, [0x6c3316]
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], 0x12
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov dword [esp + 4], 0x12
call sym.runtime.convTstring
mov eax, dword [esp + 8]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x727438]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0x98
ret
lea eax, [0x6c4c74]
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], 0x15
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov dword [esp + 4], 0x15
call sym.runtime.convTstring
mov eax, dword [esp + 8]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
lea ecx, [0x727564]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
add esp, 0x98
ret
mov eax, dword [esp + 0x24]
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0x98
ret
mov dword [esp + 0x64], edi
mov eax, dword [esp + 0xa8]
mov dword [esp], eax
mov eax, dword [esp + 0xac]
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], ebp
call sym.reflect.MakeSlice
mov eax, dword [esp + 0x10]
mov dword [esp + 0x60], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x18]
mov dword [esp + 0x54], edx
lea edi, [esp + 0x80]
mov ebx, eax
xor eax, eax
call fcn.0046847a
xor eax, eax
xor ecx, ecx
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x64]
jmp 0x58f7d5
mov edi, dword [esp + 0x4c]
inc edi
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x60]
mov ebp, eax
mov esi, ecx
mov eax, edi
mov ecx, edx
mov edx, dword [esp + 0x54]
mov edi, dword [esp + 0x48]
cmp eax, edi
jge 0x58f8a0
mov dword [esp + 0x4c], eax
mov dword [esp + 0x44], ecx
mov dword [esp], ebx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call sym.reflect.Value.Index
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov eax, dword [esp + 0x9c]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x44]
mov dword [esp + 0x18], ebx
lea edi, [esp + 0x1c]
lea esi, [esp + 0x80]
call fcn.00468954
call sym.encoding_asn1.parseField
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x3c]
test eax, eax
je 0x58f7bc
mov eax, dword [esp + 0x38]
mov edx, dword [esp + 0x60]
mov dword [esp + 0xb8], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xbc], edx
mov edx, dword [esp + 0x54]
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], eax
mov dword [esp + 0xc8], ecx
add esp, 0x98
ret
mov dword [esp + 0xb8], ebx
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], edx
mov dword [esp + 0xc4], ebp
mov dword [esp + 0xc8], esi
add esp, 0x98
ret
call sym.runtime.morestack_noctxt
jmp sym.encoding_asn1.parseSequenceOf