Function at 0x4a6990
Capabilities:
Enumerate pe sections

Disassembly:
mov ecx, dword [0x5ad388]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4a708f
sub esp, 0x78
mov eax, dword [esp + 0x7c]
movzx ecx, byte [eax + 5]
test cl, cl
je 0x4a69b8
mov ecx, dword [eax + 0x14]
jmp 0x4a69bf
mov ecx, dword [esp + 0x90]
mov dword [esp + 0x40], ecx
lea edx, [eax + 0x18]
mov dword [esp], edx
mov dword [esp + 4], 1
mov dword [esp + 8], 0x44
movsd xmm0, qword [esp + 0x80]
movsd qword [esp + 0xc], xmm0
mov edx, dword [esp + 0x8c]
mov byte [esp + 0x14], dl
mov dword [esp + 0x18], ecx
mov ebx, dword [esp + 0x88]
mov dword [esp + 0x1c], ebx
call sym.strconv.genericFtoa
mov ecx, dword [esp + 0x24]
cmp ecx, 1
jbe 0x4a7084
mov edx, dword [esp + 0x20]
movzx ebx, byte [edx + 1]
mov ebp, dword [esp + 0x28]
cmp bl, 0x2d
je 0x4a6a2a
cmp bl, 0x2b
jne 0x4a6a2f
dec ebp
inc edx
dec ecx
jmp 0x4a6a32
mov byte [edx], 0x2b
mov ebx, dword [esp + 0x7c]
movzx esi, byte [ebx + 9]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4a6a5a
test ecx, ecx
jbe 0x4a707b
cmp byte [edx], 0x2b
jne 0x4a6a5a
movzx esi, byte [ebx + 7]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4a6a5a
mov byte [edx], 0x20
cmp ecx, 1
jbe 0x4a7071
movzx esi, byte [edx + 1]
xchg esi, eax
cmp al, 0x49
xchg esi, eax
je 0x4a6b15
xchg esi, eax
cmp al, 0x4e
xchg esi, eax
je 0x4a6b15
movzx esi, byte [ebx + 8]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4a6b62
mov esi, dword [esp + 0x8c]
cmp esi, 0x62
je 0x4a6b62
cmp esi, 0x67
jg 0x4a6aac
cmp esi, 0x47
je 0x4a6ab6
cmp esi, 0x67
je 0x4a6ab6
jmp 0x4a6ac6
cmp esi, 0x76
je 0x4a6ab6
cmp esi, 0x78
jne 0x4a6ac6
mov eax, dword [esp + 0x40]
cmp eax, 0xffffffff
jne 0x4a6ac8
mov eax, 6
jmp 0x4a6ac8
xor eax, eax
mov dword [esp + 0x68], edx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x2e], 0
mov word [esp + 0x32], 0
mov edi, 1
xor edi, edi
xchg edi, eax
mov byte [esp + 0x34], al
xchg edi, eax
xor edi, edi
xchg edi, eax
mov byte [esp + 0x36], al
xchg edi, eax
xor edi, edi
mov dword [esp + 0x38], edi
mov edi, 6
mov dword [esp + 0x3c], edi
lea edi, [esp + 0x2e]
mov dword [esp + 0x60], edi
mov edi, 1
jmp 0x4a6d7e
movzx eax, byte [ebx + 0xa]
mov byte [esp + 0x35], al
mov byte [ebx + 0xa], 0
cmp byte [edx + 1], 0x4e
jne 0x4a6b3e
movzx esi, byte [ebx + 9]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4a6b3e
movzx esi, byte [ebx + 7]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4a6b3e
dec ebp
inc edx
dec ecx
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
call sym.fmt._fmt_.pad
movzx eax, byte [esp + 0x35]
mov ecx, dword [esp + 0x7c]
mov byte [ecx + 0xa], al
add esp, 0x78
ret
movzx esi, byte [ebx + 7]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4a6b7d
test ecx, ecx
jbe 0x4a6d6c
cmp byte [edx], 0x2b
je 0x4a6d39
movzx esi, byte [ebx + 0xa]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4a6d21
movzx esi, byte [ebx + 6]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4a6d21
movzx esi, byte [ebx + 4]
xchg esi, eax
test al, al
xchg esi, eax
je 0x4a6d21
cmp dword [ebx + 0x10], ecx
jle 0x4a6d21
test ecx, ecx
jbe 0x4a6d63
mov dword [esp + 0x68], edx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x4c], ebp
mov eax, dword [ebx]
mov esi, dword [eax + 8]
mov edi, dword [eax + 4]
inc edi
movzx edx, byte [edx]
mov ebp, dword [eax]
cmp esi, edi
jae 0x4a6c3e
mov dword [esp + 0x70], eax
mov byte [esp + 0x37], dl
mov dword [esp], ebp
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x4c67a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0x70]
mov dword [ebx + 8], eax
mov eax, dword [0x5ad470]
test eax, eax
je 0x4a6c29
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [ebx]
mov dword [edi + 4], eax
mov dword [ebx], ecx
mov eax, ebx
mov ebx, dword [esp + 0x7c]
mov edi, edx
mov ebp, ecx
mov ecx, dword [esp + 0x48]
movzx edx, byte [esp + 0x37]
mov dword [eax + 4], edi
mov byte [edi + ebp - 1], dl
mov eax, dword [ebx + 0x10]
mov dword [esp], ebx
sub eax, ecx
mov dword [esp + 4], eax
call sym.fmt._fmt_.writePadding
mov eax, dword [esp + 0x7c]
mov eax, dword [eax]
mov dword [esp + 0x6c], eax
mov ecx, dword [esp + 0x4c]
dec ecx
neg ecx
sar ecx, 0x1f
and ecx, 1
mov edx, dword [eax + 8]
mov ebx, dword [eax + 4]
mov ebp, dword [esp + 0x48]
lea esi, [ebp + ebx - 1]
mov edi, dword [esp + 0x68]
add ecx, edi
dec ebp
mov edi, dword [eax]
cmp edx, esi
jae 0x4a6cca
mov dword [esp + 0x5c], ebx
mov dword [esp + 0x44], ebp
mov dword [esp + 0x64], ecx
mov dword [esp], edi
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
lea eax, [0x4c67a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x64]
mov ebx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], esi
mov dword [esp + 0x74], edi
lea eax, [edi + ebx]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
call sym.runtime.memmove
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x6c]
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x5c]
mov dword [ecx + 8], eax
mov eax, dword [0x5ad470]
test eax, eax
jne 0x4a6d0b
mov eax, dword [esp + 0x74]
jmp 0x4a6d1b
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0x74]
mov dword [edi], eax
mov edx, dword [ecx]
mov dword [edi + 4], edx
mov dword [ecx], eax
add esp, 0x78
ret
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebp
call sym.fmt._fmt_.pad
add esp, 0x78
ret
mov dword [esp], ebx
lea eax, [ebp - 1]
mov ebx, eax
neg eax
sar eax, 0x1f
and eax, 1
add eax, edx
mov dword [esp + 4], eax
lea eax, [ecx - 1]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
call sym.fmt._fmt_.pad
add esp, 0x78
ret
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
inc edi
mov byte [esp + 0x34], bl
mov ebx, dword [esp + 0x7c]
cmp ecx, edi
jle 0x4a6f51
mov dword [esp + 0x50], edi
mov dword [esp + 0x54], eax
movzx ebx, byte [edx + edi]
cmp bl, 0x45
ja 0x4a6dbb
cmp bl, 0x2e
jne 0x4a6db1
movzx ebx, byte [esp + 0x34]
mov ebx, 1
mov byte [esp + 0x36], bl
movzx ebx, byte [esp + 0x34]
jmp 0x4a6d75
cmp bl, 0x45
je 0x4a6dcd
jmp 0x4a6e8d
cmp bl, 0x50
je 0x4a6ea8
cmp bl, 0x65
jne 0x4a6e88
cmp esi, 0x78
je 0x4a6e8d
cmp esi, 0x58
je 0x4a6e8d
sub ebp, edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edi
sub ecx, edi
mov ebx, dword [esp + 0x38]
lea esi, [ebx + ecx]
add ebp, edx
mov edx, dword [esp + 0x3c]
cmp edx, esi
jae 0x4a6e47
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x74], ebp
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
lea eax, [0x4c67a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x60], eax
mov edx, ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x60]
add ebx, eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov edx, dword [esp + 0x68]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x50]
mov ecx, edi
movzx ebx, byte [esp + 0x34]
mov eax, dword [esp + 0x54]
jmp 0x4a6d75
cmp bl, 0x70
je 0x4a6ea8
cmp bl, 0x30
setne bl
movzx ebp, byte [esp + 0x34]
or ebx, ebp
test bl, bl
je 0x4a6e9f
dec eax
mov ebp, dword [esp + 0x4c]
jmp 0x4a6d75
sub ebp, edi
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and ebp, edi
sub ecx, edi
mov ebx, dword [esp + 0x38]
lea esi, [ebx + ecx]
add ebp, edx
mov edx, dword [esp + 0x3c]
cmp edx, esi
jae 0x4a6f10
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x74], ebp
mov eax, dword [esp + 0x60]
mov dword [esp], eax
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
lea eax, [0x4c67a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov eax, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x74]
mov dword [esp + 0x60], eax
mov edx, ecx
mov ecx, dword [esp + 0x5c]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x60]
add ebx, eax
mov dword [esp], ebx
mov dword [esp + 4], ebp
mov dword [esp + 8], ecx
call sym.runtime.memmove
mov edx, dword [esp + 0x68]
mov ebp, dword [esp + 0x4c]
mov esi, dword [esp + 0x8c]
mov edi, dword [esp + 0x50]
mov ecx, edi
movzx ebx, byte [esp + 0x34]
mov eax, dword [esp + 0x54]
jmp 0x4a6d75
movzx esi, byte [esp + 0x36]
xchg esi, eax
test al, al
xchg esi, eax
jne 0x4a6fb4
cmp ecx, 2
jne 0x4a6f68
cmp byte [edx + 1], 0x30
jne 0x4a6f68
dec eax
inc ecx
cmp ebp, ecx
jae 0x4a6fa7
mov dword [esp + 0x58], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4c67a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x58]
mov ebx, dword [esp + 0x7c]
mov byte [ecx + edx - 1], 0x2e
jmp 0x4a6fb4
mov byte [ecx + edx - 1], 0x30
dec eax
test eax, eax
jle 0x4a6ff9
inc ecx
cmp ebp, ecx
jae 0x4a6fae
mov dword [esp + 0x54], eax
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], ebp
mov dword [esp + 0xc], 1
lea eax, [0x4c67a0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov edx, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x54]
mov ebx, dword [esp + 0x7c]
jmp 0x4a6fae
mov eax, dword [esp + 0x38]
lea esi, [eax + ecx]
cmp ebp, esi
jae 0x4a703a
mov dword [esp + 0x48], ecx
mov dword [esp], edx
mov dword [esp + 4], esi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x4c67a0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov edx, dword [esp + 0x14]
mov esi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x48], esi
mov dword [esp + 0x68], edx
mov dword [esp + 0x4c], ebp
add ecx, edx
mov dword [esp], ecx
mov ecx, dword [esp + 0x60]
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.runtime.memmove
mov ebx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x68]
mov ebp, dword [esp + 0x4c]
jmp 0x4a6b62
mov eax, 1
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
mov eax, 1
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.fmt._fmt_.fmtFloat