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

Disassembly:
mov ecx, dword [0x776294]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x138]
cmp eax, dword [ecx + 8]
jbe 0x5817b3
sub esp, 0x1b8
lea edi, [esp + 0x19c]
xor eax, eax
call fcn.0046ab99
lea edi, [esp + 0x168]
call fcn.0046ab93
lea ecx, [esp + 0x168]
mov dword [esp + 0x1a8], ecx
call sym.runtime.rand32
mov ecx, dword [esp]
mov dword [esp + 0x1a4], 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 + 0x164], 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 + 0x48], eax
jmp 0x57ffdd
mov ecx, dword [esp + 0x6c]
inc ecx
mov dword [esp + 0x8c], ebp
mov dword [esp + 0x48], 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 + 0x164]
mov dword [esp + 0x50], ebx
mov dword [esp + 0x90], ebp
mov dword [esp + 0x4c], edi
cmp eax, edx
jge 0x5806a0
mov dword [esp + 0x6c], eax
mov dword [esp + 0x54], 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, [0x5c3dc0]
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 0x5802d2
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 0x58019b
mov ebx, dword [esp + 0xa0]
mov ebp, dword [ebx + 0x1c]
test ebp, ebp
jbe 0x5817a9
mov esi, dword [ebx + 0x18]
movzx edi, byte [esi]
xchg edi, eax
cmp al, 0x27
xchg edi, eax
je 0x58011e
xchg edi, eax
cmp al, 0x22
xchg edi, eax
jne 0x58025f
mov dword [esp], esi
mov dword [esp + 4], ebp
call sym.go_parser.ParseExpr
mov eax, dword [esp + 0x10]
test eax, eax
je 0x5800c7
mov ebx, dword [esp + 0xa0]
lea ebp, [0x5ed502]
jmp 0x58025f
mov ebx, dword [esp + 0xa0]
mov dword [ebx + 0x24], 6
mov ebp, dword [0x776350]
test ebp, ebp
je 0x5800e9
mov ebp, dword [ebx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
lea ebp, [0x5ed502]
mov dword [ebx + 0x20], ebp
mov esi, dword [ebx + 0x1c]
mov edi, dword [ebx + 0x18]
mov dword [ebx + 0x38], esi
mov esi, dword [0x776350]
test esi, esi
je 0x580116
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 0x58025f
mov dword [esp], esi
mov dword [esp + 4], ebp
call sym.go_parser.ParseExpr
mov eax, dword [esp + 0x10]
test eax, eax
je 0x580144
mov ebx, dword [esp + 0xa0]
lea ebp, [0x5ed4f6]
jmp 0x58025f
mov ebx, dword [esp + 0xa0]
mov dword [ebx + 0x24], 6
mov ebp, dword [0x776350]
test ebp, ebp
je 0x580166
mov ebp, dword [ebx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebp
lea ebp, [0x5ed4f6]
mov dword [ebx + 0x20], ebp
mov esi, dword [ebx + 0x1c]
mov edi, dword [ebx + 0x18]
mov dword [ebx + 0x38], esi
mov esi, dword [0x776350]
test esi, esi
je 0x580193
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 0x58025f
mov eax, dword [esp + 0xa0]
mov dword [eax + 0x24], 6
mov ebx, dword [0x776350]
test ebx, ebx
je 0x5801bd
mov ebx, dword [eax + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ebx
lea ebx, [0x5ed4f6]
mov dword [eax + 0x20], ebx
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp], ecx
mov dword [esp + 4], edx
call sym.runtime.convT64
mov eax, dword [esp + 8]
lea ecx, [0x5c2d00]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
lea eax, [0x5ecdfb]
mov dword [esp], eax
mov dword [esp + 4], 3
lea edx, [esp + 0x154]
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 [0x776350]
test eax, eax
je 0x58025a
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 0x58026b
xor eax, eax
jmp 0x5802a3
lea eax, [ecx - 5]
cmp ecx, eax
jb 0x5817a4
mov eax, dword [ebx + 0x20]
lea eax, [ecx + eax - 5]
mov dword [esp], eax
lea eax, [0x5ed28a]
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 0x5802d0
lea ecx, [0x5ecfc3]
mov eax, dword [esp + 0x54]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x90]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x8c]
jmp 0x57ffb8
mov eax, ebx
cmp dword [eax + 0x14], 7
jge 0x5802dc
xor ecx, ecx
jmp 0x580307
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
lea ecx, [0x5ed919]
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 0x580312
mov ecx, 1
jmp 0x580347
cmp dword [eax + 0x14], 6
jge 0x58031c
xor ecx, ecx
jmp 0x580347
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
lea ecx, [0x5ed568]
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 0x580352
mov ecx, 1
jmp 0x580387
cmp dword [eax + 0x14], 5
jge 0x58035c
xor ecx, ecx
jmp 0x580387
mov ecx, dword [eax + 0x10]
mov dword [esp], ecx
lea ecx, [0x5ed285]
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 0x58043f
mov dword [eax + 0x24], 4
mov ecx, dword [0x776350]
test ecx, ecx
je 0x5803aa
mov ecx, dword [eax + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], ecx
lea ecx, [0x5ecfc3]
mov dword [eax + 0x20], ecx
mov edx, dword [esp + 0x48]
inc edx
mov ebx, dword [esp + 0x4c]
cmp ebx, edx
jb 0x5803c9
mov ebp, dword [esp + 0x8c]
jmp 0x58040f
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, [0x5ca0c0]
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, [0x5ecfc3]
mov ebp, eax
mov ebx, edi
mov eax, dword [esp + 0xa0]
mov esi, dword [0x776350]
test esi, esi
je 0x580427
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 + 0x54]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x90]
jmp 0x57ffb8
mov ebx, dword [0x736fb4]
mov ebp, dword [0x736fb0]
cmp ebx, 6
jne 0x580461
cmp dword [ebp], 0x77726164
jne 0x580461
cmp word [ebp + 4], 0x6e69
je 0x580474
cmp ebx, 3
jne 0x5804c4
cmp word [ebp], 0x6f69
jne 0x5804c0
cmp byte [ebp + 2], 0x73
jne 0x5804bc
mov ecx, dword [eax + 0x14]
cmp ecx, 3
jge 0x580480
xor ecx, ecx
jmp 0x5804c6
lea edx, [ecx - 3]
cmp ecx, edx
jb 0x58179d
mov edx, dword [eax + 0x10]
lea ecx, [ecx + edx - 3]
mov dword [esp], ecx
lea ecx, [0x5ecdfe]
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 0x5804c6
xor ecx, ecx
jmp 0x5804c6
xor ecx, ecx
jmp 0x5804c6
xor ecx, ecx
test cl, cl
jne 0x5804de
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x90]
jmp 0x58062a
mov edx, dword [eax + 0x14]
lea ecx, [edx - 3]
cmp edx, ecx
jb 0x581798
mov edx, dword [eax + 0x10]
mov dword [esp], 0
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
lea ecx, [0x5ee2e2]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 9
call sym.runtime.concatstring2
mov eax, dword [esp + 0x18]
mov dword [esp + 0x40], eax
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x84], ecx
lea edx, [0x5e0240]
mov dword [esp], edx
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x40]
mov dword [eax + 4], ecx
mov edx, dword [0x776350]
test edx, edx
jne 0x580554
mov edx, dword [esp + 0x84]
jmp 0x580562
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 + 0x50]
inc ecx
mov edx, dword [esp + 0x54]
cmp edx, ecx
jb 0x580580
mov ebp, dword [esp + 0x90]
jmp 0x5805c5
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, [0x5ca0c0]
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 + 0x54], edx
mov ebx, dword [0x776350]
test ebx, ebx
je 0x5805e1
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 + 0x50], ecx
mov dword [ebp + ecx*4 - 4], eax
lea edx, [0x5c3f00]
mov dword [esp], edx
lea ebx, [esp + 0x19c]
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 + 0x54]
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x90]
inc edx
cmp ecx, edx
jae 0x580664
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5ca0c0]
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 [0x776350]
test ebp, ebp
je 0x58067c
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 + 0x48]
mov ebx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x8c]
lea ecx, [0x5ecfc3]
jmp 0x57ffb8
test ebx, ebx
je 0x580702
lea eax, [0x5d29e0]
mov dword [esp], eax
call sym.runtime.newobject
mov eax, dword [esp + 4]
mov dword [esp + 0xa8], eax
mov dword [esp], eax
lea ecx, [0x5ffe45]
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 + 0xa8]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.bytes._Buffer_.WriteString
xor eax, eax
jmp 0x5809f4
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x1c4], eax
mov eax, dword [esp + 0x48]
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 + 0xdc]
mov ebx, eax
xor eax, eax
call fcn.0046ab82
lea ecx, [ebx + 1]
mov dword [esp + 0x70], ecx
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5c2d80]
mov dword [esp + 0xdc], edx
mov dword [esp + 0xe0], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5c2d80]
mov dword [esp + 0xe4], edx
mov dword [esp + 0xe8], 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, [0x5c2b40]
mov dword [esp + 0xec], edx
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5c2d80]
mov dword [esp + 0xf4], edx
mov dword [esp + 0xf8], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5c2d80]
mov dword [esp + 0xfc], edx
mov dword [esp + 0x100], 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, [0x5c2b40]
mov dword [esp + 0x104], edx
mov dword [esp + 0x108], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5c2d80]
mov dword [esp + 0x10c], edx
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5c2d80]
mov dword [esp + 0x114], edx
mov dword [esp + 0x118], 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, [0x5c2b40]
mov dword [esp + 0x11c], edx
mov dword [esp + 0x120], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5c2d80]
mov dword [esp + 0x124], edx
mov dword [esp + 0x128], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5c2d80]
mov dword [esp + 0x12c], edx
mov dword [esp + 0x130], 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, [0x5c2b40]
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, [0x5c2d80]
mov dword [esp + 0x13c], edx
mov dword [esp + 0x140], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp], ecx
call sym.runtime.convT32
mov ecx, dword [esp + 4]
lea edx, [0x5c2d80]
mov dword [esp + 0x144], edx
mov dword [esp + 0x148], 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, [0x5c2b40]
mov dword [esp + 0x14c], edx
mov dword [esp + 0x150], ecx
lea ecx, [0x634a2c]
mov dword [esp], ecx
mov ebx, dword [esp + 0xa8]
mov dword [esp + 4], ebx
lea ebp, [0x5ff61b]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 0x1c1
lea esi, [esp + 0xdc]
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 + 0x50]
cmp eax, ecx
jl 0x580729
lea eax, [0x634a2c]
mov dword [esp], eax
mov eax, dword [esp + 0xa8]
mov dword [esp + 4], eax
lea ecx, [0x5fb74d]
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 + 0xa8]
mov ecx, dword [eax + 4]
mov edx, dword [eax + 0xc]
cmp ecx, edx
jb 0x581791
mov ebx, dword [eax]
mov ebp, dword [eax + 8]
mov dword [esp + 0xd4], 0
mov dword [esp + 0xd8], 0
mov dword [esp + 0xd8], 0x19
lea esi, [0x5f4a9c]
mov dword [esp + 0xd4], 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 + 0xd4]
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 + 0x3c], ecx
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x5f75cb]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 0x20
call sym.strings.Index
mov eax, dword [esp + 0x10]
test eax, eax
jl 0x580b77
mov edx, dword [esp + 0xa8]
mov ecx, dword [edx + 4]
mov eax, dword [edx + 0xc]
cmp ecx, eax
jb 0x58178c
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 0x580b82
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x80]
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x80], eax
test ecx, ecx
jne 0x580c9b
mov edx, dword [esp + 0xa8]
mov ebx, dword [edx + 4]
mov ebp, dword [edx + 0xc]
cmp ebx, ebp
jb 0x581783
mov esi, dword [edx]
mov edi, dword [edx + 8]
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov edx, dword [0x73709c]
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 0x58177a
mov dword [esp + 0x34], ebx
mov dword [esp + 0x7c], ebp
mov eax, dword [0x737098]
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, [0x5c2b40]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], 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, [0x5bd680]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
lea eax, [0x5f83eb]
mov dword [esp], eax
mov dword [esp + 4], 0x22
lea eax, [esp + 0xc4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 2
mov dword [esp + 0x10], 2
call sym.main.fatalf
lea eax, [0x5c2d80]
mov dword [esp], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x160], eax
mov ecx, dword [esp + 0x80]
mov dword [esp], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
lea ebx, str._n_tX__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 0x580d24
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 0x581111
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 + 0x58], ecx
nop
mov dword [esp], ebx
mov dword [esp + 4], ecx
lea ebp, [0x5eddad]
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 8
call sym.strings.Index
mov eax, dword [esp + 0x10]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xa4]
mov dword [esp], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 4], edx
lea ebx, [0x5ed92e]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 7
call sym.strings.Index
mov eax, dword [esp + 0x10]
test eax, eax
setge al
movzx ecx, byte [esp + 0x2a]
and eax, ecx
mov edx, dword [esp + 0x6c]
test edx, edx
jge 0x580dce
test al, al
jne 0x580dce
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x160]
movzx eax, byte [esp + 0x2b]
jmp 0x580d11
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
mov ecx, dword [esp + 0x58]
mov dword [esp + 4], ecx
lea edx, [0x6340d4]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call sym.strings.Index
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x580e19
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x160]
movzx ecx, byte [esp + 0x2a]
movzx eax, byte [esp + 0x2b]
jmp 0x580d11
lea edx, [eax + 1]
mov ecx, dword [esp + 0x58]
cmp ecx, edx
jb 0x581773
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], 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, [0x6340d4]
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
call sym.strings.Index
mov eax, dword [esp + 0x10]
test eax, eax
jge 0x580e85
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x160]
movzx ecx, byte [esp + 0x2a]
movzx eax, byte [esp + 0x2b]
jmp 0x580d11
mov ebx, dword [esp + 0x64]
lea ecx, [ebx + eax + 1]
mov edx, dword [esp + 0x58]
cmp edx, ecx
jb 0x58176e
mov edx, dword [esp + 0x68]
cmp ecx, edx
jb 0x581767
mov ecx, dword [esp + 0x6c]
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 0x580ee1
mov edx, dword [esp + 0x50]
jmp 0x580ee9
mov edx, dword [esp + 0x50]
cmp edx, ecx
jg 0x580f08
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 + 0x160]
jmp 0x580d11
mov ebx, dword [esp + 0x64]
cmp ebx, 9
jg 0x580fa1
cmp ebx, 8
jne 0x580f50
mov ebx, dword [esp + 0xa4]
cmp dword [ebx], 0x2d746f6e
jne 0x5810f2
cmp dword [ebx + 4], 0x65707974
jne 0x5810f2
mov ebx, dword [esp + 0x160]
or dword [ebx + eax*4 - 4], 1
movzx eax, byte [esp + 0x2b]
jmp 0x5810e7
cmp ebx, 9
jne 0x5810f2
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
lea eax, [0x5ee2eb]
mov dword [esp + 4], eax
mov dword [esp + 8], 9
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x580f98
mov edx, dword [esp + 0x50]
mov ebx, dword [esp + 0x160]
mov eax, 1
jmp 0x5810e7
mov edx, dword [esp + 0x50]
jmp 0x5810f2
mov dword [esp + 0x60], eax
cmp ebx, 0xb
je 0x5810a4
cmp ebx, 0xc
je 0x581059
cmp ebx, 0xd
jne 0x5810f2
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
lea ecx, [0x5efbe1]
mov dword [esp + 4], ecx
mov dword [esp + 8], 0xd
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x581008
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x160]
or dword [ebx + edx*4 - 4], 2
mov edx, dword [esp + 0x50]
movzx eax, byte [esp + 0x2b]
jmp 0x5810e7
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
lea eax, [0x5efbee]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xd
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x581050
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x160]
or dword [ebx + edx*4 - 4], 4
mov edx, dword [esp + 0x50]
movzx eax, byte [esp + 0x2b]
jmp 0x5810e7
mov edx, dword [esp + 0x50]
jmp 0x5810f2
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
lea eax, [0x5ef5c3]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xc
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x58109e
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x160]
or dword [ebx + edx*4 - 4], 0x10
mov edx, dword [esp + 0x50]
movzx eax, byte [esp + 0x2b]
jmp 0x5810e7
mov edx, dword [esp + 0x50]
jmp 0x5810f2
mov eax, dword [esp + 0xa4]
mov dword [esp], eax
lea eax, [0x5eeee5]
mov dword [esp + 4], eax
mov dword [esp + 8], 0xb
call sym.runtime.memequal
movzx eax, byte [esp + 0xc]
test al, al
je 0x5810ee
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x160]
or dword [ebx + edx*4 - 4], 8
mov edx, dword [esp + 0x50]
movzx eax, byte [esp + 0x2b]
xor ecx, ecx
jmp 0x580d11
mov edx, dword [esp + 0x50]
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 + 0x160]
jmp 0x580d11
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x58123b
mov edx, dword [esp + 0xa8]
mov ecx, dword [edx + 4]
mov eax, dword [edx + 0xc]
cmp ecx, eax
jb 0x581762
mov dword [esp + 0x70], ecx
mov ebx, dword [edx]
mov edx, dword [edx + 8]
lea edi, [esp + 0xac]
mov ebp, eax
xor eax, eax
call fcn.0046ab9a
mov ecx, dword [0x73709c]
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 0x581759
mov dword [esp + 0x2c], esi
mov dword [esp + 0x70], eax
mov dword [esp + 0x74], edx
mov eax, dword [0x737098]
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, [0x5c2b40]
mov dword [esp + 0xac], ecx
mov dword [esp + 0xb0], 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, [0x5bd680]
mov dword [esp + 0xb4], ecx
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0x80]
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5c2b40]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
lea eax, [0x5fe1a0]
mov dword [esp], eax
mov dword [esp + 4], 0x4a
lea eax, [esp + 0xac]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 3
mov dword [esp + 0x10], 3
call sym.main.fatalf
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x160]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x8c]
mov edi, dword [esp + 0x4c]
xor esi, esi
jmp 0x58126f
inc esi
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x160]
mov dword [esp + 0x4c], edi
mov dword [esp + 0x48], ebx
mov dword [esp + 0x8c], ebp
cmp esi, eax
jge 0x58156f
mov dword [esp + 0x5c], esi
mov edx, dword [edx + esi*4]
mov ecx, dword [ecx + esi*4]
mov dword [esp + 0x94], ecx
cmp edx, 9
jg 0x58130a
cmp edx, 7
jne 0x5812ce
mov dword [ecx + 0x24], 6
mov edx, dword [0x776350]
test edx, edx
je 0x5812c0
mov edx, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov edi, dword [esp + 0x4c]
lea edx, [0x5ed502]
mov dword [ecx + 0x20], edx
jmp 0x5814fe
cmp edx, 9
jne 0x5813b2
mov dword [ecx + 0x24], 6
mov edx, dword [0x776350]
test edx, edx
je 0x5812f6
mov edx, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov edi, dword [esp + 0x4c]
lea edx, [0x5ed4f6]
mov dword [ecx + 0x20], edx
lea edx, [0x5ed502]
jmp 0x5814fe
cmp edx, 0xb
jne 0x581342
mov dword [ecx + 0x24], 6
mov edx, dword [0x776350]
test edx, edx
je 0x58132e
mov edx, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov edi, dword [esp + 0x4c]
lea edx, [0x5ed4fc]
mov dword [ecx + 0x20], edx
lea edx, [0x5ed502]
jmp 0x5814fe
cmp edx, 0xe
jne 0x58137a
mov dword [ecx + 0x24], 4
mov edx, dword [0x776350]
test edx, edx
je 0x581366
mov edx, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov edi, dword [esp + 0x4c]
lea edx, [0x5ecfc3]
mov dword [ecx + 0x20], edx
lea edx, [0x5ed502]
jmp 0x5814fe
cmp edx, 0xf
jne 0x5813b2
mov dword [ecx + 0x24], 8
mov edx, dword [0x776350]
test edx, edx
je 0x58139e
mov edx, dword [ecx + 0x20]
call sym.runtime.gcWriteBarrier1
mov dword [edi], edx
mov edi, dword [esp + 0x4c]
lea edx, [0x5edd5d]
mov dword [ecx + 0x20], edx
lea edx, [0x5ed502]
jmp 0x5814fe
test edx, 0x10
jne 0x5813be
xor edx, edx
jmp 0x581402
lea edx, [0x5c3f00]
mov dword [esp], edx
lea ebx, [esp + 0x19c]
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 + 0x48]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x4c]
mov edx, eax
mov eax, dword [esp + 0x50]
test dl, dl
jne 0x581260
mov edx, dword [ecx + 4]
mov eax, dword [ecx]
cmp edx, 8
jne 0x581430
cmp dword [eax], 0x614d435f
jne 0x581430
cmp dword [eax + 4], 0x636f6c6c
jne 0x581430
mov edx, 6
lea eax, [0x5ed56e]
mov ecx, dword [esp + 0x1c0]
mov ebx, dword [ecx + 0x48]
mov dword [esp + 0x15c], ebx
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
mov dword [esp], eax
mov dword [esp + 4], edx
call sym.runtime.convTstring
mov eax, dword [esp + 8]
lea ecx, [0x5c2b40]
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], eax
mov eax, dword [esp + 0x94]
lea ebx, [0x5c3e00]
mov dword [esp], ebx
mov ebp, dword [esp + 0x15c]
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, [0x5fa6c3]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x29
lea ecx, [esp + 0x154]
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 1
mov dword [esp + 0x14], 1
call sym.main.error_
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0x94]
lea edx, [0x5ed502]
mov ebx, dword [esp + 0x48]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x4c]
inc ebx
cmp edi, ebx
jae 0x581546
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
mov dword [esp + 0xc], 1
lea eax, [0x5ca0c0]
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 + 0x50]
mov ecx, dword [esp + 0x94]
lea edx, [0x5ed502]
mov esi, dword [esp + 0x5c]
mov edx, dword [0x776350]
test edx, edx
je 0x581566
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 + 0x50]
mov edi, edx
mov dword [ebp + ebx*4 - 4], ecx
jmp 0x581260
mov eax, dword [0x776184]
test eax, eax
jle 0x581734
mov eax, dword [esp + 0x1c0]
mov ecx, dword [eax + 0x18]
mov eax, dword [eax + 0x1c]
mov dword [esp], 0
lea edx, [0x5ffe45]
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 0x5816f7
mov dword [esp + 0xc4], 0
mov dword [esp + 0xc8], 0
mov dword [esp + 0xcc], 0
mov dword [esp + 0xd0], 0
mov edx, dword [0x73709c]
test edx, edx
jbe 0x581750
mov dword [esp + 0x44], eax
mov dword [esp + 0x88], ecx
mov eax, dword [0x737098]
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, [0x5c2b40]
mov dword [esp + 0xc4], ecx
mov dword [esp + 0xc8], eax
mov eax, dword [esp + 0x88]
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, [0x5c2b40]
mov dword [esp + 0xcc], ecx
mov dword [esp + 0xd0], eax
mov dword [esp], 0
lea eax, [0x5f5724]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x1b
lea eax, [esp + 0xc4]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 2
mov dword [esp + 0x14], 2
call sym.main.error_
lea eax, [0x5f0cb0]
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 + 0x48]
mov ebp, dword [esp + 0x8c]
mov edi, dword [esp + 0x4c]
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