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

Disassembly:
mov ecx, dword [0x7b1178]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x507895
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
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 0x507021
inc eax
cmp ebp, eax
jle 0x507747
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 0x507612
mov byte [esp + 0x22], cl
cmp cl, 0x26
ja 0x507344
lea edi, [ecx - 9]
xchg edi, eax
cmp al, 3
xchg edi, eax
jbe 0x507061
cmp cl, 0x26
je 0x50734d
jmp 0x507020
mov edx, dword [esp + 0x94]
cmp eax, edx
jb 0x507882
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 0x5070da
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, [0x5ed720]
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 [0x7b12d0]
test ebx, ebx
jne 0x50711d
mov ebx, dword [esp + 0x6c]
jmp 0x50712e
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 0x50787b
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 0x507872
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 0x507245
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, [0x6031e0]
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 [0x7b12d0]
test eax, eax
je 0x507235
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 0x50729c
xchg esi, eax
cmp al, 0xc
xchg esi, eax
jne 0x50732d
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 0x5072cc
mov ebx, dword [esp + 0x40]
cmp ebx, 1
je 0x5072cc
mov ebx, dword [esp + 0x84]
jmp 0x50732d
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call sym.text_tabwriter._Writer_.flushNoDefers
movzx eax, byte [esp + 0x22]
cmp al, 0xc
jne 0x507326
mov ebx, dword [esp + 0x84]
mov ebp, dword [ebx + 0x1c]
test ebp, 0x20
je 0x50732d
mov eax, dword [str.____n_]
mov ecx, dword [0x7873c4]
mov edx, dword [0x7873c8]
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 0x50732d
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
jmp 0x507020
cmp cl, 0x3c
jne 0x5074b8
mov edi, dword [ebx + 0x1c]
test edi, 1
je 0x507020
mov edx, dword [esp + 0x94]
cmp eax, edx
jb 0x507869
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 0x5073d5
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, [0x5ed720]
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 [0x7b12d0]
test ebx, ebx
jne 0x507418
mov ebx, dword [esp + 0x6c]
jmp 0x507429
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 0x507862
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 0x50748f
mov byte [ecx + 0x3c], 0x3b
jmp 0x5074a3
cmp dl, 0x3c
jne 0x50749a
mov byte [ecx + 0x3c], 0x3e
jmp 0x5074a3
cmp dl, 0xff
jne 0x5074a3
mov byte [ecx + 0x3c], 0xff
mov ebx, ecx
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
jmp 0x507020
cmp cl, 0xff
jne 0x507020
mov edx, dword [esp + 0x94]
cmp eax, edx
jb 0x507859
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 0x50753a
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, [0x5ed720]
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 [0x7b12d0]
test ebx, ebx
jne 0x50757e
mov ebx, dword [esp + 0x6c]
jmp 0x50758f
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 0x507852
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 0x5075f9
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 0x507020
xchg edi, eax
cmp al, cl
xchg edi, eax
jne 0x507020
lea edi, [eax + 1]
cmp cl, 0xff
jne 0x507633
mov ecx, dword [ebx + 0x1c]
test ecx, 2
je 0x507633
mov ecx, eax
jmp 0x507637
mov ecx, eax
mov eax, edi
mov edx, dword [esp + 0x90]
cmp edx, eax
jb 0x50784b
mov ebp, dword [esp + 0x94]
cmp eax, ebp
jb 0x507842
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 0x5076b8
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, [0x5ed720]
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 [0x7b12d0]
test eax, eax
jne 0x5076fb
mov eax, dword [esp + 0x6c]
jmp 0x50770c
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 0x507020
mov eax, dword [esp + 0x94]
cmp ebp, eax
jb 0x50783b
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 0x5077bd
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, [0x5ed720]
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 [0x7b12d0]
test eax, eax
jne 0x507801
mov eax, dword [esp + 0x6c]
jmp 0x507812
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