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

Disassembly:
mov ecx, dword [0x776294]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4f591d
add esp, 0xffffff80
mov eax, 0
mov dword [esp + 0x7c], eax
mov byte [esp + 0x23], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0x98], 0
mov dword [esp + 0x9c], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x78], 0
lea ebx, [sym.text_tabwriter._Writer_.Write.deferwrap1]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x74], ebx
lea ebp, [esp + 0x98]
mov dword [esp + 0x78], ebp
lea ebp, [esp + 0x70]
mov dword [esp + 0x7c], ebp
mov byte [esp + 0x23], 1
mov dword [esp + 0x94], 0
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
xor eax, eax
jmp 0x4f50a9
inc eax
cmp ebp, eax
jle 0x4f57cf
mov dword [esp + 0x3c], eax
movzx edi, byte [ebx + 0x3c]
movzx ecx, byte [esi + eax]
xchg edi, eax
test al, al
xchg edi, eax
jne 0x4f569a
mov byte [esp + 0x22], cl
cmp cl, 0x26
ja 0x4f53cc
lea edi, [ecx - 9]
xchg edi, eax
cmp al, 3
xchg edi, eax
jbe 0x4f50e9
cmp cl, 0x26
je 0x4f53d5
jmp 0x4f50a8
mov edx, dword [esp + 0x94]
cmp eax, edx
jb 0x4f590a
sub eax, edx
mov dword [esp + 0x34], eax
mov ebp, dword [esp + 0x90]
sub ebp, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
mov ebp, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x24]
lea edi, [eax + ecx]
add edx, esi
mov esi, dword [ebx + 0x20]
cmp ebp, edi
jae 0x4f5162
mov dword [esp + 0x60], edx
mov dword [esp + 0x4c], ecx
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x5c2bc0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x60]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x6c], esi
mov dword [esp + 0x48], edi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sym.runtime.memmove
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x84]
mov dword [eax + 0x24], ecx
mov edx, dword [esp + 0x4c]
mov dword [eax + 0x28], edx
mov ebx, dword [0x776350]
test ebx, ebx
jne 0x4f51a5
mov ebx, dword [esp + 0x6c]
jmp 0x4f51b6
call sym.runtime.gcWriteBarrier2
mov ebx, dword [esp + 0x6c]
mov dword [edi], ebx
mov ebp, dword [eax + 0x20]
mov dword [edi + 4], ebp
mov dword [eax + 0x20], ebx
mov ebp, dword [esp + 0x34]
add dword [eax + 0x30], ebp
mov ebp, dword [eax + 0x2c]
nop
cmp ecx, ebp
jb 0x4f5903
mov eax, dword [esp + 0x3c]
lea esi, [eax + 1]
mov dword [esp + 0x4c], esi
sub edx, ebp
sub ecx, ebp
mov edi, edx
neg edx
sar edx, 0x1f
and ebp, edx
lea edx, [ebx + ebp]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
call sym.unicode_utf8.RuneCount
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x84]
add dword [ecx + 0x34], eax
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x94], eax
movzx eax, byte [esp + 0x22]
cmp al, 9
sete dl
mov byte [ecx + 0x38], dl
mov ebx, dword [ecx + 0x44]
lea ebp, [ebx - 1]
cmp ebx, ebp
jbe 0x4f58fa
mov byte [esp + 0x21], dl
lea ebx, [ebx + ebx*2]
mov ebp, dword [ecx + 0x40]
mov esi, dword [ebp + ebx*4 - 4]
mov edi, dword [ebp + ebx*4 - 8]
inc edi
lea eax, [ebp + ebx*4 - 0xc]
mov dword [esp + 0x64], eax
mov eax, dword [ebp + ebx*4 - 0xc]
mov edx, dword [ecx + 0x30]
mov ecx, dword [ecx + 0x34]
cmp esi, edi
jae 0x4f52cd
mov dword [esp + 0x4c], ebx
mov dword [esp + 0x48], ecx
mov dword [esp + 0x44], edx
mov dword [esp + 0x68], ebp
mov dword [esp], eax
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov dword [esp + 0xc], 1
lea eax, [0x5d62e0]
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 + 0x4c]
mov ebp, dword [esp + 0x68]
mov dword [ebp + ebx*4 - 4], eax
mov eax, dword [0x776350]
test eax, eax
je 0x4f52bd
call sym.runtime.gcWriteBarrier2
mov dword [edi], ecx
mov esi, dword [ebp + ebx*4 - 0xc]
mov dword [edi + 4], esi
mov dword [ebp + ebx*4 - 0xc], ecx
mov edi, edx
mov eax, ecx
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov dword [ebp + ebx*4 - 8], edi
lea ebx, [edi + edi*2]
mov dword [eax + ebx*4 - 0xc], edx
mov dword [eax + ebx*4 - 8], ecx
lea ebx, [eax + ebx*4 - 4]
movzx ebp, byte [esp + 0x21]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov ebx, dword [esp + 0x84]
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x34], 0
mov byte [ebx + 0x38], 0
mov ebp, dword [esp + 0x64]
mov ebp, dword [ebp + 4]
mov dword [esp + 0x40], ebp
movzx esi, byte [esp + 0x22]
xchg esi, eax
cmp al, 0xa
xchg esi, eax
je 0x4f5324
xchg esi, eax
cmp al, 0xc
xchg esi, eax
jne 0x4f53b5
mov dword [esp], ebx
xchg esi, eax
cmp al, 0xc
xchg esi, eax
sete al
mov byte [esp + 4], al
call sym.text_tabwriter._Writer_.addLine
movzx eax, byte [esp + 0x22]
cmp al, 0xc
je 0x4f5354
mov ebx, dword [esp + 0x40]
cmp ebx, 1
je 0x4f5354
mov ebx, dword [esp + 0x84]
jmp 0x4f53b5
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call sym.text_tabwriter._Writer_.flushNoDefers
movzx eax, byte [esp + 0x22]
cmp al, 0xc
jne 0x4f53ae
mov ebx, dword [esp + 0x84]
mov ebp, dword [ebx + 0x1c]
test ebp, 0x20
je 0x4f53b5
mov eax, dword [str.____n_]
mov ecx, dword [0x730cac]
mov edx, dword [0x730cb0]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
call sym.text_tabwriter._Writer_.write0
mov ebx, dword [esp + 0x84]
jmp 0x4f53b5
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
jmp 0x4f50a8
cmp cl, 0x3c
jne 0x4f5540
mov edi, dword [ebx + 0x1c]
test edi, 1
je 0x4f50a8
mov edx, dword [esp + 0x94]
cmp eax, edx
jb 0x4f58f1
sub eax, edx
mov dword [esp + 0x2c], eax
mov ebp, dword [esp + 0x90]
sub ebp, edx
xchg ebp, ebx
neg ebx
xchg ebp, ebx
sar ebp, 0x1f
and edx, ebp
mov ebp, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x24]
lea edi, [eax + ecx]
add edx, esi
mov esi, dword [ebx + 0x20]
cmp ebp, edi
jae 0x4f545d
mov dword [esp + 0x58], edx
mov dword [esp + 0x4c], ecx
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], ebp
mov dword [esp + 0xc], eax
lea ecx, [0x5c2bc0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x4c]
mov edx, dword [esp + 0x58]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x48], edi
mov dword [esp + 0x6c], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sym.runtime.memmove
mov ecx, dword [esp + 0x48]
mov eax, dword [esp + 0x84]
mov dword [eax + 0x24], ecx
mov edx, dword [esp + 0x4c]
mov dword [eax + 0x28], edx
mov ebx, dword [0x776350]
test ebx, ebx
jne 0x4f54a0
mov ebx, dword [esp + 0x6c]
jmp 0x4f54b1
call sym.runtime.gcWriteBarrier2
mov ebx, dword [esp + 0x6c]
mov dword [edi], ebx
mov ebp, dword [eax + 0x20]
mov dword [edi + 4], ebp
mov dword [eax + 0x20], ebx
mov ebp, dword [esp + 0x2c]
add dword [eax + 0x30], ebp
mov ebp, dword [eax + 0x2c]
nop
cmp ecx, ebp
jb 0x4f58ea
sub edx, ebp
sub ecx, ebp
mov eax, edx
neg edx
sar edx, 0x1f
and ebp, edx
lea edx, [ebx + ebp]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.unicode_utf8.RuneCount
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x84]
add dword [ecx + 0x34], eax
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x94], eax
nop
movzx edx, byte [esp + 0x22]
cmp dl, 0x26
jne 0x4f5517
mov byte [ecx + 0x3c], 0x3b
jmp 0x4f552b
cmp dl, 0x3c
jne 0x4f5522
mov byte [ecx + 0x3c], 0x3e
jmp 0x4f552b
cmp dl, 0xff
jne 0x4f552b
mov byte [ecx + 0x3c], 0xff
mov ebx, ecx
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
jmp 0x4f50a8
cmp cl, 0xff
jne 0x4f50a8
mov edx, dword [esp + 0x94]
cmp eax, edx
jb 0x4f58e1
sub eax, edx
mov dword [esp + 0x30], eax
mov edi, dword [esp + 0x90]
sub edi, edx
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and edx, edi
mov edi, dword [ebx + 0x28]
mov ebp, dword [ebx + 0x24]
lea ecx, [eax + ebp]
add edx, esi
mov esi, dword [ebx + 0x20]
cmp edi, ecx
jae 0x4f55c2
mov dword [esp + 0x5c], edx
mov dword [esp + 0x4c], ebp
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
lea ecx, [0x5c2bc0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edi, dword [esp + 0x1c]
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x5c]
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x48], edi
lea ebx, [esi + ebp]
mov dword [esp], ebx
mov dword [esp + 4], edx
mov dword [esp + 8], eax
call sym.runtime.memmove
mov ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x84]
mov dword [eax + 0x24], ecx
mov edx, dword [esp + 0x48]
mov dword [eax + 0x28], edx
mov ebx, dword [0x776350]
test ebx, ebx
jne 0x4f5606
mov ebx, dword [esp + 0x6c]
jmp 0x4f5617
call sym.runtime.gcWriteBarrier2
mov ebx, dword [esp + 0x6c]
mov dword [edi], ebx
mov ebp, dword [eax + 0x20]
mov dword [edi + 4], ebp
mov dword [eax + 0x20], ebx
mov ebp, dword [esp + 0x30]
add dword [eax + 0x30], ebp
mov ebp, dword [eax + 0x2c]
nop
cmp ecx, ebp
jb 0x4f58da
sub edx, ebp
sub ecx, ebp
mov eax, edx
neg edx
sar edx, 0x1f
and ebp, edx
lea edx, [ebx + ebp]
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
call sym.unicode_utf8.RuneCount
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x84]
add dword [ecx + 0x34], eax
mov eax, dword [ecx + 0x24]
mov dword [ecx + 0x2c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x94], eax
mov edx, dword [ecx + 0x1c]
test edx, 2
je 0x4f5681
lea ebx, [eax + 1]
mov dword [esp + 0x94], ebx
mov byte [ecx + 0x3c], 0xff
mov ebx, ecx
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
jmp 0x4f50a8
xchg edi, eax
cmp al, cl
xchg edi, eax
jne 0x4f50a8
lea edi, [eax + 1]
cmp cl, 0xff
jne 0x4f56bb
mov ecx, dword [ebx + 0x1c]
test ecx, 2
je 0x4f56bb
mov ecx, eax
jmp 0x4f56bf
mov ecx, eax
mov eax, edi
mov edx, dword [esp + 0x90]
cmp edx, eax
jb 0x4f58d3
mov ebp, dword [esp + 0x94]
cmp eax, ebp
jb 0x4f58ca
mov dword [esp + 0x38], edi
sub eax, ebp
mov dword [esp + 0x28], eax
sub edx, ebp
neg edx
sar edx, 0x1f
and ebp, edx
mov edx, dword [ebx + 0x28]
mov ecx, dword [ebx + 0x24]
lea edi, [eax + ecx]
add ebp, esi
mov esi, dword [ebx + 0x20]
cmp edx, edi
jae 0x4f5740
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x54], ebp
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
lea ecx, [0x5c2bc0]
mov dword [esp + 0x10], ecx
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x4c]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x48], edi
mov dword [esp + 0x6c], esi
add ecx, esi
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov dword [esp + 8], eax
call sym.runtime.memmove
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x84]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx + 0x28], eax
mov eax, dword [0x776350]
test eax, eax
jne 0x4f5783
mov eax, dword [esp + 0x6c]
jmp 0x4f5794
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0x6c]
mov dword [edi], eax
mov edx, dword [ecx + 0x20]
mov dword [edi + 4], edx
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x28]
add dword [ecx + 0x30], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x94], eax
mov dword [esp], ecx
call sym.text_tabwriter._Writer_.endEscape
mov eax, dword [esp + 0x3c]
mov ebx, dword [esp + 0x84]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
jmp 0x4f50a8
mov eax, dword [esp + 0x94]
cmp ebp, eax
jb 0x4f58c3
sub ebp, eax
mov dword [esp + 0x24], ebp
mov edx, dword [esp + 0x90]
sub edx, eax
neg edx
sar edx, 0x1f
and eax, edx
mov edx, dword [ebx + 0x28]
mov edi, dword [ebx + 0x24]
lea ecx, [ebp + edi]
add eax, esi
mov esi, dword [ebx + 0x20]
cmp edx, ecx
jae 0x4f5845
mov dword [esp + 0x4c], edi
mov dword [esp + 0x50], eax
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
lea eax, [0x5c2bc0]
mov dword [esp + 0x10], eax
call sym.runtime.growslice
mov esi, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0x50]
mov ebp, dword [esp + 0x24]
mov edi, dword [esp + 0x4c]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x48], ecx
lea ebx, [esi + edi]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov dword [esp + 8], ebp
call sym.runtime.memmove
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x84]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x4c]
mov dword [ecx + 0x28], eax
mov eax, dword [0x776350]
test eax, eax
jne 0x4f5889
mov eax, dword [esp + 0x6c]
jmp 0x4f589a
call sym.runtime.gcWriteBarrier2
mov eax, dword [esp + 0x6c]
mov dword [edi], eax
mov ebx, dword [ecx + 0x20]
mov dword [edi + 4], ebx
mov dword [ecx + 0x20], eax
mov eax, dword [esp + 0x24]
add dword [ecx + 0x30], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x94], eax
mov byte [esp + 0x23], 0
mov edx, dword [esp + 0x7c]
mov eax, dword [edx]
call eax
sub esp, 0xffffff80
ret
mov ecx, ebp
call sym.runtime.panicSliceB
mov ecx, eax
mov eax, ebp
call sym.runtime.panicSliceB
mov ecx, eax
call sym.runtime.panicSliceAcap
mov eax, ebp
call sym.runtime.panicSliceB
mov ecx, eax
mov eax, edx
call sym.runtime.panicSliceB
mov eax, ebp
call sym.runtime.panicSliceB
mov ecx, eax
mov eax, edx
call sym.runtime.panicSliceB
mov eax, ebp
mov ecx, ebx
call sym.runtime.panicIndex
mov eax, ebp
call sym.runtime.panicSliceB
mov ecx, eax
mov eax, edx
call sym.runtime.panicSliceB
nop
call sym.runtime.deferreturn
sub esp, 0xffffff80
ret
call sym.runtime.morestack_noctxt
jmp sym.text_tabwriter._Writer_.Write