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

Disassembly:
mov ecx, dword [0x80b088]
mov ecx, dword fs:[ecx]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x5008ec
sub esp, 0x70
mov eax, dword [esp + 0x78]
lea ecx, [0x5f64c0]
cmp eax, ecx
jne 0x5002a9
mov eax, dword [esp + 0x7c]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov ebx, dword [eax + 0xc]
mov ebp, dword [eax + 0x10]
mov eax, dword [eax + 8]
jmp 0x5002b7
xor eax, eax
xor ebp, ebp
xor ebx, ebx
mov edx, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x38], edx
test eax, eax
je 0x50048b
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebx
mov dword [esp + 0x5c], eax
lea eax, [0x60b9e0]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call sym.runtime.assertE2I2
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x10]
mov esi, dword [esp + 0x10]
mov edi, dword [esp + 0x10]
mov dword [esp + 0x44], edi
mov edi, dword [esp + 0x10]
test eax, eax
je 0x500482
mov dword [esp + 0x54], edx
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebx
mov dword [esp + 0x48], esi
mov dword [esp + 0x20], eax
mov dword [esp + 0x40], edi
mov dword [esp + 0x58], ecx
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x3c], ecx
mov edx, dword [eax + 0x14]
mov ebx, dword [esp + 0xc]
mov dword [esp + 0x64], ebx
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x60], ebp
mov dword [esp], ecx
call edx
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 0x10]
mov ecx, dword [esp + 4]
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x3c]
mov dword [esp], edx
call eax
mov eax, dword [esp + 0x64]
test eax, eax
je 0x5003fd
mov edx, dword [esp + 0x60]
lea ebx, [0x68c848]
cmp edx, ebx
jne 0x50038b
mov ebx, dword [esp + 0x58]
mov ebx, dword [ebx]
jmp 0x500403
lea ebx, [0x68cad0]
cmp edx, ebx
jne 0x50039e
mov ebp, dword [esp + 0x54]
mov ebx, dword [ebp]
jmp 0x500403
lea ebx, [0x68cae8]
cmp edx, ebx
jne 0x5003b1
mov ebp, dword [esp + 0x50]
mov ebx, dword [ebp]
jmp 0x500403
lea ebx, [0x68cb00]
cmp edx, ebx
jne 0x5003c4
mov ebp, dword [esp + 0x4c]
mov ebx, dword [ebp]
jmp 0x500403
lea ebx, [0x68c7a0]
cmp edx, ebx
jne 0x5003d7
mov ebp, dword [esp + 0x48]
mov ebx, dword [ebp]
jmp 0x500403
lea ebx, [0x68c7b8]
cmp edx, ebx
jne 0x5003ea
mov ebp, dword [esp + 0x44]
mov ebx, dword [ebp]
jmp 0x500403
lea ebx, [0x68cb30]
cmp edx, ebx
jne 0x500401
mov ebp, dword [esp + 0x40]
mov ebx, dword [ebp]
jmp 0x500403
mov edx, dword [esp + 0x60]
xor ebx, ebx
test ebx, ebx
je 0x50041a
mov ebp, dword [ebx + 4]
test ebp, ebp
jbe 0x5008e2
mov eax, dword [ebx]
mov eax, dword [eax]
mov ecx, dword [eax]
jmp 0x50041e
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 4]
mov dword [esp + 0x24], eax
mov dword [esp], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 4], edx
call sym.go_printer.getLastComment
mov eax, dword [esp + 8]
test eax, eax
je 0x500467
mov ecx, dword [eax + 4]
lea ebx, [ecx - 1]
cmp ecx, ebx
jbe 0x5008db
mov ebx, dword [eax]
mov ebx, dword [ebx + ecx*4 - 4]
mov ebp, dword [ebx]
add ebp, dword [ebx + 8]
mov ebx, dword [esp + 0x24]
cmp ebx, ebp
jl 0x50046b
mov ebp, ebx
jmp 0x50046b
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x24], ebp
mov ebx, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov esi, dword [esp + 0x5c]
xor eax, eax
jmp 0x50080b
mov eax, dword [esp + 0x1c]
jmp 0x500719
lea eax, [0x60cac0]
cmp ecx, eax
jne 0x5004d4
mov ebx, dword [edx + 0x40]
mov ebp, dword [edx + 0x44]
mov esi, dword [edx + 0x3c]
mov edi, dword [esp + 0x74]
mov dword [edi + 0xa4], ebx
mov dword [edi + 0xa8], ebp
mov ebx, dword [0x80b220]
test ebx, ebx
je 0x5004cc
mov ebx, edi
call sym.runtime.gcWriteBarrier2
mov dword [edi], esi
mov ebp, dword [ebx + 0xa0]
mov dword [edi + 4], ebp
mov edi, ebx
mov dword [edi + 0xa0], esi
jmp 0x5004d8
mov edi, dword [esp + 0x74]
mov eax, dword [edi + 0xa0]
test eax, eax
setne al
xor eax, 1
mov byte [edi + 0xac], al
mov dword [esp], edi
call sym.go_printer._printer_.nextComment
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
lea eax, [0x602300]
mov dword [esp + 0x68], eax
lea eax, [0x68b600]
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x74]
mov dword [esp], eax
lea ecx, [esp + 0x68]
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov dword [esp + 0xc], 1
call sym.go_printer._printer_.print
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x500719
mov ecx, dword [eax + 8]
mov dword [esp + 0x34], ecx
lea edx, [0x60f4c0]
mov dword [esp], edx
mov dword [esp + 4], eax
mov edx, dword [esp + 0x38]
mov dword [esp + 8], edx
call sym.runtime.assertE2I2
mov eax, dword [esp + 0xc]
test eax, eax
je 0x5005a3
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
nop
mov edx, dword [esp + 0x74]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 1
call sym.go_printer._printer_.expr1
jmp 0x5007a6
lea eax, [0x60f5e0]
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
call sym.runtime.assertE2I2
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
test eax, eax
je 0x500606
mov eax, dword [esp + 0xc]
lea edx, [0x68d670]
cmp eax, edx
jne 0x5005e8
mov edx, dword [esp + 0x74]
mov dword [edx + 0x1c], 1
jmp 0x5005ec
mov edx, dword [esp + 0x74]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov byte [esp + 0xc], 0
call sym.go_printer._printer_.stmt
jmp 0x5007a6
lea eax, [0x60f7c0]
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
call sym.runtime.assertE2I2
mov eax, dword [esp + 0xc]
test eax, eax
je 0x50064d
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x74]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
call sym.go_printer._printer_.decl
jmp 0x5007a6
lea eax, [0x60fa60]
mov dword [esp], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 8], ecx
call sym.runtime.assertE2I2
mov eax, dword [esp + 0xc]
test eax, eax
jne 0x50077d
mov eax, dword [esp + 0x34]
cmp eax, 0x2d262aff
je 0x5006f2
cmp eax, 0xd5b40cdb
je 0x5006bb
cmp eax, 0xd65d05f4
jne 0x5006b5
mov eax, dword [esp + 0x1c]
lea ecx, [0x5f8c40]
cmp eax, ecx
jne 0x500719
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov ebx, dword [esp + 0x74]
xor ebp, ebp
jmp 0x5007c9
mov eax, dword [esp + 0x1c]
jmp 0x500719
mov eax, dword [esp + 0x1c]
lea ecx, [0x5f8e40]
cmp eax, ecx
jne 0x500719
mov eax, dword [esp + 0x38]
mov ecx, dword [eax]
mov edx, dword [eax + 4]
mov eax, dword [eax + 8]
mov ebx, dword [esp + 0x74]
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
call sym.go_printer._printer_.declList
jmp 0x5007a6
mov eax, dword [esp + 0x1c]
lea ecx, [0x60cac0]
cmp eax, ecx
jne 0x500719
mov eax, dword [esp + 0x74]
mov dword [esp], eax
mov ecx, dword [esp + 0x38]
mov dword [esp + 4], ecx
call sym.go_printer._printer_.file
jmp 0x5007a6
mov dword [esp + 0x68], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x68], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x6c], eax
lea eax, [0x64923a]
mov dword [esp], eax
mov dword [esp + 4], 0x24
lea eax, [esp + 0x68]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 1
mov dword [esp + 0x10], 1
call sym.fmt.Errorf
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], ecx
add esp, 0x70
ret
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x74]
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 1
mov byte [esp + 0x10], 0
call sym.go_printer._printer_.spec
mov eax, dword [esp + 0x74]
mov ecx, dword [eax + 0x98]
mov eax, dword [eax + 0x9c]
mov dword [esp + 0x80], ecx
mov dword [esp + 0x84], eax
add esp, 0x70
ret
inc ebp
cmp ebp, edx
jge 0x5007e3
lea esi, [ecx + ebp*8]
lea edi, [0x68d670]
cmp dword [esi], edi
jne 0x5007c8
mov dword [ebx + 0x1c], 1
jmp 0x5007c8
mov dword [esp], ebx
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov byte [esp + 0x14], 0
call sym.go_printer._printer_.stmtList
jmp 0x5007a6
inc eax
mov ebp, dword [esp + 0x24]
cmp eax, ecx
jge 0x500834
mov edi, dword [esi + eax*4]
mov edx, dword [edi + 4]
lea ebp, [edx - 1]
cmp edx, ebp
jbe 0x5008d2
mov ebp, dword [edi]
mov ebp, dword [ebp + edx*4 - 4]
mov edi, dword [ebp]
add edi, dword [ebp + 8]
cmp ebx, edi
jg 0x500806
mov ebp, dword [esp + 0x24]
mov edx, eax
jmp 0x500839
inc eax
cmp eax, ecx
jge 0x500855
jae 0x5008cd
mov ebx, dword [esi + eax*4]
mov edi, dword [ebx + 4]
test edi, edi
jbe 0x5008c4
mov ebx, dword [ebx]
mov ebx, dword [ebx]
cmp dword [ebx], ebp
jl 0x500838
cmp eax, edx
jle 0x5008a7
mov ebx, dword [esp + 0x2c]
cmp eax, ebx
ja 0x5008bb
cmp eax, edx
jb 0x5008b2
sub ebx, edx
sub eax, edx
mov ecx, dword [esp + 0x74]
mov dword [ecx + 0xa4], eax
mov dword [ecx + 0xa8], ebx
mov eax, dword [0x80b220]
neg ebx
shl edx, 2
sar ebx, 0x1f
and edx, ebx
add edx, esi
test eax, eax
je 0x50089f
call sym.runtime.gcWriteBarrier2
mov dword [edi], edx
mov eax, dword [ecx + 0xa0]
mov dword [edi + 4], eax
mov dword [ecx + 0xa0], edx
jmp 0x5008ab
mov ecx, dword [esp + 0x74]
mov edi, ecx
jmp 0x5004d8
mov ecx, eax
mov eax, edx
call sym.runtime.panicSliceB
mov ecx, eax
mov edx, ebx
call sym.runtime.panicSliceAcap
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
call sym.runtime.panicIndex
mov eax, ebp
mov ecx, edx
call sym.runtime.panicIndex
mov eax, ebx
call sym.runtime.panicIndex
xor eax, eax
mov ecx, eax
call sym.runtime.panicIndex
nop
call sym.runtime.morestack_noctxt
jmp sym.go_printer._printer_.printNode