Function at 0x5989b0
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 0x599013
sub esp, 0x70
mov eax, dword [esp + 0x78]
test eax, eax
je 0x598fbc
mov eax, dword [eax + 8]
cmp eax, 0x62de383d
ja 0x598ae2
cmp eax, 0x43cfbb1f
ja 0x598a65
cmp eax, 0x2e74d42b
jne 0x598a06
mov eax, dword [esp + 0x78]
lea ecx, [0x674f00]
cmp eax, ecx
je 0x598b7a
jmp 0x598fbc
cmp eax, 0x338a7ec0
jne 0x598a24
mov eax, dword [esp + 0x78]
lea ecx, [0x674fc0]
cmp eax, ecx
je 0x598da8
jmp 0x598fbc
cmp eax, 0x43cfbb1f
jne 0x598fbc
mov eax, dword [esp + 0x78]
lea ecx, [0x678680]
cmp eax, ecx
jne 0x598fbc
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._String_.readASN1Bytes
movzx eax, byte [esp + 8]
mov byte [esp + 0x80], al
add esp, 0x70
ret
cmp eax, 0x49163278
jne 0x598a83
mov eax, dword [esp + 0x78]
lea ecx, [0x675280]
cmp eax, ecx
je 0x598da8
jmp 0x598fbc
cmp eax, 0x5051f1be
jne 0x598ac0
mov eax, dword [esp + 0x78]
lea ecx, [0x6bd2a0]
cmp eax, ecx
jne 0x598fbc
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 4], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._String_.readASN1BigInt
movzx eax, byte [esp + 8]
mov byte [esp + 0x80], al
add esp, 0x70
ret
cmp eax, 0x62de383d
jne 0x598fbc
mov eax, dword [esp + 0x78]
lea ecx, [0x674ec0]
cmp eax, ecx
je 0x598b7a
jmp 0x598fbc
cmp eax, 0xba585d67
ja 0x598b43
cmp eax, 0x6e78e923
jne 0x598b07
mov eax, dword [esp + 0x78]
lea ecx, [0x675040]
cmp eax, ecx
je 0x598da8
jmp 0x598fbc
cmp eax, 0x889ce7f8
jne 0x598b25
mov eax, dword [esp + 0x78]
lea ecx, [0x6753c0]
cmp eax, ecx
je 0x598da8
jmp 0x598fbc
cmp eax, 0xba585d67
jne 0x598fbc
mov eax, dword [esp + 0x78]
lea ecx, [0x674e40]
cmp eax, ecx
je 0x598b7a
jmp 0x598fbc
cmp eax, 0xc3230e0b
jne 0x598b5d
mov eax, dword [esp + 0x78]
lea ecx, [0x674e80]
cmp eax, ecx
je 0x598b7a
jmp 0x598fbc
cmp eax, 0xd6631a7c
jne 0x598d8b
mov eax, dword [esp + 0x78]
lea ecx, [0x674f40]
cmp eax, ecx
jne 0x598fbc
mov dword [esp + 0x48], 0
mov dword [esp + 0x4c], 0
mov eax, dword [esp + 0x74]
mov dword [esp], eax
lea eax, [esp + 0x48]
mov dword [esp + 4], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._String_.readASN1Int64
movzx eax, byte [esp + 8]
test al, al
je 0x598d7f
mov eax, dword [esp + 0x78]
test eax, eax
je 0x598bec
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x6c], ecx
mov edx, dword [esp + 0x68]
test edx, edx
je 0x598be4
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x598bde
or ebx, 0x80
mov ebp, dword [esp + 0x6c]
jmp 0x598bf2
xor ebx, ebx
xor edx, edx
xor ebp, ebp
jmp 0x598bf2
xor ebx, ebx
xor edx, edx
xor ebp, ebp
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call sym.reflect.Value.Elem
mov eax, dword [esp + 0x14]
and eax, 0x1f
lea ecx, [eax - 2]
cmp ecx, 4
ja 0x598fd4
mov eax, dword [esp + 0x48]
mov dword [esp + 0x1c], eax
mov edx, dword [esp + 0x4c]
mov dword [esp + 0x24], edx
mov ebx, dword [esp + 0xc]
mov ebx, dword [ebx]
shl ebx, 3
lea ecx, [ebx - 0x40]
neg ecx
mov dword [esp + 0x3c], ecx
mov ebx, eax
shl eax, cl
shl edx, cl
lea esi, [ecx - 0x20]
mov dword [esp + 0x38], esi
mov edi, ecx
mov ecx, esi
shl ebx, cl
mov dword [esp + 0x34], ebx
neg ecx
mov dword [esp + 0x30], ecx
mov ebp, dword [esp + 0x1c]
shr ebp, cl
shr edi, 5
cmp ecx, 0x20
sbb ecx, ecx
mov dword [esp + 0x2c], ecx
and ebp, ecx
mov ebx, dword [esp + 0x3c]
cmp ebx, 0x20
sbb ecx, ecx
sbb esi, esi
and eax, ecx
and edx, ecx
or edx, ebp
mov ebp, ecx
mov ecx, ebx
shr eax, cl
and eax, ebp
xchg esi, ebx
not ebx
xchg esi, ebx
or ecx, esi
cmp edi, 1
sbb ebx, ebx
xor ebx, 0xffffffff
mov ebp, dword [esp + 0x38]
cmp ebp, 0x20
sbb esi, esi
mov edi, dword [esp + 0x34]
and edi, esi
or edi, edx
mov dword [esp + 0x38], edi
mov edx, ecx
mov ecx, dword [esp + 0x30]
shl edi, cl
mov ecx, edx
mov edx, dword [esp + 0x38]
sar edx, cl
mov ecx, edx
mov edx, dword [esp + 0x2c]
and edi, edx
or eax, edi
xchg esi, ebx
not ebx
xchg esi, ebx
or esi, ebp
mov edx, ecx
mov ecx, esi
mov ebp, dword [esp + 0x38]
sar ebp, cl
and ebx, ebp
or ebx, eax
mov eax, dword [esp + 0x1c]
cmp eax, ebx
setne al
mov ebx, dword [esp + 0x24]
cmp ebx, edx
setne dl
or edx, eax
test dl, dl
jne 0x598d7f
mov eax, dword [esp + 0x78]
test eax, eax
je 0x598d31
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 0x60]
test eax, eax
je 0x598d29
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x598d23
or ecx, 0x80
mov edx, dword [esp + 0x64]
jmp 0x598d37
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x598d37
xor ecx, ecx
xor eax, eax
xor edx, edx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym.reflect.Value.Elem
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
call sym.reflect.Value.SetInt
mov byte [esp + 0x80], 1
add esp, 0x70
ret
mov byte [esp + 0x80], 0
add esp, 0x70
ret
cmp eax, 0xf3b50de0
jne 0x598fbc
mov eax, dword [esp + 0x78]
lea ecx, [0x675000]
cmp eax, ecx
jne 0x598fbc
mov dword [esp + 0x40], 0
mov dword [esp + 0x44], 0
mov eax, dword [esp + 0x74]
mov dword [esp], eax
lea eax, [esp + 0x40]
mov dword [esp + 4], eax
call sym.vendor_golang.org_x_crypto_cryptobyte._String_.readASN1Uint64
movzx eax, byte [esp + 8]
test al, al
je 0x598f72
mov eax, dword [esp + 0x78]
test eax, eax
je 0x598e1a
mov dword [esp + 0x58], eax
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x5c], ecx
mov edx, dword [esp + 0x58]
test edx, edx
je 0x598e12
movzx ebx, byte [edx + 0xf]
nop
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x598e0c
or ebx, 0x80
mov ebp, dword [esp + 0x5c]
jmp 0x598e20
xor ebx, ebx
xor edx, edx
xor ebp, ebp
jmp 0x598e20
xor ebx, ebx
xor edx, edx
xor ebp, ebp
mov dword [esp], edx
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
call sym.reflect.Value.Elem
mov eax, dword [esp + 0x14]
and eax, 0x1f
lea ecx, [eax - 7]
cmp ecx, 5
ja 0x598f7e
mov eax, dword [esp + 0x40]
mov dword [esp + 0x18], eax
mov edx, dword [esp + 0x44]
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0xc]
mov ebx, dword [ebx]
shl ebx, 3
lea ecx, [ebx - 0x40]
neg ecx
shl edx, cl
mov ebp, eax
shl eax, cl
lea esi, [ecx - 0x20]
mov edi, ecx
mov ecx, esi
shl ebp, cl
neg ecx
mov dword [esp + 0x38], ecx
mov ebx, dword [esp + 0x18]
shr ebx, cl
cmp ecx, 0x20
sbb ecx, ecx
mov dword [esp + 0x34], ecx
and ebx, ecx
cmp esi, 0x20
sbb ecx, ecx
mov dword [esp + 0x30], ecx
and ebp, ecx
cmp edi, 0x20
sbb ecx, ecx
and eax, ecx
and edx, ecx
or edx, ebx
or ebp, edx
mov edx, ecx
mov ecx, esi
mov ebx, ebp
shr ebp, cl
mov ecx, edi
shr eax, cl
mov esi, ebx
shr ebx, cl
and ebx, edx
and eax, edx
mov edx, dword [esp + 0x30]
and ebp, edx
mov ecx, dword [esp + 0x38]
shl esi, cl
mov edx, dword [esp + 0x34]
and esi, edx
or eax, esi
or eax, ebp
mov edx, dword [esp + 0x18]
cmp edx, eax
setne al
mov edx, dword [esp + 0x20]
cmp edx, ebx
setne dl
or edx, eax
test dl, dl
jne 0x598f72
mov eax, dword [esp + 0x78]
test eax, eax
je 0x598f24
mov dword [esp + 0x50], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x50]
test eax, eax
je 0x598f1c
movzx ecx, byte [eax + 0xf]
nop
mov edx, ecx
and ecx, 0x1f
test dl, 0x20
jne 0x598f16
or ecx, 0x80
mov edx, dword [esp + 0x54]
jmp 0x598f2a
xor ecx, ecx
xor eax, eax
xor edx, edx
jmp 0x598f2a
xor ecx, ecx
xor eax, eax
xor edx, edx
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
call sym.reflect.Value.Elem
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0xc]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0xc], eax
call sym.reflect.Value.SetUint
mov byte [esp + 0x80], 1
add esp, 0x70
ret
mov byte [esp + 0x80], 0
add esp, 0x70
ret
mov dword [esp + 0x28], eax
lea eax, [0x693820]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x1a
lea ecx, [0x6c7340]
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
lea ecx, [0x6884e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x681d20]
mov dword [esp], eax
lea eax, [0x726978]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov dword [esp + 0x28], eax
lea eax, [0x693820]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [eax + 4], 0x19
lea ecx, [0x6c6a3d]
mov dword [eax], ecx
mov ecx, dword [esp + 0x28]
mov dword [eax + 8], ecx
lea ecx, [0x6884e0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.gopanic
nop
call sym.runtime.morestack_noctxt
jmp sym.vendor_golang.org_x_crypto_cryptobyte._String_.ReadASN1Integer