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

Disassembly:
mov ecx, dword [0x7762b4]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x4f5c3d
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 0x4f53c9
inc eax
cmp ebp, eax
jle 0x4f5aef
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 0x4f59ba
mov byte [esp + 0x22], cl
cmp cl, 0x26
ja 0x4f56ec
lea edi, [ecx - 9]
xchg edi, eax
cmp al, 3
xchg edi, eax
jbe 0x4f5409
cmp cl, 0x26
je 0x4f56f5
jmp 0x4f53c8
mov edx, dword [esp + 0x94]
cmp eax, edx
jb 0x4f5c2a
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 0x4f5482
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, [0x5c2c00]
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 [0x776370]
test ebx, ebx
jne 0x4f54c5
mov ebx, dword [esp + 0x6c]
jmp 0x4f54d6
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 0x4f5c23
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 0x4f5c1a
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 0x4f55ed
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, [0x5d6380]
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 [0x776370]
test eax, eax
je 0x4f55dd
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 0x4f5644
xchg esi, eax
cmp al, 0xc
xchg esi, eax
jne 0x4f56d5
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 0x4f5674
mov ebx, dword [esp + 0x40]
cmp ebx, 1
je 0x4f5674
mov ebx, dword [esp + 0x84]
jmp 0x4f56d5
mov eax, dword [esp + 0x84]
mov dword [esp], eax
call sym.text_tabwriter._Writer_.flushNoDefers
movzx eax, byte [esp + 0x22]
cmp al, 0xc
jne 0x4f56ce
mov ebx, dword [esp + 0x84]
mov ebp, dword [ebx + 0x1c]
test ebp, 0x20
je 0x4f56d5
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 0x4f56d5
mov ebx, dword [esp + 0x84]
mov eax, dword [esp + 0x3c]
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
jmp 0x4f53c8
cmp cl, 0x3c
jne 0x4f5860
mov edi, dword [ebx + 0x1c]
test edi, 1
je 0x4f53c8
mov edx, dword [esp + 0x94]
cmp eax, edx
jb 0x4f5c11
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 0x4f577d
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, [0x5c2c00]
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 [0x776370]
test ebx, ebx
jne 0x4f57c0
mov ebx, dword [esp + 0x6c]
jmp 0x4f57d1
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 0x4f5c0a
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 0x4f5837
mov byte [ecx + 0x3c], 0x3b
jmp 0x4f584b
cmp dl, 0x3c
jne 0x4f5842
mov byte [ecx + 0x3c], 0x3e
jmp 0x4f584b
cmp dl, 0xff
jne 0x4f584b
mov byte [ecx + 0x3c], 0xff
mov ebx, ecx
mov ebp, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
jmp 0x4f53c8
cmp cl, 0xff
jne 0x4f53c8
mov edx, dword [esp + 0x94]
cmp eax, edx
jb 0x4f5c01
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 0x4f58e2
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, [0x5c2c00]
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 [0x776370]
test ebx, ebx
jne 0x4f5926
mov ebx, dword [esp + 0x6c]
jmp 0x4f5937
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 0x4f5bfa
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 0x4f59a1
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 0x4f53c8
xchg edi, eax
cmp al, cl
xchg edi, eax
jne 0x4f53c8
lea edi, [eax + 1]
cmp cl, 0xff
jne 0x4f59db
mov ecx, dword [ebx + 0x1c]
test ecx, 2
je 0x4f59db
mov ecx, eax
jmp 0x4f59df
mov ecx, eax
mov eax, edi
mov edx, dword [esp + 0x90]
cmp edx, eax
jb 0x4f5bf3
mov ebp, dword [esp + 0x94]
cmp eax, ebp
jb 0x4f5bea
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 0x4f5a60
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, [0x5c2c00]
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 [0x776370]
test eax, eax
jne 0x4f5aa3
mov eax, dword [esp + 0x6c]
jmp 0x4f5ab4
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 0x4f53c8
mov eax, dword [esp + 0x94]
cmp ebp, eax
jb 0x4f5be3
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 0x4f5b65
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, [0x5c2c00]
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 [0x776370]
test eax, eax
jne 0x4f5ba9
mov eax, dword [esp + 0x6c]
jmp 0x4f5bba
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