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

Disassembly:
mov ecx, dword [0x8d0454]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x594566
sub esp, 0x60
mov edx, dword [esp + 0x68]
test edx, edx
jbe 0x59455c
mov ebx, dword [esp + 0x64]
mov ebp, dword [ebx]
lea ebp, [ebp + ebp*4]
cmp edx, 1
jbe 0x594550
shl ebp, 3
add ebp, dword [ebx + 4]
mov dword [esp + 0x50], ebp
mov eax, ebp
sar ebp, 0x1f
test ebp, ebp
xchg esi, ebx
sete bl
xchg esi, ebx
test eax, eax
xchg edi, ebx
sete bl
xchg edi, ebx
and edi, esi
xchg edi, eax
test al, al
xchg edi, eax
je 0x594266
mov edi, 1
jmp 0x5942af
mov ecx, ebp
mov esi, eax
xor edi, edi
jmp 0x594288
shr eax, 7
mov edx, ebp
shl edx, 0x19
or eax, edx
sar ebp, 7
inc edi
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
mov esi, dword [esp + 0x50]
test ebp, ebp
setg bl
sete dl
test eax, eax
xchg esi, ebx
seta bl
xchg esi, ebx
and esi, edx
or ebx, esi
test bl, bl
jne 0x59426e
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
mov ebp, ecx
mov dword [esp + 0x30], ebp
lea esi, [edi - 1]
mov edi, dword [esp + 0x70]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x54], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x54]
jmp 0x5942ed
mov byte [eax + edi - 1], dl
dec esi
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x64]
mov ecx, ebp
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x30]
test esi, esi
jl 0x5943b4
mov dword [esp + 0x48], ecx
lea ebx, [esi + esi*2]
lea edx, [esi + ebx*2 - 0x20]
mov dword [esp + 0x4c], edx
neg edx
mov ecx, edx
shl ebp, cl
lea ebx, [esi + ebx*2]
mov ecx, ebx
shr eax, cl
shr ecx, 5
cmp ecx, 1
sbb ecx, ecx
xor ecx, 0xffffffff
cmp ebx, 0x20
sbb ebx, ebx
and eax, ebx
cmp edx, 0x20
sbb edx, edx
and edx, ebp
or eax, edx
mov edx, dword [esp + 0x4c]
cmp edx, 0x20
sbb ebx, ebx
not ebx
or ebx, edx
mov edx, ecx
mov ecx, ebx
mov ebp, dword [esp + 0x30]
mov ebx, ebp
sar ebp, cl
and ebp, edx
or eax, ebp
mov edx, eax
and eax, 0x7f
test esi, esi
je 0x594357
or edx, 0xffffff80
jmp 0x594359
mov edx, eax
mov eax, dword [esp + 0x44]
inc eax
mov ebp, dword [esp + 0x48]
cmp ebp, eax
jae 0x5942ce
mov dword [esp + 0x38], esi
mov byte [esp + 0x23], dl
mov dword [esp], edi
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x682060]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
movzx edx, byte [esp + 0x23]
mov ebx, dword [esp + 0x30]
mov esi, dword [esp + 0x38]
mov ebp, ecx
jmp 0x5942ce
mov eax, dword [esp + 0x44]
mov ebp, 2
jmp 0x5943ce
mov esi, dword [esp + 0x3c]
lea ebp, [esi + 1]
mov ebx, dword [esp + 0x64]
mov edx, dword [esp + 0x68]
cmp edx, ebp
jle 0x594428
mov dword [esp + 0x3c], ebp
mov esi, dword [ebx + ebp*4]
mov dword [esp + 0x50], esi
sar esi, 0x1f
mov dword [esp + 0x2c], esi
mov ebx, dword [esp + 0x50]
test ebx, ebx
sete dl
test esi, esi
xchg ebp, ebx
sete bl
xchg ebp, ebx
and edx, ebp
test dl, dl
je 0x594403
mov edx, 1
jmp 0x594425
mov dword [esp + 0x40], eax
mov edx, esi
mov ebp, ebx
xor edx, edx
mov dword [esp + 0x28], edx
mov edx, esi
jmp 0x59444a
mov eax, dword [esp + 0x40]
mov ebx, dword [esp + 0x50]
mov esi, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
dec edx
jmp 0x594476
add esp, 0x60
ret
shr ebx, 7
mov eax, esi
shl eax, 0x19
or ebx, eax
sar esi, 7
mov eax, dword [esp + 0x28]
inc eax
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x28], eax
test esi, esi
xchg ebp, ebx
sete bl
xchg ebp, ebx
setg dl
test ebx, ebx
seta al
and eax, ebp
or edx, eax
test dl, dl
jne 0x59442c
jmp 0x594415
xchg ebp, ebx
mov byte [eax + edi - 1], bl
xchg ebp, ebx
dec edx
mov ebp, dword [esp + 0x50]
mov ecx, ebx
mov ebx, ebp
test edx, edx
jl 0x5943bf
mov dword [esp + 0x24], ecx
mov dword [esp + 0x5c], edi
lea ebp, [edx + edx*2]
lea edi, [edx + ebp*2 - 0x20]
mov dword [esp + 0x4c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
mov ecx, edi
shl esi, cl
lea ebp, [edx + ebp*2]
mov ecx, ebp
shr ebx, cl
shr ecx, 5
cmp ecx, 1
sbb ecx, ecx
xor ecx, 0xffffffff
cmp edi, 0x20
sbb edi, edi
and esi, edi
cmp ebp, 0x20
sbb ebp, ebp
and ebx, ebp
or ebx, esi
mov ebp, dword [esp + 0x4c]
cmp ebp, 0x20
sbb esi, esi
xchg esi, ebx
not ebx
xchg esi, ebx
or esi, ebp
mov ebp, ecx
mov ecx, esi
mov edi, dword [esp + 0x2c]
mov esi, edi
sar edi, cl
and edi, ebp
or ebx, edi
mov ebp, ebx
and ebx, 0x7f
test edx, edx
je 0x5944ec
or ebp, 0xffffff80
jmp 0x5944ee
mov ebp, ebx
inc eax
mov ebx, dword [esp + 0x24]
cmp ebx, eax
jb 0x594500
mov edi, dword [esp + 0x5c]
jmp 0x594465
mov dword [esp + 0x34], edx
xchg ebp, eax
mov byte [esp + 0x22], al
xchg ebp, eax
mov ecx, dword [esp + 0x5c]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x682060]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x34]
movzx ebp, byte [esp + 0x22]
mov esi, dword [esp + 0x2c]
mov ebx, ecx
jmp 0x594465
mov eax, 1
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.encoding_asn1.oidEncoder.Encode