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

Disassembly:
mov ecx, dword [0x647d6c]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4e456d
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.func1]
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 0x4e3cf9
inc eax
cmp ebp, eax
jle 0x4e441f
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 0x4e42ea
mov byte [esp + 0x22], cl
cmp cl, 0x26
ja 0x4e401c
lea edi, [ecx - 9]
xchg edi, eax
cmp al, 3
xchg edi, eax
jbe 0x4e3d39
cmp cl, 0x26
je 0x4e4025
jmp 0x4e3cf8
mov edx, dword [esp + 0x94]
cmp eax, edx
jb 0x4e455a
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 0x4e3db2
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, [0x51ea80]
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 + 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 [0x647e70]
test ebx, ebx
jne 0x4e3df5
mov ebx, dword [esp + 0x6c]
jmp 0x4e3e06
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 0x4e4553
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 0x4e454a
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 0x4e3f1d
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, [0x52bbe0]
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 [0x647e70]
test eax, eax
je 0x4e3f0d
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 0x4e3f74
xchg esi, eax
cmp al, 0xc
xchg esi, eax
jne 0x4e4005
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 0x4e3fa4
mov ebx, dword [esp + 0x40]
cmp ebx, 1
je 0x4e3fa4
mov ebx, dword [esp + 0x84]
jmp 0x4e4005
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call sym.text_tabwriter._Writer_.flushNoDefers
movzx eax, byte [esp + 0x22]
cmp al, 0xc
jne 0x4e3ffe
mov ebx, dword [esp + 0x84]
mov ebp, dword [ebx + 0x1c]
test ebp, 0x20
je 0x4e4005
mov eax, dword [0x61efd8]
mov ecx, dword [0x61efdc]
mov edx, dword [0x61efe0]
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 0x4e4005
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
jmp 0x4e3cf8
cmp cl, 0x3c
jne 0x4e4190
mov edi, dword [ebx + 0x1c]
test edi, 1
je 0x4e3cf8
mov edx, dword [esp + 0x94]
cmp eax, edx
jb 0x4e4541
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 0x4e40ad
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, [0x51ea80]
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 [0x647e70]
test ebx, ebx
jne 0x4e40f0
mov ebx, dword [esp + 0x6c]
jmp 0x4e4101
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 0x4e453a
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 0x4e4167
mov byte [ecx + 0x3c], 0x3b
jmp 0x4e417b
cmp dl, 0x3c
jne 0x4e4172
mov byte [ecx + 0x3c], 0x3e
jmp 0x4e417b
cmp dl, 0xff
jne 0x4e417b
mov byte [ecx + 0x3c], 0xff
mov ebx, ecx
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
jmp 0x4e3cf8
cmp cl, 0xff
jne 0x4e3cf8
mov edx, dword [esp + 0x94]
cmp eax, edx
jb 0x4e4531
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 0x4e4212
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, [0x51ea80]
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], edi
mov dword [esp + 0x48], ecx
mov dword [esp + 0x6c], esi
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 + 0x48]
mov eax, dword [esp + 0x84]
mov dword [eax + 0x24], ecx
mov edx, dword [esp + 0x4c]
mov dword [eax + 0x28], edx
mov ebx, dword [0x647e70]
test ebx, ebx
jne 0x4e4256
mov ebx, dword [esp + 0x6c]
jmp 0x4e4267
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 0x4e452a
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 0x4e42d1
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 0x4e3cf8
xchg edi, eax
cmp al, cl
xchg edi, eax
jne 0x4e3cf8
lea edi, [eax + 1]
cmp cl, 0xff
jne 0x4e430b
mov ecx, dword [ebx + 0x1c]
test ecx, 2
je 0x4e430b
mov ecx, eax
jmp 0x4e430f
mov ecx, eax
mov eax, edi
mov edx, dword [esp + 0x90]
cmp edx, eax
jb 0x4e4523
mov ebp, dword [esp + 0x94]
cmp eax, ebp
jb 0x4e451a
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 0x4e4390
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, [0x51ea80]
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 [0x647e70]
test eax, eax
jne 0x4e43d3
mov eax, dword [esp + 0x6c]
jmp 0x4e43e4
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 0x4e3cf8
mov eax, dword [esp + 0x94]
cmp ebp, eax
jb 0x4e4513
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 0x4e4495
mov dword [esp + 0x50], eax
mov dword [esp + 0x4c], edi
mov dword [esp], esi
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], ebp
lea eax, [0x51ea80]
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 + 0x48], ecx
mov dword [esp + 0x6c], esi
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 [0x647e70]
test eax, eax
jne 0x4e44d9
mov eax, dword [esp + 0x6c]
jmp 0x4e44ea
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