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

Disassembly:
mov ecx, dword [0x7c4f4c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x70]
cmp eax, dword [ecx + 8]
jbe 0x5a43bd
sub esp, 0xf0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov ecx, dword [esp + 0xf8]
mov dword [esp + 4], ecx
lea edx, [0x61747d]
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
call sym.strings.Cut
movzx eax, byte [esp + 0x20]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
test al, al
je 0x5a3077
mov dword [esp + 0x2c], edx
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x94], ebx
test eax, eax
jne 0x5a2d6e
xor ebp, ebp
jmp 0x5a2da2
mov dword [esp], ebx
mov dword [esp + 4], eax
lea ecx, [0x62a428]
mov dword [esp + 8], ecx
call sym.strings.IndexFunc
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x94]
mov ebp, eax
mov eax, dword [esp + 0x44]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5a305a
test edx, edx
jne 0x5a2db4
xor ebp, ebp
jmp 0x5a2de8
mov dword [esp], ecx
mov dword [esp + 4], edx
lea eax, [0x62a428]
mov dword [esp + 8], eax
call sym.strings.IndexFunc
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x70]
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x94]
mov ebp, eax
mov eax, dword [esp + 0x44]
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x5a305a
mov dword [esp], ebx
mov dword [esp + 4], eax
call sym.strings.ToLower
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x5a2e22
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x5a2e30
jmp 0x5a43a4
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x5a2e94
mov dword [esp + 0x8c], ecx
mov dword [esp + 0x38], edx
mov dword [esp + 0x68], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x8c]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0xbc], esi
mov dword [esp + 0x64], ebp
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.memmove
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x98]
nop
nop
test eax, eax
je 0x5a2ef6
lea ecx, [esp + 0x98]
cmp eax, ecx
je 0x5a2f04
jmp 0x5a438c
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
inc ecx
mov edx, dword [esp + 0x9c]
cmp eax, ecx
jae 0x5a2f5a
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ecx
mov byte [ecx + edx - 1], 0x2f
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 4], eax
call sym.strings.ToLower
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x5a2f9e
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x5a2fac
jmp 0x5a4374
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x5a3010
mov dword [esp + 0x34], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x68], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x34]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0xbc], esi
mov dword [esp + 0x68], ebp
mov dword [esp + 0x64], eax
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.memmove
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
jmp 0x5a31a4
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0xf8]
test eax, eax
je 0x5a321f
mov ecx, dword [esp + 0xf4]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x62a428]
mov dword [esp + 8], edx
call sym.strings.IndexFunc
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x5a321f
mov eax, dword [esp + 0xf4]
mov dword [esp], eax
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], eax
call sym.strings.ToLower
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x5a30ed
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x5a30fb
jmp 0x5a435c
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [edx + ebx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x5a315f
mov dword [esp + 0x68], ebx
mov dword [esp + 0x90], ecx
mov dword [esp + 0x3c], edx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x3c]
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x68], eax
mov dword [esp + 0x64], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.memmove
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x5a31b3
mov ecx, dword [eax]
jmp 0x5a31b5
xor ecx, ecx
mov dword [esp + 0x50], ecx
lea eax, [0x5f3f60]
mov dword [esp], eax
mov dword [esp + 4], 0
mov dword [esp + 8], ecx
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0xb8], eax
lea edi, [esp + 0xc0]
xor eax, eax
call fcn.0046a9f4
lea eax, [0x5f5860]
mov dword [esp], eax
mov ecx, dword [esp + 0xfc]
mov dword [esp + 4], ecx
lea edx, [esp + 0xc0]
mov dword [esp + 8], edx
call sym.runtime.mapiterinit
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xb8]
xor edx, edx
jmp 0x5a325c
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov dword [esi], ebp
lea eax, [esp + 0xc0]
mov dword [esp], eax
call sym.runtime.mapiternext
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xa8]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0xc0]
test ebx, ebx
je 0x5a32f1
inc edx
mov ebp, dword [ebx]
mov ebx, dword [ebx + 4]
cmp eax, edx
jae 0x5a32b9
mov dword [esp + 0x58], ebx
mov dword [esp + 0xb0], ebp
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5f3f60]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x58]
mov ebp, dword [esp + 0xb0]
mov dword [esp + 0xa8], ecx
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
lea esi, [ecx + edx*8 - 4]
mov dword [esi], ebx
mov ebx, dword [0x7c5080]
lea esi, [ecx + edx*8 - 8]
test ebx, ebx
je 0x5a323c
call sym.runtime.gcWriteBarrier2
mov dword [edi], ebp
mov ebx, dword [esi]
mov dword [edi + 4], ebx
jmp 0x5a323c
mov dword [esp + 0x4c], edx
mov dword [esp + 0xb4], ecx
lea ebx, [0x6680e0]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call sym.slices.Sort_go.shape.__string_go.shape.string_
xor eax, eax
jmp 0x5a3321
mov ecx, dword [esp + 0x68]
lea eax, [ecx + 1]
mov ecx, dword [esp + 0x4c]
cmp eax, ecx
jge 0x5a3995
mov dword [esp + 0x68], eax
mov ecx, dword [esp + 0xb4]
lea edx, [ecx + eax*8]
mov ebx, dword [edx + 4]
mov dword [esp + 0x54], ebx
mov edx, dword [edx]
mov dword [esp + 0xac], edx
lea ebp, [0x5f5860]
mov dword [esp], ebp
mov esi, dword [esp + 0xfc]
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebx
call sym.runtime.mapaccess1_faststr
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x98]
mov edx, dword [eax + 4]
mov eax, dword [eax]
nop
nop
test ecx, ecx
je 0x5a3392
lea ebx, [esp + 0x98]
cmp ecx, ebx
je 0x5a33a0
jmp 0x5a4344
lea ecx, [esp + 0x98]
mov dword [esp + 0x98], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
inc ebx
mov ebp, dword [esp + 0x9c]
cmp ecx, ebx
jae 0x5a3406
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ebp
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0xa0], ebx
mov byte [ebx + ebp - 1], 0x3b
mov ecx, dword [esp + 0x98]
nop
nop
test ecx, ecx
je 0x5a342f
lea ebx, [esp + 0x98]
cmp ecx, ebx
je 0x5a343d
jmp 0x5a432c
lea ecx, [esp + 0x98]
mov dword [esp + 0x98], ecx
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
inc ebx
mov ebp, dword [esp + 0x9c]
cmp ecx, ebx
jae 0x5a349b
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ebp
mov eax, dword [esp + 0x6c]
mov edx, dword [esp + 0x28]
mov dword [esp + 0xa0], ebx
mov byte [ebx + ebp - 1], 0x20
mov ecx, dword [esp + 0x54]
test ecx, ecx
je 0x5a3978
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov dword [esp + 4], ecx
lea edx, [0x62a428]
mov dword [esp + 8], edx
call sym.strings.IndexFunc
mov eax, dword [esp + 0xc]
test eax, eax
jge 0x5a3978
mov eax, dword [esp + 0xac]
mov dword [esp], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 4], eax
call sym.strings.ToLower
mov eax, dword [esp + 0x98]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
nop
test eax, eax
je 0x5a3517
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x5a3525
jmp 0x5a4314
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x5a3589
mov dword [esp + 0x84], ecx
mov dword [esp + 0x30], edx
mov dword [esp + 0x64], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.memmove
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
nop
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
xor edx, edx
jmp 0x5a39d0
cmp edx, eax
jge 0x5a367f
mov ebx, dword [esp + 0x98]
nop
nop
test ebx, ebx
je 0x5a3603
lea ebp, [esp + 0x98]
cmp ebx, ebp
je 0x5a3611
jmp 0x5a42fc
lea ebx, [esp + 0x98]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa0]
inc ebp
mov esi, dword [esp + 0x9c]
cmp ebx, ebp
jae 0x5a3673
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], esi
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov dword [esp + 0xa0], ebp
mov byte [ebp + esi - 1], 0x2a
mov ebx, dword [esp + 0x98]
nop
nop
test ebx, ebx
je 0x5a369c
lea ebp, [esp + 0x98]
cmp ebx, ebp
je 0x5a36aa
jmp 0x5a42e4
lea ebx, [esp + 0x98]
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa0]
inc ebp
mov esi, dword [esp + 0x9c]
cmp ebx, ebp
jb 0x5a36c8
cmp edx, eax
jmp 0x5a3714
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], ebx
mov dword [esp + 0xc], 1
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], esi
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x28]
cmp eax, ecx
mov eax, ecx
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xa0], ebp
mov byte [ebp + esi - 1], 0x3d
jge 0x5a37d7
mov edx, dword [esp + 0x98]
nop
test edx, edx
je 0x5a3742
lea ebx, [esp + 0x98]
cmp edx, ebx
je 0x5a3750
jmp 0x5a42cc
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa0]
lea ebx, [edx + 7]
mov ebp, dword [esp + 0xa4]
mov esi, dword [esp + 0x9c]
cmp ebp, ebx
jae 0x5a37aa
mov dword [esp + 0x64], edx
mov dword [esp], esi
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 7
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov dword [esi + edx], 0x2d667475
mov dword [esi + edx + 3], 0x2727382d
mov dword [esp + 0xa0], ebx
mov dword [esp + 0xa4], ebp
mov dword [esp + 0x9c], esi
xor edx, edx
xor ebx, ebx
jmp 0x5a3dd9
test eax, eax
jne 0x5a37df
xor edx, edx
jmp 0x5a3808
mov dword [esp], ecx
mov dword [esp + 4], eax
lea edx, [0x62a428]
mov dword [esp + 8], edx
call sym.strings.IndexFunc
mov eax, dword [esp + 0xc]
test eax, eax
setl al
mov ecx, dword [esp + 0x6c]
mov edx, eax
mov eax, dword [esp + 0x28]
test dl, dl
jne 0x5a38ad
mov edx, dword [esp + 0x98]
nop
test edx, edx
je 0x5a382c
lea ebx, [esp + 0x98]
cmp edx, ebx
je 0x5a383a
jmp 0x5a3dc0
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
inc ebx
mov ebp, dword [esp + 0x9c]
cmp edx, ebx
jae 0x5a3898
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ebp
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov dword [esp + 0xa0], ebx
mov byte [ebx + ebp - 1], 0x22
xor edx, edx
xor ebx, ebx
jmp 0x5a3a3c
mov edx, dword [esp + 0x98]
nop
nop
test edx, edx
je 0x5a38ca
lea ebx, [esp + 0x98]
cmp edx, ebx
je 0x5a38d8
jmp 0x5a3a23
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [eax + ebx]
mov esi, dword [esp + 0x9c]
cmp edx, ebp
jae 0x5a392e
mov dword [esp + 0x64], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
lea ecx, [0x5f3fe0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.runtime.memmove
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
jmp 0x5a331a
mov dword [esp + 0x100], 0
mov dword [esp + 0x104], 0
add esp, 0xf0
ret
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x9c]
mov edx, ecx
neg ecx
cmp eax, ecx
ja 0x5a39c0
mov dword [esp + 0x100], edx
mov dword [esp + 0x104], eax
add esp, 0xf0
ret
test edx, edx
je 0x5a39c9
call sym.runtime.panicunsafestringlen
call sym.runtime.panicunsafestringnilptr
mov edx, ebp
mov dword [esp + 0x64], edx
cmp edx, eax
jge 0x5a35e0
movzx ebx, byte [ecx + edx]
cmp ebx, 0x80
jge 0x5a39ed
lea ebp, [edx + 1]
jmp 0x5a3a11
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], edx
call sym.runtime.decoderune
mov ebx, dword [esp + 0xc]
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
lea esi, [ebx - 0x20]
cmp esi, 0x5e
jbe 0x5a39ce
cmp ebx, 9
je 0x5a39ce
jmp 0x5a35de
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
inc edx
cmp edx, eax
jge 0x5a3bde
movzx ebp, byte [ecx + edx]
xchg ebp, eax
cmp al, 0x22
xchg ebp, eax
je 0x5a3a56
xchg ebp, eax
cmp al, 0x5c
xchg ebp, eax
jne 0x5a3a3b
cmp ebx, edx
ja 0x5a3db7
mov ebp, edx
sub edx, ebx
mov esi, edx
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x98]
add ebx, ecx
nop
test edx, edx
je 0x5a3a89
lea edi, [esp + 0x98]
cmp edx, edi
je 0x5a3a97
jmp 0x5a3d9f
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov dword [esp + 0x64], ebp
mov edx, dword [esp + 0xa4]
mov edi, dword [esp + 0xa0]
lea ecx, [esi + edi]
mov eax, dword [esp + 0x9c]
cmp edx, ecx
jae 0x5a3af9
mov dword [esp + 0x60], edi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x78], ebx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], esi
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x78]
mov esi, dword [esp + 0x5c]
mov edi, dword [esp + 0x60]
mov dword [esp + 0x60], edx
mov dword [esp + 0x5c], ecx
mov dword [esp + 0xbc], eax
lea ebp, [eax + edi]
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], esi
call sym.runtime.memmove
mov eax, dword [esp + 0x5c]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x98]
nop
test eax, eax
je 0x5a3b5b
lea edx, [esp + 0x98]
cmp eax, edx
je 0x5a3b69
jmp 0x5a3d87
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
inc ebx
mov ebp, dword [esp + 0x9c]
cmp edx, ebx
jae 0x5a3bbf
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], ebx
mov byte [ebx + ebp - 1], 0x5c
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x64]
mov ebx, edx
jmp 0x5a3a3b
cmp ebx, eax
ja 0x5a3d7e
sub eax, ebx
mov edx, eax
neg eax
sar eax, 0x1f
and ebx, eax
mov eax, dword [esp + 0x98]
add ecx, ebx
nop
test eax, eax
je 0x5a3c0f
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x5a3c1d
jmp 0x5a3d66
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [edx + ebx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x5a3c7b
mov dword [esp + 0x64], ebx
mov dword [esp + 0x60], edx
mov dword [esp + 0x74], ecx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x60]
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.memmove
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x98]
nop
test eax, eax
je 0x5a3cd9
lea ecx, [esp + 0x98]
cmp eax, ecx
je 0x5a3ce7
jmp 0x5a3d4e
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
inc ecx
mov edx, dword [esp + 0x9c]
cmp eax, ecx
jae 0x5a3d3d
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], edx
mov dword [esp + 0xa0], ecx
mov byte [ecx + edx - 1], 0x22
jmp 0x5a331a
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov ecx, eax
mov eax, ebx
call sym.runtime.panicSliceB
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov eax, ebx
mov ecx, edx
call sym.runtime.panicSliceB
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
inc edx
cmp edx, eax
jge 0x5a415b
mov dword [esp + 0x48], edx
movzx ebp, byte [ecx + edx]
xchg ebp, eax
mov byte [esp + 0x25], al
xchg ebp, eax
lea esi, [ebp - 0x21]
xchg esi, eax
cmp al, 0x5e
xchg esi, eax
jb 0x5a3e00
mov esi, 1
jmp 0x5a3e70
xchg ebp, eax
cmp al, 0x2a
xchg ebp, eax
jne 0x5a3e0e
mov esi, 1
jmp 0x5a3e70
xchg ebp, eax
cmp al, 0x27
xchg ebp, eax
jne 0x5a3e1c
mov esi, 1
jmp 0x5a3e70
xchg ebp, eax
cmp al, 0x25
xchg ebp, eax
jne 0x5a3e2a
mov esi, 1
jmp 0x5a3e70
mov dword [esp + 0x40], ebx
xchg ebp, ebx
movzx eax, bl
xchg ebp, ebx
nop
lea ecx, [0x61a3f8]
mov dword [esp], ecx
mov dword [esp + 4], 0xf
mov dword [esp + 8], eax
call sym.strings.IndexRune
mov eax, dword [esp + 0xc]
test eax, eax
setge al
mov ecx, dword [esp + 0x6c]
mov edx, dword [esp + 0x48]
mov ebx, dword [esp + 0x40]
movzx ebp, byte [esp + 0x25]
mov esi, eax
mov eax, dword [esp + 0x28]
xchg esi, eax
test al, al
xchg esi, eax
je 0x5a3dd8
cmp ebx, edx
ja 0x5a42c3
mov esi, edx
sub edx, ebx
mov edi, edx
neg edx
sar edx, 0x1f
and ebx, edx
mov edx, dword [esp + 0x98]
add ebx, ecx
nop
test edx, edx
je 0x5a3eb2
lea ecx, [esp + 0x98]
cmp edx, ecx
jne 0x5a42ab
mov ecx, dword [esp + 0x6c]
jmp 0x5a3ec0
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ecx, dword [esp + 0xa0]
lea eax, [ecx + edi]
mov esi, dword [esp + 0x9c]
cmp edx, eax
jae 0x5a3f24
mov dword [esp + 0x64], edi
mov dword [esp + 0x80], ebx
mov dword [esp + 0x60], ecx
mov dword [esp], esi
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov dword [esp + 0xc], edi
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x60]
mov ebx, dword [esp + 0x80]
mov edi, dword [esp + 0x64]
mov dword [esp + 0x64], edx
mov dword [esp + 0x60], eax
mov dword [esp + 0xbc], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], edi
call sym.runtime.memmove
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0x98]
nop
nop
test eax, eax
je 0x5a3f86
lea edx, [esp + 0x98]
cmp eax, edx
je 0x5a3f94
jmp 0x5a4293
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
inc ebx
mov ebp, dword [esp + 0x9c]
cmp edx, ebx
jae 0x5a3fea
mov dword [esp], ebp
mov dword [esp + 4], ebx
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebx, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], ebp
mov dword [esp + 0xa0], ebx
mov byte [ebx + ebp - 1], 0x25
movzx edx, byte [esp + 0x25]
mov ebx, edx
shr dl, 4
movzx edx, dl
mov ebp, dword [esp + 0x98]
lea esi, [0x61a4d2]
movzx edx, byte [esi + edx]
nop
test ebp, ebp
je 0x5a4029
lea edi, [esp + 0x98]
cmp ebp, edi
je 0x5a4037
jmp 0x5a427b
lea ebp, [esp + 0x98]
mov dword [esp + 0x98], ebp
mov ebp, dword [esp + 0xa4]
mov edi, dword [esp + 0xa0]
inc edi
mov eax, dword [esp + 0x9c]
cmp ebp, edi
jae 0x5a40a1
mov byte [esp + 0x27], dl
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x1c]
mov edi, dword [esp + 0x18]
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x9c], eax
movzx edx, byte [esp + 0x27]
movzx ebx, byte [esp + 0x25]
lea esi, [0x61a4d2]
mov dword [esp + 0xa0], edi
mov byte [edi + eax - 1], dl
and ebx, 0xf
mov edx, dword [esp + 0x98]
movzx ebx, byte [ebx + esi]
nop
test edx, edx
je 0x5a40cf
lea ebp, [esp + 0x98]
cmp edx, ebp
je 0x5a40dd
jmp 0x5a4263
lea edx, [esp + 0x98]
mov dword [esp + 0x98], edx
mov edx, dword [esp + 0xa4]
mov ebp, dword [esp + 0xa0]
inc ebp
mov esi, dword [esp + 0x9c]
cmp edx, ebp
jae 0x5a413c
mov byte [esp + 0x26], bl
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x1c]
mov ebp, dword [esp + 0x18]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x9c], esi
movzx ebx, byte [esp + 0x26]
mov dword [esp + 0xa0], ebp
mov byte [ebp + esi - 1], bl
mov edx, dword [esp + 0x48]
lea ebx, [edx + 1]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x6c]
jmp 0x5a3dd8
cmp ebx, eax
ja 0x5a425a
sub eax, ebx
mov edx, eax
neg eax
sar eax, 0x1f
and ebx, eax
mov eax, dword [esp + 0x98]
add ecx, ebx
nop
test eax, eax
je 0x5a418c
lea ebx, [esp + 0x98]
cmp eax, ebx
je 0x5a419a
jmp 0x5a4242
lea eax, [esp + 0x98]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xa4]
mov ebx, dword [esp + 0xa0]
lea ebp, [ebx + edx]
mov esi, dword [esp + 0x9c]
cmp eax, ebp
jae 0x5a41f8
mov dword [esp + 0x64], edx
mov dword [esp + 0x7c], ecx
mov dword [esp + 0x60], ebx
mov dword [esp], esi
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
lea eax, [0x5f3fe0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ebp, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x64]
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x64], eax
mov dword [esp + 0x60], ebp
mov dword [esp + 0xbc], esi
add ebx, esi
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.memmove
mov eax, dword [esp + 0x60]
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x9c], eax
jmp 0x5a331a
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov ecx, eax
mov eax, ebx
call sym.runtime.panicSliceB
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
mov eax, ebx
mov ecx, edx
call sym.runtime.panicSliceB
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
lea eax, [0x5f3f60]
mov dword [esp], eax
lea eax, [0x6678d4]
mov dword [esp + 4], eax
call sym.runtime.gopanic
nop
call sym.runtime.morestack_noctxt
jmp sym.mime.FormatMediaType