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

Disassembly:
mov ecx, dword [0x8993fc]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x40]
cmp eax, dword [ecx + 8]
jbe 0x5b4af8
sub esp, 0xc0
mov edx, dword [esp + 0xcc]
mov ebx, dword [esp + 0xc8]
mov ebp, dword [esp + 0xc4]
mov eax, ebx
mov ecx, ebp
mov esi, edx
jmp 0x5b41c6
mov eax, dword [esp + 0xc8]
mov ecx, dword [esp + 0xc4]
mov ebp, ebx
mov edx, edi
mov ebx, esi
mov esi, dword [esp + 0xcc]
mov edi, dword [0x854e64]
cmp edi, 1
jb 0x5b4aeb
dec edi
mov esi, dword [str._n_____BEGIN]
mov eax, dword [0x854e68]
dec eax
neg eax
sar eax, 0x1f
and eax, 1
add esi, eax
cmp ebx, edi
jge 0x5b41f5
xor eax, eax
jmp 0x5b422f
mov dword [esp + 0x94], ebp
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], ebx
mov dword [esp], ebp
mov dword [esp + 4], esi
mov dword [esp + 8], edi
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xc4]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x94]
test al, al
je 0x5b4259
mov esi, dword [0x854e64]
lea eax, [esi - 1]
cmp ebx, eax
jb 0x5b4ae4
sub edx, esi
sub ebx, esi
inc edx
mov esi, edx
neg edx
sar edx, 0x1f
and eax, edx
add eax, ebp
lea edx, [ebx + 1]
jmp 0x5b42a2
mov eax, dword [str._n_____BEGIN]
mov ecx, dword [0x854e64]
mov esi, dword [0x854e68]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], esi
call sym.bytes.Cut
movzx eax, byte [esp + 0x30]
test al, al
je 0x5b47be
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
mov esi, ecx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], esi
call sym.encoding_pem.getLine
mov ecx, dword [esp + 0x10]
mov eax, dword [0x854e84]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x8c], edx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xbc], ebx
mov ebp, dword [esp + 0x14]
mov esi, dword [esp + 0x1c]
mov dword [esp + 0x84], esi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x80], edi
cmp eax, ecx
jg 0x5b4361
mov dword [esp + 0x40], ecx
sub ecx, eax
mov ebx, dword [esp + 0x40]
cmp ebx, ecx
jb 0x5b4adb
mov dword [esp + 0x44], ebp
sub ebx, ecx
sub ebp, ecx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ecx, ebp
lea ebp, [edx + ecx]
cmp eax, ebx
je 0x5b4320
xor eax, eax
jmp 0x5b4350
mov eax, dword [0x854e80]
mov dword [esp], ebp
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov edx, dword [esp + 0x8c]
mov esi, dword [esp + 0x84]
mov edi, dword [esp + 0x80]
mov ecx, dword [esp + 0x40]
mov ebx, dword [esp + 0xbc]
mov ebp, dword [esp + 0x44]
jmp 0x5b4363
xor eax, eax
test al, al
je 0x5b41ab
mov eax, dword [0x854e84]
sub ecx, eax
cmp ebp, ecx
jb 0x5b4ad4
mov dword [esp + 0x40], ecx
call sym.runtime.makemap_small
mov eax, dword [esp]
mov dword [esp + 0xb8], eax
lea ecx, [0x6759a0]
mov dword [esp], ecx
call sym.runtime.newobject
mov eax, dword [0x899508]
mov ecx, dword [esp + 4]
test eax, eax
jne 0x5b43b3
mov eax, dword [esp + 0xb8]
jmp 0x5b43c1
call sym.runtime.gcWriteBarrier1
mov eax, dword [esp + 0xb8]
mov dword [edi], eax
mov dword [esp + 0xb4], ecx
mov dword [ecx + 8], eax
mov dword [esp], 0
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov edx, dword [esp + 0x40]
mov dword [esp + 8], edx
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0xb4]
mov dword [edx + 4], eax
mov eax, dword [0x899508]
test eax, eax
je 0x5b4412
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [edx]
mov dword [edi + 4], eax
mov dword [edx], ecx
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x80]
mov ebx, dword [esp + 0xbc]
jmp 0x5b4812
mov edx, dword [esp + 0xb4]
mov ebx, dword [edx + 8]
test ebx, ebx
je 0x5b4440
mov ebx, dword [ebx]
jmp 0x5b4442
xor ebx, ebx
test ebx, ebx
jne 0x5b44b3
mov ebx, dword [0x854e74]
cmp ebx, 1
jb 0x5b4ac8
mov ebp, dword [str._n_____END]
mov esi, dword [0x854e78]
dec ebx
dec esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and esi, 1
add ebp, esi
mov ecx, dword [esp + 0x48]
cmp ecx, ebx
jge 0x5b447d
xor eax, eax
jmp 0x5b44a4
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xb4]
test al, al
je 0x5b44b7
mov ebx, dword [0x854e74]
dec ebx
xor eax, eax
jmp 0x5b4508
mov ecx, dword [esp + 0x48]
mov eax, dword [str._n_____END]
mov edx, dword [0x854e74]
mov ebx, dword [0x854e78]
mov ebp, dword [esp + 0x90]
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov esi, dword [esp + 0x50]
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], ebx
call sym.bytes.Index
mov eax, dword [esp + 0x18]
mov ecx, dword [0x854e74]
lea ebx, [eax + ecx]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0xb4]
test eax, eax
jge 0x5b451e
mov edi, dword [esp + 0x50]
mov esi, ecx
mov ebx, dword [esp + 0x90]
jmp 0x5b41ab
cmp ebx, ecx
ja 0x5b4ac1
mov ebp, ecx
sub ebp, ebx
mov esi, dword [esp + 0x50]
sub esi, ebx
mov dword [esp + 0x70], esi
xchg esi, ebx
neg ebx
xchg esi, ebx
sar esi, 0x1f
and ebx, esi
mov esi, dword [0x854e84]
mov edx, dword [esp + 0x40]
add esi, edx
mov edi, dword [esp + 0x90]
add ebx, edi
cmp ebp, esi
jge 0x5b456a
mov edi, dword [esp + 0x50]
mov esi, ecx
mov ebx, dword [esp + 0x90]
jmp 0x5b41ab
jb 0x5b4ab8
mov dword [esp + 0x74], eax
mov dword [esp + 0x6c], esi
mov edi, dword [esp + 0x70]
sub edi, esi
mov dword [esp + 0x5c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, esi
sub ebp, esi
mov dword [esp + 0x58], ebp
add edi, ebx
mov dword [esp + 0x98], edi
cmp edx, esi
jle 0x5b45a4
xor edx, edx
jmp 0x5b45e7
mov dword [esp + 0xa4], ebx
mov dword [esp], ebx
mov eax, dword [esp + 0x8c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x48]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x6c]
mov edi, dword [esp + 0x98]
mov edx, eax
mov eax, dword [esp + 0x74]
test dl, dl
je 0x5b4659
mov edx, dword [0x854e84]
cmp edx, esi
jg 0x5b4652
sub esi, edx
mov ebp, dword [esp + 0x6c]
cmp esi, ebp
ja 0x5b4aaf
sub ebp, esi
mov edi, dword [esp + 0x70]
sub edi, esi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and esi, edi
add ebx, esi
cmp edx, ebp
je 0x5b4620
xor edx, edx
jmp 0x5b4645
mov eax, dword [0x854e80]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0x48]
mov edx, eax
mov eax, dword [esp + 0x74]
mov ebp, dword [esp + 0x58]
mov edi, dword [esp + 0x98]
jmp 0x5b4654
xor edx, edx
xor edx, 1
jmp 0x5b465e
mov edx, 1
test dl, dl
je 0x5b4674
mov edi, dword [esp + 0x50]
mov esi, ecx
mov ebx, dword [esp + 0x90]
jmp 0x5b41ab
mov dword [esp], edi
mov dword [esp + 4], ebp
mov eax, dword [esp + 0x5c]
mov dword [esp + 8], eax
call sym.encoding_pem.getLine
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5b46a4
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
mov ebx, dword [esp + 0x90]
jmp 0x5b41ab
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x50]
cmp ecx, edx
ja 0x5b4aaa
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.encoding_pem.removeSpacesAndTabs
mov eax, dword [0x859d8c]
mov ecx, dword [esp + 0xc]
mov dword [esp + 0xa8], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x78], edx
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x7c], ebx
cmp dword [eax + 0x140], 0xffffffff
jne 0x5b4717
mov eax, edx
shr edx, 2
lea edx, [edx + edx*2]
and eax, 3
lea eax, [eax + eax*2]
mov esi, eax
shl eax, 1
sar eax, 0x1f
shr eax, 0x1d
lea eax, [eax + esi*2]
sar eax, 3
add eax, edx
jmp 0x5b471d
shr edx, 2
lea eax, [edx + edx*2]
mov dword [esp + 0x34], eax
lea ecx, [0x660420]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0xb4]
mov dword [edx + 0x10], ecx
mov dword [edx + 0x14], ecx
mov ebx, dword [0x899508]
test ebx, ebx
je 0x5b4763
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [edx + 0xc]
mov dword [edi + 4], ebx
mov dword [edx + 0xc], eax
mov eax, dword [0x859d8c]
mov ebx, dword [edx + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ecx
mov eax, dword [esp + 0xa8]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x14], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x18], eax
call sym.encoding_base64._Encoding_.Decode
mov eax, dword [esp + 0x20]
test eax, eax
je 0x5b49cb
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x48]
mov ebx, dword [esp + 0x90]
jmp 0x5b41ab
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xdc], eax
add esp, 0xc0
ret
mov dword [eax], ecx
mov edx, dword [esp + 0xb4]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x9c]
test eax, eax
je 0x5b4a64
mov dword [esp + 0x50], ecx
mov dword [esp + 0x48], eax
mov dword [esp + 0x90], ebx
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.encoding_pem.getLine
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [str.::_n_]
mov ebp, dword [0x854e94]
mov esi, dword [0x854e98]
mov edi, dword [esp + 0x18]
mov dword [esp + 0x9c], edi
mov edi, dword [esp + 0x1c]
mov dword [esp + 0x60], edi
mov edi, dword [esp + 0x20]
mov dword [esp + 0x64], edi
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], esi
call sym.bytes.Cut
movzx eax, byte [esp + 0x30]
test al, al
je 0x5b442e
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x88], ecx
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x38], ebp
mov esi, dword [esp + 0x2c]
mov dword [esp + 0x3c], esi
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
call sym.bytes.TrimSpace
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x68], ecx
mov edx, dword [esp + 0x88]
mov dword [esp], edx
mov edx, dword [esp + 0x38]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 8], edx
call sym.bytes.TrimSpace
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0xb4]
mov ecx, dword [eax + 8]
mov dword [esp + 0xb0], ecx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x84], edx
mov ebx, dword [esp + 0xc]
mov dword [esp + 0xac], ebx
mov dword [esp], 0
mov ebp, dword [esp + 0xa0]
mov dword [esp + 4], ebp
mov ebp, dword [esp + 0x68]
mov dword [esp + 8], ebp
call sym.runtime.slicebytetostring
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
lea edx, [0x662140]
mov dword [esp], edx
mov ebx, dword [esp + 0xb0]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
call sym.runtime.mapassign_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x84]
mov dword [eax + 4], ecx
mov ecx, dword [0x899508]
test ecx, ecx
jne 0x5b49b3
mov ecx, dword [esp + 0xac]
jmp 0x5b47fa
call sym.runtime.gcWriteBarrier2
mov ecx, dword [esp + 0xac]
mov dword [edi], ecx
mov edx, dword [eax]
mov dword [edi + 4], edx
jmp 0x5b47fa
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0xb4]
mov edx, dword [ebx + 0x14]
cmp edx, ecx
jb 0x5b4aa5
mov dword [ebx + 0x10], ecx
mov edx, dword [0x854e74]
mov ebp, dword [esp + 0x74]
lea eax, [ebp + edx - 1]
add edx, ebp
mov ecx, dword [esp + 0x48]
cmp ecx, eax
jb 0x5b4aa0
mov ebx, dword [esp + 0x50]
sub ebx, edx
sub ecx, edx
lea edx, [ebx + 1]
mov ebx, edx
neg edx
inc ecx
sar edx, 0x1f
and eax, edx
mov edx, dword [esp + 0x90]
add eax, edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebx
call sym.encoding_pem.getLine
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0xb4]
mov dword [esp + 0xd0], ebx
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], ecx
mov dword [esp + 0xdc], edx
add esp, 0xc0
ret
mov dword [esp + 0xd0], 0
mov eax, dword [esp + 0xc4]
mov dword [esp + 0xd4], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 0xd8], eax
mov eax, dword [esp + 0xcc]
mov dword [esp + 0xdc], eax
add esp, 0xc0
ret
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAcap
call sym.runtime.panicSliceAcap
mov eax, esi
mov ecx, ebp
call sym.runtime.panicSliceB
mov eax, esi
mov ecx, ebp
call sym.runtime.panicSliceB
mov eax, ebx
call sym.runtime.panicSliceB
mov eax, 1
xor ecx, ecx
call sym.runtime.panicSliceB
mov edx, ebp
call sym.runtime.panicSliceAcap
mov eax, ecx
mov ecx, ebx
call sym.runtime.panicSliceB
mov ecx, ebx
call sym.runtime.panicSliceB
mov eax, 1
xor ecx, ecx
call sym.runtime.panicSliceB
nop
call sym.runtime.morestack_noctxt
jmp sym.encoding_pem.Decode