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

Disassembly:
mov ecx, dword [0x61c868]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
lea eax, [esp - 0x2c]
cmp eax, dword [ecx + 8]
jbe 0x4b615b
sub esp, 0xac
mov eax, dword [esp + 0xc4]
test eax, eax
jg 0x4b4fdd
xor ecx, ecx
jmp 0x4b5049
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.IsValid
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4b5016
mov eax, dword [esp + 0xc4]
xor ecx, ecx
jmp 0x4b5049
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.CanInterface
movzx eax, byte [esp + 0xc]
mov ecx, eax
mov eax, dword [esp + 0xc4]
test cl, cl
je 0x4b50c5
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.Interface
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xb0]
mov dword [edx + 0xc], eax
mov eax, dword [0x61c998]
test eax, eax
je 0x4b509b
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov eax, dword [edx + 0x10]
mov dword [edi + 4], eax
mov dword [edx + 0x10], ecx
mov dword [esp], edx
mov eax, dword [esp + 0xc0]
mov dword [esp + 4], eax
call sym.fmt._pp_.handleMethods
movzx eax, byte [esp + 8]
test al, al
jne 0x4b5bcb
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xb0]
mov dword [ecx + 0xc], 0
mov edx, dword [0x61c998]
test edx, edx
jne 0x4b50ed
mov edx, dword [esp + 0xb4]
mov ebx, dword [esp + 0xb8]
jmp 0x4b5117
mov edx, dword [ecx + 0x10]
call sym.runtime.gcWriteBarrier5
mov dword [edi], edx
mov edx, dword [esp + 0xb4]
mov dword [edi + 4], edx
mov ebx, dword [ecx + 0x14]
mov dword [edi + 8], ebx
mov ebx, dword [esp + 0xb8]
mov dword [edi + 0xc], ebx
mov ebp, dword [ecx + 0x18]
mov dword [edi + 0x10], ebp
mov dword [ecx + 0x10], 0
mov eax, dword [esp + 0xbc]
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x14], edx
mov dword [ecx + 0x18], ebx
mov dword [esp], edx
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call sym.reflect.Value.Kind
mov eax, dword [esp + 0xc]
cmp eax, 0x10
jbe 0x4b58b1
cmp eax, 0x15
ja 0x4b53bf
cmp eax, 0x13
ja 0x4b5167
cmp eax, 0x11
je 0x4b53d1
jmp 0x4b57e8
cmp eax, 0x14
je 0x4b5287
mov eax, dword [esp + 0xb0]
movzx ecx, byte [eax + 0x2c]
test cl, cl
jne 0x4b519e
mov dword [esp], eax
lea ecx, [0x524f49]
mov dword [esp + 4], ecx
mov dword [esp + 8], 4
call sym.fmt._buffer_.writeString
jmp 0x4b5227
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.Type
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x94]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
call sym.fmt._buffer_.writeString
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.IsNil
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4b525f
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov byte [esp + 4], 0x7b
call sym.fmt._buffer_.writeByte
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
call sym.internal_fmtsort.Sort
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x40], ecx
xor edx, edx
jmp 0x4b60c9
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
lea eax, [0x5250ae]
mov dword [esp + 4], eax
mov dword [esp + 8], 5
call sym.fmt._buffer_.writeString
add esp, 0xac
ret
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.Elem
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x64], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.reflect.Value.IsValid
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4b537c
mov eax, dword [esp + 0xb0]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4b535d
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
call sym.reflect.Value.Type
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x94]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
call sym.fmt._buffer_.writeString
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
lea eax, [0x5250ae]
mov dword [esp + 4], eax
mov dword [esp + 8], 5
call sym.fmt._buffer_.writeString
jmp 0x4b5bd2
mov dword [esp], eax
lea eax, [0x525027]
mov dword [esp + 4], eax
mov dword [esp + 8], 5
call sym.fmt._buffer_.writeString
jmp 0x4b5bd2
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc4]
inc eax
mov dword [esp + 0x14], eax
call sym.fmt._pp_.printValue
jmp 0x4b5bd2
cmp eax, 0x17
ja 0x4b5764
cmp eax, 0x16
je 0x4b564a
mov eax, dword [esp + 0xc0]
cmp eax, 0x71
jg 0x4b53ec
cmp eax, 0x58
je 0x4b53fa
cmp eax, 0x71
je 0x4b53fa
jmp 0x4b5543
cmp eax, 0x73
je 0x4b53fa
cmp eax, 0x78
jne 0x4b5543
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.Type
mov eax, dword [esp + 0xc]
mov dword [esp + 0x3c], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x68], ecx
mov edx, dword [eax + 0x2c]
mov dword [esp], ecx
call edx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov eax, dword [eax + 0x54]
mov dword [esp], ecx
call eax
cmp dword [esp + 4], 8
je 0x4b545a
mov eax, dword [esp + 0xc0]
jmp 0x4b5543
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.Kind
cmp dword [esp + 0xc], 0x17
jne 0x4b548d
mov eax, 1
jmp 0x4b54b7
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.CanAddr
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4b550d
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.Len
mov eax, dword [esp + 0xc]
mov dword [esp + 0x58], eax
lea ecx, [0x506260]
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], eax
call sym.runtime.makeslice
mov eax, dword [esp + 0xc]
mov dword [esp + 0x70], eax
xor ecx, ecx
jmp 0x4b600a
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
call sym.reflect.Value.Bytes
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
jmp 0x4b5f47
mov ecx, dword [esp + 0xb0]
movzx edx, byte [ecx + 0x2c]
test dl, dl
jne 0x4b5566
mov dword [esp], ecx
mov byte [esp + 4], 0x5b
call sym.fmt._buffer_.writeByte
xor eax, eax
jmp 0x4b5ed6
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.Type
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x94]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
call sym.fmt._buffer_.writeString
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.Kind
cmp dword [esp + 0xc], 0x17
jne 0x4b5607
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.IsNil
movzx eax, byte [esp + 0xc]
test al, al
jne 0x4b5622
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov byte [esp + 4], 0x7b
call sym.fmt._buffer_.writeByte
xor eax, eax
jmp 0x4b5dea
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
lea eax, [0x5250ae]
mov dword [esp + 4], eax
mov dword [esp + 8], 5
call sym.fmt._buffer_.writeString
add esp, 0xac
ret
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x4b5659
xor ecx, ecx
jmp 0x4b5690
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.UnsafePointer
mov eax, dword [esp + 0xc]
test eax, eax
setne al
mov ecx, eax
mov eax, dword [esp + 0xc4]
test cl, cl
je 0x4b57e8
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.Elem
mov eax, dword [esp + 0xc]
mov dword [esp + 0x74], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x70], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x64], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.reflect.Value.Kind
mov eax, dword [esp + 0xc]
cmp eax, 0x15
ja 0x4b56fd
cmp eax, 0x11
je 0x4b570b
cmp eax, 0x15
je 0x4b570b
jmp 0x4b57e8
cmp eax, 0x17
je 0x4b570b
cmp eax, 0x19
jne 0x4b57e8
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov byte [esp + 4], 0x26
call sym.fmt._buffer_.writeByte
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x64]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0xc4]
inc eax
mov dword [esp + 0x14], eax
call sym.fmt._pp_.printValue
add esp, 0xac
ret
cmp eax, 0x18
je 0x4b585d
cmp eax, 0x19
jne 0x4b57e3
mov eax, dword [esp + 0xb0]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4b57cf
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.Type
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x94]
mov dword [esp], ecx
call eax
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
call sym.fmt._buffer_.writeString
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov byte [esp + 4], 0x7b
call sym.fmt._buffer_.writeByte
xor eax, eax
jmp 0x4b5c47
cmp eax, 0x1a
jne 0x4b5828
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
call sym.fmt._pp_.fmtPointer
jmp 0x4b5bd2
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov eax, dword [esp + 0xb4]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0xc], eax
call sym.fmt._pp_.unknownType
jmp 0x4b5bd2
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
call sym.reflect.Value.String
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xb0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov eax, dword [esp + 0xc0]
mov dword [esp + 0xc], eax
call sym.fmt._pp_.fmtString
jmp 0x4b5bd2
cmp eax, 0xc
ja 0x4b5a46
cmp eax, 1
ja 0x4b598f
test eax, eax
jne 0x4b5942
mov eax, dword [esp + 0xc4]
test eax, eax
je 0x4b591c
mov eax, dword [esp + 0xc0]
cmp eax, 0x76
jne 0x4b5904
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
lea eax, [0x525027]
mov dword [esp + 4], eax
mov dword [esp + 8], 5
call sym.fmt._buffer_.writeString
jmp 0x4b5bd2
mov ecx, dword [esp + 0xb0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call sym.fmt._pp_.badVerb
jmp 0x4b5bd2
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
lea eax, [0x52a771]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x17
call sym.fmt._buffer_.writeString
jmp 0x4b5bd2
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
call sym.reflect.Value.Bool
movzx eax, byte [esp + 0xc]
mov ecx, dword [esp + 0xb0]
mov dword [esp], ecx
mov byte [esp + 4], al
mov eax, dword [esp + 0xc0]
mov dword [esp + 8], eax
call sym.fmt._pp_.fmtBool
jmp 0x4b5bd2
cmp eax, 6
ja 0x4b59ed
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
call sym.reflect.Value.Int
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xb0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 1
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
call sym.fmt._pp_.fmtInteger
jmp 0x4b5bd2
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
call sym.reflect.Value.Uint
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xb0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 0
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
call sym.fmt._pp_.fmtInteger
jmp 0x4b5bd2
cmp eax, 0xe
ja 0x4b5b04
cmp eax, 0xd
jne 0x4b5aac
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
call sym.reflect.Value.Float
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x20
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
call sym.fmt._pp_.fmtFloat
jmp 0x4b5bd2
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
call sym.reflect.Value.Float
movsd xmm0, qword [esp + 0xc]
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
mov dword [esp + 0xc], 0x40
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
call sym.fmt._pp_.fmtFloat
jmp 0x4b5bd2
cmp eax, 0xf
jne 0x4b5b6a
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
call sym.reflect.Value.Complex
movsd xmm0, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x14]
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], 0x40
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x18], eax
call sym.fmt._pp_.fmtComplex
jmp 0x4b5bd2
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 8], eax
call sym.reflect.Value.Complex
movsd xmm0, qword [esp + 0xc]
movsd xmm1, qword [esp + 0x14]
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
movsd qword [esp + 4], xmm0
movsd qword [esp + 0xc], xmm1
mov dword [esp + 0x14], pe_nt_image_headers32
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x18], eax
call sym.fmt._pp_.fmtComplex
jmp 0x4b5bd2
add esp, 0xac
ret
add esp, 0xac
ret
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call sym.fmt.getField
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xc4]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call sym.fmt._pp_.printValue
mov eax, dword [esp + 0x50]
inc eax
mov dword [esp + 0x50], eax
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 8], ebx
call sym.reflect.Value.NumField
mov eax, dword [esp + 0x50]
cmp dword [esp + 0xc], eax
jle 0x4b5d63
test eax, eax
jle 0x4b5cbe
mov ecx, dword [esp + 0xb0]
movzx edx, byte [ecx + 0x2c]
test dl, dl
je 0x4b5cad
mov dword [esp], ecx
lea eax, [0x524d2f]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call sym.fmt._buffer_.writeString
jmp 0x4b5cba
mov dword [esp], ecx
mov byte [esp + 4], 0x20
call sym.fmt._buffer_.writeByte
mov eax, dword [esp + 0x50]
mov ecx, dword [esp + 0xb0]
movzx edx, byte [ecx + 0x2b]
test dl, dl
jne 0x4b5cd9
movzx edx, byte [ecx + 0x2c]
test dl, dl
je 0x4b5bd9
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov ecx, dword [esp + 0xb8]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0xbc]
mov dword [esp + 8], edx
call sym.reflect.Value.Type
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov eax, dword [eax + 0x30]
mov dword [esp], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], ecx
call eax
lea edi, [esp + 0x78]
lea esi, [esp + 8]
call fcn.0047591e
mov eax, dword [esp + 0x7c]
test eax, eax
je 0x4b5d5a
mov ecx, dword [esp + 0x78]
mov edx, dword [esp + 0xb0]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.fmt._buffer_.writeString
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov byte [esp + 4], 0x3a
call sym.fmt._buffer_.writeByte
mov eax, dword [esp + 0x50]
jmp 0x4b5bd9
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov byte [esp + 4], 0x7d
call sym.fmt._buffer_.writeByte
jmp 0x4b5bd2
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call sym.reflect.Value.Index
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xc4]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call sym.fmt._pp_.printValue
mov eax, dword [esp + 0x48]
inc eax
mov dword [esp + 0x48], eax
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 8], ebx
call sym.reflect.Value.Len
mov eax, dword [esp + 0x48]
cmp dword [esp + 0xc], eax
jle 0x4b5e4f
test eax, eax
jle 0x4b5d7c
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
lea ecx, [0x524d2f]
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call sym.fmt._buffer_.writeString
mov eax, dword [esp + 0x48]
jmp 0x4b5d7c
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov byte [esp + 4], 0x7d
call sym.fmt._buffer_.writeByte
jmp 0x4b5bd2
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
call sym.reflect.Value.Index
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xc4]
lea edx, [ecx + 1]
mov dword [esp + 0x14], edx
call sym.fmt._pp_.printValue
mov eax, dword [esp + 0x44]
inc eax
mov dword [esp + 0x44], eax
mov ecx, dword [esp + 0xb4]
mov dword [esp], ecx
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 8], ebx
call sym.reflect.Value.Len
mov eax, dword [esp + 0x44]
cmp dword [esp + 0xc], eax
jle 0x4b5f2e
test eax, eax
jle 0x4b5e68
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov byte [esp + 4], 0x20
call sym.fmt._buffer_.writeByte
mov eax, dword [esp + 0x44]
jmp 0x4b5e68
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov byte [esp + 4], 0x5d
call sym.fmt._buffer_.writeByte
jmp 0x4b5bd2
mov dword [esp + 0x6c], eax
mov dword [esp + 0x58], ecx
mov dword [esp + 0x5c], edx
mov ebx, dword [esp + 0x3c]
mov ebx, dword [ebx + 0x94]
mov ebp, dword [esp + 0x68]
mov dword [esp], ebp
call ebx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xb0]
mov dword [esp], edx
mov edx, dword [esp + 0x6c]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x58]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x5c]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0xc0]
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], ecx
call sym.fmt._pp_.fmtBytes
add esp, 0xac
ret
mov dword [esp + 0x4c], ecx
mov eax, dword [esp + 0xb4]
mov dword [esp], eax
mov edx, dword [esp + 0xb8]
mov dword [esp + 4], edx
mov ebx, dword [esp + 0xbc]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
call sym.reflect.Value.Index
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.reflect.Value.Uint
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x70]
mov byte [edx + ecx], al
inc ecx
mov eax, edx
mov edx, dword [esp + 0x58]
cmp ecx, edx
jl 0x4b5faf
mov ecx, edx
jmp 0x4b5f47
mov eax, dword [esp + 0x78]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x80]
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0xc4]
lea edx, [ecx + 1]
mov dword [esp + 0x60], edx
mov dword [esp + 0x14], edx
call sym.fmt._pp_.printValue
mov eax, dword [esp + 0xb0]
mov dword [esp], eax
mov byte [esp + 4], 0x3a
call sym.fmt._buffer_.writeByte
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov ebx, dword [esp + 0xb0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov eax, dword [esp + 0xc0]
mov dword [esp + 0x10], eax
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x14], ecx
call sym.fmt._pp_.printValue
mov eax, dword [esp + 0x70]
add eax, 0x18
mov ecx, dword [esp + 0x54]
lea edx, [ecx + 1]
mov ecx, dword [esp + 0x40]
cmp edx, ecx
jge 0x4b6128
mov dword [esp + 0x54], edx
mov dword [esp + 0x70], eax
lea edi, [esp + 0x78]
mov esi, eax
call fcn.00475964
test edx, edx
jle 0x4b6019
mov ecx, dword [esp + 0xb0]
movzx ebx, byte [ecx + 0x2c]
test bl, bl
je 0x4b6116
mov dword [esp], ecx
lea eax, [0x524d2f]
mov dword [esp + 4], eax
mov dword [esp + 8], 2
call sym.fmt._buffer_.writeString
jmp 0x4b6019
mov dword [esp], ecx
mov byte [esp + 4], 0x20
call sym.fmt._buffer_.writeByte
jmp 0x4b6019
mov eax, dword [esp + 0xb0]
movzx ecx, byte [eax + 0x2c]
test cl, cl
je 0x4b6149
mov dword [esp], eax
mov byte [esp + 4], 0x7d
call sym.fmt._buffer_.writeByte
jmp 0x4b5bd2
mov dword [esp], eax
mov byte [esp + 4], 0x5d
call sym.fmt._buffer_.writeByte
jmp 0x4b5bd2
call sym.runtime.morestack_noctxt
jmp sym.fmt._pp_.printValue