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

Disassembly:
mov ecx, dword [0x7c4f4c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 8]
cmp eax, dword [ecx + 8]
jbe 0x59b031
sub esp, 0x88
mov ecx, dword [edx + 4]
mov dword [esp + 0x34], ecx
lea edi, [esp + 0x3c]
xor eax, eax
call fcn.0046a9f5
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
xor eax, eax
jmp 0x59aa88
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [sym.crypto_x509.buildCertExtensions.func2.1]
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], ebx
mov dword [esp + 0x78], ebp
lea ecx, [esp + 0x3c]
mov dword [esp], ecx
mov byte [esp + 4], 0x30
lea ecx, [esp + 0x74]
mov dword [esp + 8], ecx
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.AddASN1
mov eax, dword [esp + 0x28]
inc eax
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
cmp ecx, eax
jle 0x59ab4f
mov dword [esp + 0x28], eax
lea ebx, [edx + eax*8]
mov ebp, dword [ebx]
mov dword [esp + 0x30], ebp
mov ebx, dword [ebx + 4]
mov dword [esp + 0x20], ebx
xor esi, esi
jmp 0x59afa8
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp], ebp
mov dword [esp + 4], ebx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5f3f60]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
lea eax, [0x624261]
mov dword [esp], eax
mov dword [esp + 4], 0x2a
lea edx, [esp + 0x80]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x30]
mov esi, eax
mov edi, ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x90]
jmp 0x59ab42
xor esi, esi
xor edi, edi
test esi, esi
je 0x59aa32
jmp 0x59affb
xor eax, eax
jmp 0x59abad
mov dword [esp + 0x28], eax
mov ecx, dword [esp + 0x98]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x70], 0
lea ebx, [sym.crypto_x509.buildCertExtensions.func2.2]
mov dword [esp + 0x68], ebx
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x6c], ebp
mov dword [esp + 0x70], edx
lea edx, [esp + 0x3c]
mov dword [esp], edx
mov byte [esp + 4], 0x30
lea edx, [esp + 0x68]
mov dword [esp + 8], edx
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.AddASN1
mov eax, dword [esp + 0x28]
inc eax
mov edx, dword [esp + 0x9c]
cmp edx, eax
jg 0x59ab53
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
xor eax, eax
jmp 0x59ac29
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [sym.crypto_x509.buildCertExtensions.func2.3]
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], ebp
lea ecx, [esp + 0x3c]
mov dword [esp], ecx
mov byte [esp + 4], 0x30
lea ecx, [esp + 0x74]
mov dword [esp + 8], ecx
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.AddASN1
mov eax, dword [esp + 0x28]
inc eax
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0xa4]
mov edx, ecx
mov ebx, dword [esp + 0xa4]
cmp edx, eax
jle 0x59acf0
mov dword [esp + 0x28], eax
lea ecx, [ebx + eax*8]
mov ebp, dword [ecx]
mov dword [esp + 0x38], ebp
mov ecx, dword [ecx + 4]
mov dword [esp + 0x24], ecx
xor esi, esi
jmp 0x59af1f
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp], ebp
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5f3f60]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
lea eax, [0x624261]
mov dword [esp], eax
mov dword [esp + 4], 0x2a
lea edx, [esp + 0x80]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x38]
mov esi, eax
mov edi, ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
jmp 0x59ace3
xor esi, esi
xor edi, edi
test esi, esi
je 0x59abca
jmp 0x59af72
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb0]
xor eax, eax
jmp 0x59ad61
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
lea eax, [sym.crypto_x509.buildCertExtensions.func2.4]
mov dword [esp + 0x74], eax
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x78], ebp
lea ecx, [esp + 0x3c]
mov dword [esp], ecx
mov byte [esp + 4], 0x30
lea ecx, [esp + 0x74]
mov dword [esp + 8], ecx
call sym.vendor_golang.org_x_crypto_cryptobyte._Builder_.AddASN1
mov eax, dword [esp + 0x28]
inc eax
mov ecx, dword [esp + 0xb4]
mov edx, dword [esp + 0xb0]
mov edx, ecx
mov ebx, dword [esp + 0xb0]
cmp edx, eax
jle 0x59ae28
mov dword [esp + 0x28], eax
lea ecx, [ebx + eax*8]
mov ebp, dword [ecx]
mov dword [esp + 0x2c], ebp
mov ecx, dword [ecx + 4]
mov dword [esp + 0x1c], ecx
xor esi, esi
jmp 0x59ae96
mov dword [esp + 0x80], 0
mov dword [esp + 0x84], 0
mov dword [esp], ebp
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5f3f60]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
lea eax, [0x624261]
mov dword [esp], eax
mov dword [esp + 4], 0x2a
lea edx, [esp + 0x80]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x2c]
mov esi, eax
mov edi, ecx
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
jmp 0x59ae1b
xor esi, esi
xor edi, edi
test esi, esi
je 0x59ad02
jmp 0x59aee9
mov edx, dword [esp + 0x3c]
test edx, edx
je 0x59ae3c
mov eax, dword [esp + 0x40]
xor ecx, ecx
xor esi, esi
xor ebx, ebx
jmp 0x59ae67
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x58]
cmp ecx, eax
jb 0x59ae91
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x4c]
sub ebp, eax
mov esi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, eax
sub ecx, eax
add ebx, ebp
xor edx, edx
xor eax, eax
mov dword [esp + 0xbc], ebx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], esi
mov dword [esp + 0xc8], edx
mov dword [esp + 0xcc], eax
add esp, 0x88
ret
call sym.runtime.panicSliceB
cmp esi, ecx
jge 0x59ae17
movzx edi, byte [esi + ebp]
cmp edi, 0x80
jge 0x59aead
inc esi
jmp 0x59aedf
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call sym.runtime.decoderune
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb0]
mov ebp, dword [esp + 0x2c]
cmp edi, 0x7f
jle 0x59ae96
jmp 0x59ad84
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], edi
add esp, 0x88
ret
cmp esi, ecx
jge 0x59acdf
movzx edi, byte [esi + ebp]
cmp edi, 0x80
jge 0x59af36
inc esi
jmp 0x59af68
mov dword [esp], ebp
mov dword [esp + 4], ecx
mov dword [esp + 8], esi
call sym.runtime.decoderune
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0xa8]
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0x38]
cmp edi, 0x7f
jle 0x59af1f
jmp 0x59ac4c
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], edi
add esp, 0x88
ret
cmp esi, ebx
jge 0x59ab3e
movzx edi, byte [esi + ebp]
cmp edi, 0x80
jge 0x59afbf
inc esi
jmp 0x59aff1
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call sym.runtime.decoderune
mov edi, dword [esp + 0xc]
mov esi, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x30]
cmp edi, 0x7f
jle 0x59afa8
jmp 0x59aaab
mov dword [esp + 0xbc], 0
mov dword [esp + 0xc0], 0
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], esi
mov dword [esp + 0xcc], edi
add esp, 0x88
ret
call sym.runtime.morestack
jmp sym.crypto_x509.buildCertExtensions.func2