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

Disassembly:
mov ecx, dword [0x7b1178]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x138]
cmp eax, dword [ecx + 8]
jbe 0x5aa23e
sub esp, 0x1b8
lea edi, [esp + 0xe8]
xor eax, eax
call fcn.0046ffc9
lea edi, [esp + 0xb4]
call fcn.0046ffc3
lea ecx, [esp + 0xb4]
mov dword [esp + 0xf4], ecx
call sym.runtime.rand32
mov ecx, dword [esp]
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0x1c0]
mov edx, dword [ecx + 0x44]
mov dword [esp], edx
call sym.main.nameKeys
mov ecx, dword [esp + 4]
mov dword [esp + 0xb0], ecx
mov edx, dword [esp + 8]
mov dword [esp + 0x70], edx
xor eax, eax
xor ebx, ebx
xor ebp, ebp
xor esi, esi
xor edi, edi
xor eax, eax
mov dword [esp + 0x8c], eax
xor eax, eax
mov dword [esp + 0x50], eax
jmp 0x5a8a7d
mov ecx, dword [esp + 0x6c]
inc ecx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x50], edx
mov edx, dword [esp + 0x70]
mov ebp, edi
mov edi, ebx
mov ebx, esi
mov esi, eax
mov eax, ecx
mov ecx, dword [esp + 0xb0]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x90], ebp
mov dword [esp + 0x54], edi
cmp eax, edx
jge 0x5a9140
mov dword [esp + 0x6c], eax
mov dword [esp + 0x5c], esi
lea edx, [ecx + eax*8]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
mov ebp, dword [esp + 0x1c0]
mov esi, dword [ebp + 0x44]
lea edi, [0x5eef80]
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edx
call sym.runtime.mapaccess1_faststr
mov eax, dword [esp + 0x10]
mov eax, dword [eax]
mov dword [esp + 0xa0], eax
mov ecx, dword [eax + 0x1c]
test ecx, ecx
je 0x5a8d72
mov edx, dword [eax + 0x18]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0x40
call sym.strconv.ParseInt
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
test eax, eax
je 0x5a8c3b
mov ebx, dword [esp + 0xa0]
mov ebp, dword [ebx + 0x1c]
test ebp, ebp
jbe 0x5aa234
mov esi, dword [ebx + 0x18]
movzx edi, byte [esi]
xchg edi, eax
cmp al, 0x27
xchg edi, eax
je 0x5a8bbe
xchg edi, eax
cmp al, 0x22
xchg edi, eax
jne 0x5a8cff
mov dword [esp], esi
mov dword [esp + 4], ebp
call sym.go_parser.ParseExpr
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5a8b67
mov ebx, dword [esp + 0xa0]
lea ebp, [0x61dedb]
jmp 0x5a8cff
mov ebx, dword [esp + 0xa0]
mov dword [ebx + 0x24], 6
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x5a8b89
mov ebp, dword [ebx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
lea ebp, [0x61dedb]
mov dword [ebx + 0x20], ebp
mov esi, dword [ebx + 0x1c]
mov edi, dword [ebx + 0x18]
mov dword [ebx + 0x38], esi
mov esi, dword [0x7b12d0]
test esi, esi
je 0x5a8bb6
mov eax, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov esi, dword [ebx + 0x34]
mov dword [edi + 4], esi
mov edi, eax
mov dword [ebx + 0x34], edi
jmp 0x5a8cff
mov dword [esp], esi
mov dword [esp + 4], ebp
call sym.go_parser.ParseExpr
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5a8be4
mov ebx, dword [esp + 0xa0]
lea ebp, [0x61decf]
jmp 0x5a8cff
mov ebx, dword [esp + 0xa0]
mov dword [ebx + 0x24], 6
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x5a8c06
mov ebp, dword [ebx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
lea ebp, [0x61decf]
mov dword [ebx + 0x20], ebp
mov esi, dword [ebx + 0x1c]
mov edi, dword [ebx + 0x18]
mov dword [ebx + 0x38], esi
mov esi, dword [0x7b12d0]
test esi, esi
je 0x5a8c33
mov eax, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov esi, dword [ebx + 0x34]
mov dword [edi + 4], esi
mov edi, eax
mov dword [ebx + 0x34], edi
jmp 0x5a8cff
mov eax, dword [esp + 0xa0]
mov dword [eax + 0x24], 6
mov ebx, dword [0x7b12d0]
test ebx, ebx
je 0x5a8c5d
mov ebx, dword [eax + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
lea ebx, [0x61decf]
mov dword [eax + 0x20], ebx
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1b0], 0
mov dword [esp], ecx
mov dword [esp + 4], edx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x5ed860]
mov dword [esp + 0x1ac], ecx
mov dword [esp + 0x1b0], eax
lea eax, [0x61d736]
mov dword [esp], eax
mov dword [esp + 4], 3
lea edx, [esp + 0x1ac]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Sprintf
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0xa0]
mov dword [edx + 0x38], eax
mov eax, dword [0x7b12d0]
test eax, eax
je 0x5a8cfa
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov ebx, dword [edx + 0x34]
mov dword [edi + 4], ebx
mov dword [edx + 0x34], ecx
mov ebx, edx
mov ecx, dword [ebx + 0x24]
cmp ecx, 5
jge 0x5a8d0b
xor eax, eax
jmp 0x5a8d43
lea eax, [ecx - 5]
cmp ecx, eax
jb 0x5aa22f
mov eax, dword [ebx + 0x20]
lea eax, [ecx + eax - 5]
mov dword [esp], eax
lea eax, [0x61dc45]
mov dword [esp + 4], eax
mov dword [esp + 8], 5
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov ebx, dword [esp + 0xa0]
test al, al
je 0x5a8d70
lea ecx, [0x61d952]
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x90]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x8c]
jmp 0x5a8a58
mov eax, ebx
cmp dword [eax + 0x14], 7
jge 0x5a8d7c
xor ecx, ecx
jmp 0x5a8da7
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
lea ecx, [0x61e341]
mov dword [esp + 4], ecx
mov dword [esp + 8], 7
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xa0]
test cl, cl
je 0x5a8db2
mov ecx, 1
jmp 0x5a8de7
cmp dword [eax + 0x14], 6
jge 0x5a8dbc
xor ecx, ecx
jmp 0x5a8de7
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
lea ecx, [0x61df41]
mov dword [esp + 4], ecx
mov dword [esp + 8], 6
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xa0]
test cl, cl
je 0x5a8df2
mov ecx, 1
jmp 0x5a8e27
cmp dword [eax + 0x14], 5
jge 0x5a8dfc
xor ecx, ecx
jmp 0x5a8e27
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
lea ecx, [0x61dc40]
mov dword [esp + 4], ecx
mov dword [esp + 8], 5
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xa0]
test cl, cl
je 0x5a8edf
mov dword [eax + 0x24], 4
mov ecx, dword [0x7b12d0]
test ecx, ecx
je 0x5a8e4a
mov ecx, dword [eax + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x61d952]
mov dword [eax + 0x20], ecx
mov edx, dword [esp + 0x50]
inc edx
mov ebx, dword [esp + 0x54]
cmp ebx, edx
jb 0x5a8e69
mov ebp, dword [esp + 0x8c]
jmp 0x5a8eaf
mov eax, dword [esp + 0x8c]
mov dword [esp], eax
mov dword [esp + 4], edx
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f6100]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
lea ecx, [0x61d952]
mov ebp, eax
mov ebx, edi
mov eax, dword [esp + 0xa0]
mov esi, dword [0x7b12d0]
test esi, esi
je 0x5a8ec7
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov esi, dword [ebp + edx*4 - 4]
mov dword [edi + 4], esi
mov dword [ebp + edx*4 - 4], eax
mov eax, dword [esp + 0x5c]
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x90]
jmp 0x5a8a58
mov ebx, dword [0x791944]
mov ebp, dword [0x791940]
cmp ebx, 6
jne 0x5a8f01
cmp dword [ebp], 0x77726164
jne 0x5a8f01
cmp word [ebp + 4], 0x6e69
je 0x5a8f14
cmp ebx, 3
jne 0x5a8f64
cmp word [ebp], 0x6f69
jne 0x5a8f60
cmp byte [ebp + 2], 0x73
jne 0x5a8f5c
mov ecx, dword [eax + 0x14]
cmp ecx, 3
jge 0x5a8f20
xor ecx, ecx
jmp 0x5a8f66
lea edx, [ecx - 3]
cmp ecx, edx
jb 0x5aa228
mov edx, dword [eax + 0x10]
lea ecx, [ecx + edx - 3]
mov dword [esp], ecx
lea ecx, [0x61d739]
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xa0]
jmp 0x5a8f66
xor ecx, ecx
jmp 0x5a8f66
xor ecx, ecx
jmp 0x5a8f66
xor ecx, ecx
test cl, cl
jne 0x5a8f7e
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x90]
jmp 0x5a90ca
mov edx, dword [eax + 0x14]
lea ecx, [edx - 3]
cmp edx, ecx
jb 0x5aa223
mov edx, dword [eax + 0x10]
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ecx, [0x61edd8]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 9
call sym.runtime.concatstring2
mov eax, dword [esp + 0x18]
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x84], ecx
lea edx, [0x60f700]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x48]
mov dword [eax + 4], ecx
mov edx, dword [0x7b12d0]
test edx, edx
jne 0x5a8ff4
mov edx, dword [esp + 0x84]
jmp 0x5a9002
call sym.runtime.gcWriteBarrier1
mov edx, dword [esp + 0x84]
mov dword [edi], edx
mov dword [eax], edx
mov dword [eax + 0x14], ecx
mov dword [eax + 0x10], edx
mov ecx, dword [esp + 0x58]
inc ecx
mov edx, dword [esp + 0x5c]
cmp edx, ecx
jb 0x5a9020
mov ebp, dword [esp + 0x90]
jmp 0x5a9065
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x90]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f6100]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x1c]
mov eax, dword [esp + 0x9c]
mov edx, esi
mov dword [esp + 0x5c], edx
mov ebx, dword [0x7b12d0]
test ebx, ebx
je 0x5a9081
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebx, dword [ebp + ecx*4 - 4]
mov dword [edi + 4], ebx
mov dword [esp + 0x90], ebp
mov dword [esp + 0x58], ecx
mov dword [ebp + ecx*4 - 4], eax
lea edx, [0x5ef0c0]
mov dword [esp], edx
lea ebx, [esp + 0xe8]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call sym.runtime.mapassign_fast32ptr
mov eax, dword [esp + 0xc]
mov byte [eax], 1
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x90]
inc edx
cmp ecx, edx
jae 0x5a9104
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f6100]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0xa0]
mov ebp, dword [0x7b12d0]
test ebp, ebp
je 0x5a911c
call sym.runtime.gcWriteBarrier2
mov dword [edi], eax
mov ebp, dword [ebx + edx*4 - 4]
mov dword [edi + 4], ebp
mov dword [ebx + edx*4 - 4], eax
mov eax, ecx
mov esi, edx
mov edi, ebx
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x54]
mov ebp, dword [esp + 0x8c]
lea ecx, [0x61d952]
jmp 0x5a8a58
test ebx, ebx
je 0x5a91a2
lea eax, [0x5ff8e0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0x1b4], eax
mov dword [esp], eax
lea ecx, [0x633292]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0x270
call sym.bytes._Buffer_.WriteString
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 0x18]
mov edx, dword [eax + 0x1c]
mov ebx, dword [esp + 0x1b4]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.bytes._Buffer_.WriteString
xor eax, eax
jmp 0x5a9494
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1cc], edi
add esp, 0x1b8
ret
mov ecx, dword [esp + 0x90]
mov edx, dword [ecx + eax*4]
mov dword [esp + 0x98], edx
lea edi, [esp + 0x134]
mov ebx, eax
xor eax, eax
call fcn.0046ffb2
lea ecx, [ebx + 1]
mov dword [esp + 0x70], ecx
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5ed8e0]
mov dword [esp + 0x134], edx
mov dword [esp + 0x138], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5ed8e0]
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x98]
mov ebx, dword [ecx + 0x10]
mov ebp, dword [ecx + 0x14]
mov dword [esp], ebx
mov dword [esp + 4], ebp
call sym.runtime.convTstring
mov ecx, dword [esp + 8]
lea edx, [0x5ed6a0]
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5ed8e0]
mov dword [esp + 0x14c], edx
mov dword [esp + 0x150], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5ed8e0]
mov dword [esp + 0x154], edx
mov dword [esp + 0x158], ecx
mov ecx, dword [esp + 0x98]
mov ebx, dword [ecx + 0x10]
mov ebp, dword [ecx + 0x14]
mov dword [esp], ebx
mov dword [esp + 4], ebp
call sym.runtime.convTstring
mov ecx, dword [esp + 8]
lea edx, [0x5ed6a0]
mov dword [esp + 0x15c], edx
mov dword [esp + 0x160], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5ed8e0]
mov dword [esp + 0x164], edx
mov dword [esp + 0x168], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5ed8e0]
mov dword [esp + 0x16c], edx
mov dword [esp + 0x170], ecx
mov ecx, dword [esp + 0x98]
mov ebx, dword [ecx + 0x10]
mov ebp, dword [ecx + 0x14]
mov dword [esp], ebx
mov dword [esp + 4], ebp
call sym.runtime.convTstring
mov ecx, dword [esp + 8]
lea edx, [0x5ed6a0]
mov dword [esp + 0x174], edx
mov dword [esp + 0x178], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5ed8e0]
mov dword [esp + 0x17c], edx
mov dword [esp + 0x180], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5ed8e0]
mov dword [esp + 0x184], edx
mov dword [esp + 0x188], ecx
mov ecx, dword [esp + 0x98]
mov ebx, dword [ecx + 0x10]
mov ebp, dword [ecx + 0x14]
mov dword [esp], ebx
mov dword [esp + 4], ebp
call sym.runtime.convTstring
mov ecx, dword [esp + 8]
lea edx, [0x5ed6a0]
mov dword [esp + 0x18c], edx
mov dword [esp + 0x190], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5ed8e0]
mov dword [esp + 0x194], edx
mov dword [esp + 0x198], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5ed8e0]
mov dword [esp + 0x19c], edx
mov dword [esp + 0x1a0], ecx
mov ecx, dword [esp + 0x98]
mov ebx, dword [ecx + 0x10]
mov ecx, dword [ecx + 0x14]
mov dword [esp], ebx
mov dword [esp + 4], ecx
call sym.runtime.convTstring
mov ecx, dword [esp + 8]
lea edx, [0x5ed6a0]
mov dword [esp + 0x1a4], edx
mov dword [esp + 0x1a8], ecx
lea ecx, [0x66e0f4]
mov dword [esp], ecx
mov ebx, dword [esp + 0x1b4]
mov dword [esp + 4], ebx
lea ebp, [0x632a68]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 0x1c1
lea esi, [esp + 0x134]
mov dword [esp + 0x10], esi
mov dword [esp + 0x14], 0xf
mov dword [esp + 0x18], 0xf
call sym.fmt.Fprintf
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x58]
cmp eax, ecx
jl 0x5a91c9
lea eax, [0x66e0f4]
mov dword [esp], eax
mov eax, dword [esp + 0x1b4]
mov dword [esp + 4], eax
lea ecx, [0x62e4a1]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x2d
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call sym.fmt.Fprintf
mov eax, dword [esp + 0x1b4]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0xc]
cmp ecx, edx
jb 0x5aa21c
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
mov dword [esp + 0x130], 0x19
lea esi, [0x6268ac]
mov dword [esp + 0x12c], esi
mov esi, dword [esp + 0x1bc]
mov dword [esp], esi
sub ebp, edx
sub ecx, edx
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
add edx, ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
lea ecx, [esp + 0x12c]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], 1
mov dword [esp + 0x18], 1
call sym.main._Package_.gccErrors
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x80], eax
mov ecx, dword [esp + 0x20]
mov dword [esp + 0x44], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x629dbd]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x20
call sym.internal_stringslite.Index
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x5a9601
mov edx, dword [esp + 0x1b4]
mov ecx, dword [edx + 4]
mov eax, dword [edx + 0xc]
cmp ecx, eax
jb 0x5aa217
mov ebx, dword [edx]
mov ebp, dword [edx + 8]
mov esi, dword [esp + 0x1bc]
mov dword [esp], esi
sub ebp, eax
sub ecx, eax
mov edi, ebp
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and eax, ebp
add eax, ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edi
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call sym.main._Package_.gccErrors
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
jmp 0x5a960c
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x44], ecx
mov dword [esp + 0x80], eax
test ecx, ecx
jne 0x5a9725
mov edx, dword [esp + 0x1b4]
mov ebx, dword [edx + 4]
mov ebp, dword [edx + 0xc]
cmp ebx, ebp
jb 0x5aa20e
mov esi, dword [edx]
mov edi, dword [edx + 8]
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
mov edx, dword [0x791a3c]
sub edi, ebp
mov dword [esp + 0x38], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edi, ebp
sub ebx, ebp
lea ebp, [esi + edi]
test edx, edx
jbe 0x5aa205
mov dword [esp + 0x34], ebx
mov dword [esp + 0x7c], ebp
mov eax, dword [0x791a38]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5ed6a0]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x7c]
mov dword [esp], eax
mov eax, dword [esp + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 8], eax
call sym.runtime.convTslice
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6c00]
mov dword [esp + 0x124], ecx
mov dword [esp + 0x128], eax
lea eax, [0x62ad21]
mov dword [esp], eax
mov dword [esp + 4], 0x22
lea eax, [esp + 0x11c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.main.fatalf
lea eax, [0x5ed8e0]
mov dword [esp], eax
mov eax, dword [esp + 0x58]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
mov edx, dword [esp + 0x44]
mov dword [esp + 4], edx
lea ebx, str._n_tX_V_0.
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0xffffffff
call sym.strings.genSplit
mov eax, dword [esp + 0x18]
mov dword [esp + 0x78], eax
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x30], ecx
xor edx, edx
xor ebx, ebx
xor ebp, ebp
jmp 0x5a97ae
mov esi, dword [esp + 0x70]
inc esi
mov edx, esi
mov ebx, ecx
mov ebp, eax
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x30]
cmp edx, ecx
jge 0x5a9b9c
mov dword [esp + 0x70], edx
mov byte [esp + 0x2a], bl
xchg ebp, eax
mov byte [esp + 0x2b], al
xchg ebp, eax
lea ecx, [eax + edx*8]
mov ebx, dword [ecx]
mov dword [esp + 0xa4], ebx
mov ecx, dword [ecx + 4]
mov dword [esp + 0x60], ecx
nop
mov dword [esp], ebx
mov dword [esp + 4], ecx
lea ebp, [0x61e81b]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 8
call sym.internal_stringslite.Index
mov eax, dword [esp + 0x10]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp], ecx
mov edx, dword [esp + 0x60]
mov dword [esp + 4], edx
lea ebx, [0x61e356]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 7
call sym.internal_stringslite.Index
mov eax, dword [esp + 0x10]
test eax, eax
setge al
movzx ecx, byte [esp + 0x2a]
and eax, ecx
mov edx, dword [esp + 0x3c]
test edx, edx
jge 0x5a9858
test al, al
jne 0x5a9858
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xac]
movzx eax, byte [esp + 0x2b]
jmp 0x5a979b
nop
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
lea edx, [0x66d4e0]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call sym.internal_stringslite.Index
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x5a98a4
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xac]
movzx ecx, byte [esp + 0x2a]
movzx eax, byte [esp + 0x2b]
jmp 0x5a979b
lea edx, [eax + 1]
mov ecx, dword [esp + 0x60]
cmp ecx, edx
jb 0x5aa1fe
mov dword [esp + 0x40], eax
mov dword [esp + 0x6c], edx
sub ecx, eax
dec ecx
mov ebp, ecx
neg ecx
sar ecx, 0x1f
and ecx, edx
mov esi, dword [esp + 0xa4]
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebp
lea ecx, [0x66d4e0]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
call sym.internal_stringslite.Index
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x5a9910
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xac]
movzx ecx, byte [esp + 0x2a]
movzx eax, byte [esp + 0x2b]
jmp 0x5a979b
mov ebx, dword [esp + 0x40]
lea ecx, [ebx + eax + 1]
mov edx, dword [esp + 0x60]
cmp edx, ecx
jb 0x5aa1f9
mov edx, dword [esp + 0x6c]
cmp ecx, edx
jb 0x5aa1f2
mov ecx, dword [esp + 0x3c]
test ecx, ecx
setge cl
mov byte [esp + 0x29], cl
mov ebx, eax
neg eax
sar eax, 0x1f
and eax, edx
mov edx, dword [esp + 0xa4]
add eax, edx
mov dword [esp], eax
mov dword [esp + 4], ebx
call sym.strconv.Atoi
mov eax, dword [esp + 8]
lea ecx, [eax - 1]
test ecx, ecx
jge 0x5a996c
mov edx, dword [esp + 0x58]
jmp 0x5a9974
mov edx, dword [esp + 0x58]
cmp edx, ecx
jg 0x5a9993
movzx ebx, byte [esp + 0x2a]
movzx esi, byte [esp + 0x29]
or ebx, esi
mov ecx, ebx
movzx eax, byte [esp + 0x2b]
mov ebx, dword [esp + 0xac]
jmp 0x5a979b
mov ebx, dword [esp + 0x40]
cmp ebx, 9
jg 0x5a9a2c
cmp ebx, 8
jne 0x5a99db
mov ebx, dword [esp + 0xa4]
cmp dword [ebx], 0x2d746f6e
jne 0x5a9b7d
cmp dword [ebx + 4], 0x65707974
jne 0x5a9b7d
mov ebx, dword [esp + 0xac]
or dword [ebx + eax*4 - 4], 1
movzx eax, byte [esp + 0x2b]
jmp 0x5a9b72
cmp ebx, 9
jne 0x5a9b7d
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
lea eax, [0x61ede1]
mov dword [esp + 4], eax
mov dword [esp + 8], 9
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x5a9a23
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0xac]
mov eax, 1
jmp 0x5a9b72
mov edx, dword [esp + 0x58]
jmp 0x5a9b7d
mov dword [esp + 0x68], eax
cmp ebx, 0xb
je 0x5a9b2f
cmp ebx, 0xc
je 0x5a9ae4
cmp ebx, 0xd
jne 0x5a9b7d
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
lea ecx, [0x6209aa]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xd
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x5a9a93
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0xac]
or dword [ebx + edx*4 - 4], 2
mov edx, dword [esp + 0x58]
movzx eax, byte [esp + 0x2b]
jmp 0x5a9b72
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
lea eax, [0x6209b7]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xd
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x5a9adb
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0xac]
or dword [ebx + edx*4 - 4], 4
mov edx, dword [esp + 0x58]
movzx eax, byte [esp + 0x2b]
jmp 0x5a9b72
mov edx, dword [esp + 0x58]
jmp 0x5a9b7d
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
lea eax, [0x620260]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xc
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x5a9b29
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0xac]
or dword [ebx + edx*4 - 4], 0x10
mov edx, dword [esp + 0x58]
movzx eax, byte [esp + 0x2b]
jmp 0x5a9b72
mov edx, dword [esp + 0x58]
jmp 0x5a9b7d
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
lea eax, [0x61fb09]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xb
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x5a9b79
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0xac]
or dword [ebx + edx*4 - 4], 8
mov edx, dword [esp + 0x58]
movzx eax, byte [esp + 0x2b]
xor ecx, ecx
jmp 0x5a979b
mov edx, dword [esp + 0x58]
movzx ebx, byte [esp + 0x2a]
movzx esi, byte [esp + 0x29]
or ebx, esi
mov ecx, ebx
movzx eax, byte [esp + 0x2b]
mov ebx, dword [esp + 0xac]
jmp 0x5a979b
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x5a9cc6
mov edx, dword [esp + 0x1b4]
mov ecx, dword [edx + 4]
mov eax, dword [edx + 0xc]
cmp ecx, eax
jb 0x5aa1ed
mov dword [esp + 0x70], ecx
mov ebx, dword [edx]
mov edx, dword [edx + 8]
lea edi, [esp + 0x104]
mov ebp, eax
xor eax, eax
call fcn.0046ffca
mov ecx, dword [0x791a3c]
sub edx, ebp
mov esi, edx
neg edx
sar edx, 0x1f
and edx, ebp
mov eax, esi
mov esi, dword [esp + 0x70]
sub esi, ebp
add edx, ebx
test ecx, ecx
jbe 0x5aa1e4
mov dword [esp + 0x2c], esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov eax, dword [0x791a38]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5ed6a0]
mov dword [esp + 0x104], ecx
mov dword [esp + 0x108], eax
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
call sym.runtime.convTslice
mov eax, dword [esp + 0xc]
lea ecx, [0x5e6c00]
mov dword [esp + 0x10c], ecx
mov dword [esp + 0x110], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5ed6a0]
mov dword [esp + 0x114], ecx
mov dword [esp + 0x118], eax
lea eax, [0x631467]
mov dword [esp], eax
mov dword [esp + 4], 0x4a
lea eax, [esp + 0x104]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call sym.main.fatalf
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xac]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x8c]
mov edi, dword [esp + 0x54]
xor esi, esi
jmp 0x5a9cfa
inc esi
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0xac]
mov dword [esp + 0x54], edi
mov dword [esp + 0x50], ebx
mov dword [esp + 0x8c], ebp
cmp esi, eax
jge 0x5a9ffa
mov dword [esp + 0x64], esi
mov edx, dword [edx + esi*4]
mov ecx, dword [ecx + esi*4]
mov dword [esp + 0x94], ecx
cmp edx, 9
jg 0x5a9d95
cmp edx, 7
jne 0x5a9d59
mov dword [ecx + 0x24], 6
mov edx, dword [0x7b12d0]
test edx, edx
je 0x5a9d4b
mov edx, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov edi, dword [esp + 0x54]
lea edx, [0x61dedb]
mov dword [ecx + 0x20], edx
jmp 0x5a9f89
cmp edx, 9
jne 0x5a9e3d
mov dword [ecx + 0x24], 6
mov edx, dword [0x7b12d0]
test edx, edx
je 0x5a9d81
mov edx, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov edi, dword [esp + 0x54]
lea edx, [0x61decf]
mov dword [ecx + 0x20], edx
lea edx, [0x61dedb]
jmp 0x5a9f89
cmp edx, 0xb
jne 0x5a9dcd
mov dword [ecx + 0x24], 6
mov edx, dword [0x7b12d0]
test edx, edx
je 0x5a9db9
mov edx, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov edi, dword [esp + 0x54]
lea edx, [0x61ded5]
mov dword [ecx + 0x20], edx
lea edx, [0x61dedb]
jmp 0x5a9f89
cmp edx, 0xe
jne 0x5a9e05
mov dword [ecx + 0x24], 4
mov edx, dword [0x7b12d0]
test edx, edx
je 0x5a9df1
mov edx, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov edi, dword [esp + 0x54]
lea edx, [0x61d952]
mov dword [ecx + 0x20], edx
lea edx, [0x61dedb]
jmp 0x5a9f89
cmp edx, 0xf
jne 0x5a9e3d
mov dword [ecx + 0x24], 8
mov edx, dword [0x7b12d0]
test edx, edx
je 0x5a9e29
mov edx, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov edi, dword [esp + 0x54]
lea edx, [0x61e7cb]
mov dword [ecx + 0x20], edx
lea edx, [0x61dedb]
jmp 0x5a9f89
test edx, 0x10
jne 0x5a9e49
xor edx, edx
jmp 0x5a9e8d
lea edx, [0x5ef0c0]
mov dword [esp], edx
lea ebx, [esp + 0xe8]
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
call sym.runtime.mapaccess1_fast32
mov eax, dword [esp + 0xc]
movzx eax, byte [eax]
mov ecx, dword [esp + 0x94]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x54]
mov edx, eax
mov eax, dword [esp + 0x58]
test dl, dl
jne 0x5a9ceb
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
cmp edx, 8
jne 0x5a9ebb
cmp dword [eax], 0x614d435f
jne 0x5a9ebb
cmp dword [eax + 4], 0x636f6c6c
jne 0x5a9ebb
mov edx, 6
lea eax, [0x61df47]
mov ecx, dword [esp + 0x1c0]
mov ebx, dword [ecx + 0x48]
mov dword [esp + 0xa8], ebx
mov dword [esp + 0x1ac], 0
mov dword [esp + 0x1b0], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5ed6a0]
mov dword [esp + 0x1ac], ecx
mov dword [esp + 0x1b0], eax
mov eax, dword [esp + 0x94]
lea ebx, [0x5eefc0]
mov dword [esp], ebx
mov ebp, dword [esp + 0xa8]
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call sym.runtime.mapaccess1_fast32
mov eax, dword [esp + 0xc]
mov eax, dword [eax]
mov dword [esp], eax
lea eax, [0x62d249]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x29
lea ecx, [esp + 0x1ac]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call sym.main.error_
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x94]
lea edx, [0x61dedb]
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x64]
mov edi, dword [esp + 0x54]
inc ebx
cmp edi, ebx
jae 0x5a9fd1
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x5f6100]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x94]
lea edx, [0x61dedb]
mov esi, dword [esp + 0x64]
mov edx, dword [0x7b12d0]
test edx, edx
je 0x5a9ff1
mov edx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebp + ebx*4 - 4]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x58]
mov edi, edx
mov dword [ebp + ebx*4 - 4], ecx
jmp 0x5a9ceb
mov eax, dword [0x7b1050]
test eax, eax
jle 0x5aa1bf
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp], 0
lea edx, [0x633292]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x270
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
call sym.runtime.concatstring2
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp], 0
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.runtime.stringtoslicebyte
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x1bc]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
call sym.main._Package_.gccErrors
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
test eax, eax
je 0x5aa182
mov dword [esp + 0x11c], 0
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
mov edx, dword [0x791a3c]
test edx, edx
jbe 0x5aa1db
mov dword [esp + 0x4c], eax
mov dword [esp + 0x88], ecx
mov eax, dword [0x791a38]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5ed6a0]
mov dword [esp + 0x11c], ecx
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x88]
mov dword [esp], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5ed6a0]
mov dword [esp + 0x124], ecx
mov dword [esp + 0x128], eax
mov dword [esp], 0
lea eax, [0x6278b1]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1b
lea eax, [esp + 0x11c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 2
call sym.main.error_
lea eax, [0x621e44]
mov dword [esp], eax
mov dword [esp + 4], 0x10
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
call sym.main.fatalf
mov ebx, dword [esp + 0x50]
mov ebp, dword [esp + 0x8c]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x1c4], ebp
mov dword [esp + 0x1c8], ebx
mov dword [esp + 0x1cc], edi
add esp, 0x1b8
ret
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
call sym.runtime.panicSliceB
mov eax, edx
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAlen
mov eax, edx
call sym.runtime.panicSliceB
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, ebx
call sym.runtime.panicSliceB
call sym.runtime.panicSliceB
mov eax, edx
call sym.runtime.panicSliceB
call sym.runtime.panicSliceAlen
mov eax, edx
call sym.runtime.panicSliceB
call sym.runtime.panicSliceB
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.main._Package_.guessKinds