410012:	59                   	pop    %ecx
410013:	5f                   	pop    %edi
410014:	8b c3                	mov    %ebx,%eax
410016:	5e                   	pop    %esi
410017:	5b                   	pop    %ebx
410018:	8b e5                	mov    %ebp,%esp
41001a:	5d                   	pop    %ebp
41001b:	c3                   	ret
41001c:	84 c9                	test   %cl,%cl
41001e:	75 ec                	jne    0x41000c
410020:	85 c0                	test   %eax,%eax
410022:	75 29                	jne    0x41004d
410024:	6a 04                	push   $0x4
410026:	6a 01                	push   $0x1
410028:	e8 7f 98 ff ff       	call   0x4098ac
41002d:	53                   	push   %ebx
41002e:	a3 4c 41 42 00       	mov    %eax,0x42414c
410033:	e8 ec 97 ff ff       	call   0x409824
410038:	83 c4 0c             	add    $0xc,%esp
41003b:	39 1d 4c 41 42 00    	cmp    %ebx,0x42414c
410041:	74 c6                	je     0x410009
410043:	8b 35 50 41 42 00    	mov    0x424150,%esi
410049:	85 f6                	test   %esi,%esi
41004b:	75 21                	jne    0x41006e
41004d:	6a 04                	push   $0x4
41004f:	6a 01                	push   $0x1
410051:	e8 56 98 ff ff       	call   0x4098ac
410056:	53                   	push   %ebx
410057:	a3 50 41 42 00       	mov    %eax,0x424150
41005c:	e8 c3 97 ff ff       	call   0x409824
410061:	83 c4 0c             	add    $0xc,%esp
410064:	8b 35 50 41 42 00    	mov    0x424150,%esi
41006a:	85 f6                	test   %esi,%esi
41006c:	74 9b                	je     0x410009
41006e:	8b 4d f4             	mov    -0xc(%ebp),%ecx
410071:	8b c7                	mov    %edi,%eax
410073:	2b c8                	sub    %eax,%ecx
410075:	d1 f9                	sar    $1,%ecx
410077:	51                   	push   %ecx
410078:	50                   	push   %eax
410079:	89 4d f4             	mov    %ecx,-0xc(%ebp)
41007c:	e8 f9 02 00 00       	call   0x41037a
410081:	89 45 f8             	mov    %eax,-0x8(%ebp)
410084:	59                   	pop    %ecx
410085:	59                   	pop    %ecx
410086:	85 c0                	test   %eax,%eax
410088:	78 48                	js     0x4100d2
41008a:	39 1e                	cmp    %ebx,(%esi)
41008c:	74 44                	je     0x4100d2
41008e:	ff 34 86             	push   (%esi,%eax,4)
410091:	e8 8e 97 ff ff       	call   0x409824
410096:	59                   	pop    %ecx
410097:	8b 4d f8             	mov    -0x8(%ebp),%ecx
41009a:	38 5d ff             	cmp    %bl,-0x1(%ebp)
41009d:	75 12                	jne    0x4100b1
41009f:	8b 45 08             	mov    0x8(%ebp),%eax
4100a2:	8b fb                	mov    %ebx,%edi
4100a4:	89 04 8e             	mov    %eax,(%esi,%ecx,4)
4100a7:	eb 7f                	jmp    0x410128
4100a9:	8b 44 8e 04          	mov    0x4(%esi,%ecx,4),%eax
4100ad:	89 04 8e             	mov    %eax,(%esi,%ecx,4)
4100b0:	41                   	inc    %ecx
4100b1:	39 1c 8e             	cmp    %ebx,(%esi,%ecx,4)
4100b4:	75 f3                	jne    0x4100a9
4100b6:	6a 04                	push   $0x4
4100b8:	51                   	push   %ecx
4100b9:	56                   	push   %esi
4100ba:	e8 50 96 ff ff       	call   0x40970f
4100bf:	53                   	push   %ebx
4100c0:	8b f0                	mov    %eax,%esi
4100c2:	e8 5d 97 ff ff       	call   0x409824
4100c7:	83 c4 10             	add    $0x10,%esp
4100ca:	8b c7                	mov    %edi,%eax
4100cc:	85 f6                	test   %esi,%esi
4100ce:	74 58                	je     0x410128
4100d0:	eb 50                	jmp    0x410122
4100d2:	38 5d ff             	cmp    %bl,-0x1(%ebp)
4100d5:	0f 85 31 ff ff ff    	jne    0x41000c
4100db:	f7 d8                	neg    %eax
4100dd:	89 45 f8             	mov    %eax,-0x8(%ebp)
4100e0:	8d 48 02             	lea    0x2(%eax),%ecx
4100e3:	3b c8                	cmp    %eax,%ecx
4100e5:	0f 82 1e ff ff ff    	jb     0x410009
4100eb:	81 f9 ff ff ff 3f    	cmp    $0x3fffffff,%ecx
4100f1:	0f 83 12 ff ff ff    	jae    0x410009
4100f7:	6a 04                	push   $0x4
4100f9:	51                   	push   %ecx
4100fa:	56                   	push   %esi
4100fb:	e8 0f 96 ff ff       	call   0x40970f
410100:	53                   	push   %ebx
410101:	8b f0                	mov    %eax,%esi
410103:	e8 1c 97 ff ff       	call   0x409824
410108:	83 c4 10             	add    $0x10,%esp
41010b:	85 f6                	test   %esi,%esi
41010d:	0f 84 f6 fe ff ff    	je     0x410009
410113:	8b 4d f8             	mov    -0x8(%ebp),%ecx
410116:	8b fb                	mov    %ebx,%edi
410118:	8b 45 08             	mov    0x8(%ebp),%eax
41011b:	89 04 8e             	mov    %eax,(%esi,%ecx,4)
41011e:	89 5c 8e 04          	mov    %ebx,0x4(%esi,%ecx,4)
410122:	89 35 50 41 42 00    	mov    %esi,0x424150
410128:	39 5d 0c             	cmp    %ebx,0xc(%ebp)
41012b:	0f 84 db fe ff ff    	je     0x41000c
410131:	8b c8                	mov    %eax,%ecx
410133:	8d 51 02             	lea    0x2(%ecx),%edx
410136:	66 8b 01             	mov    (%ecx),%ax
410139:	83 c1 02             	add    $0x2,%ecx
41013c:	66 3b c3             	cmp    %bx,%ax
41013f:	75 f5                	jne    0x410136
410141:	2b ca                	sub    %edx,%ecx
410143:	d1 f9                	sar    $1,%ecx
410145:	6a 02                	push   $0x2
410147:	8d 41 02             	lea    0x2(%ecx),%eax
41014a:	50                   	push   %eax
41014b:	89 45 f8             	mov    %eax,-0x8(%ebp)
41014e:	e8 59 97 ff ff       	call   0x4098ac
410153:	8b f0                	mov    %eax,%esi
410155:	59                   	pop    %ecx
410156:	59                   	pop    %ecx
410157:	85 f6                	test   %esi,%esi
410159:	74 45                	je     0x4101a0
41015b:	8b 45 08             	mov    0x8(%ebp),%eax
41015e:	50                   	push   %eax
41015f:	ff 75 f8             	push   -0x8(%ebp)
410162:	56                   	push   %esi
410163:	e8 19 7e ff ff       	call   0x407f81
410168:	83 c4 0c             	add    $0xc,%esp
41016b:	85 c0                	test   %eax,%eax
41016d:	75 3d                	jne    0x4101ac
41016f:	8b 4d f4             	mov    -0xc(%ebp),%ecx
410172:	41                   	inc    %ecx
410173:	8d 0c 4e             	lea    (%esi,%ecx,2),%ecx
410176:	66 89 41 fe          	mov    %ax,-0x2(%ecx)
41017a:	0f b6 45 ff          	movzbl -0x1(%ebp),%eax
41017e:	f7 d8                	neg    %eax
410180:	1b c0                	sbb    %eax,%eax
410182:	f7 d0                	not    %eax
410184:	23 c1                	and    %ecx,%eax
410186:	50                   	push   %eax
410187:	56                   	push   %esi
410188:	ff 15 90 b1 41 00    	call   *0x41b190
41018e:	85 c0                	test   %eax,%eax
410190:	75 0e                	jne    0x4101a0
410192:	e8 70 7b ff ff       	call   0x407d07
410197:	83 cb ff             	or     $0xffffffff,%ebx
41019a:	c7 00 2a 00 00 00    	movl   $0x2a,(%eax)
4101a0:	56                   	push   %esi
4101a1:	e8 7e 96 ff ff       	call   0x409824
4101a6:	59                   	pop    %ecx
4101a7:	e9 60 fe ff ff       	jmp    0x41000c
4101ac:	53                   	push   %ebx
4101ad:	53                   	push   %ebx
4101ae:	53                   	push   %ebx
4101af:	53                   	push   %ebx
4101b0:	53                   	push   %ebx
4101b1:	e8 a5 7a ff ff       	call   0x407c5b
4101b6:	cc                   	int3
4101b7:	8b ff                	mov    %edi,%edi
4101b9:	55                   	push   %ebp
4101ba:	8b ec                	mov    %esp,%ebp
4101bc:	51                   	push   %ecx
4101bd:	57                   	push   %edi
4101be:	8b 7d 08             	mov    0x8(%ebp),%edi
4101c1:	85 ff                	test   %edi,%edi
4101c3:	75 07                	jne    0x4101cc
4101c5:	33 c0                	xor    %eax,%eax
4101c7:	e9 85 00 00 00       	jmp    0x410251
4101cc:	33 c9                	xor    %ecx,%ecx
4101ce:	8b c7                	mov    %edi,%eax
4101d0:	39 0f                	cmp    %ecx,(%edi)
4101d2:	74 09                	je     0x4101dd
4101d4:	8d 40 04             	lea    0x4(%eax),%eax
4101d7:	41                   	inc    %ecx
4101d8:	83 38 00             	cmpl   $0x0,(%eax)
4101db:	75 f7                	jne    0x4101d4
4101dd:	56                   	push   %esi
4101de:	8d 41 01             	lea    0x1(%ecx),%eax
4101e1:	6a 04                	push   $0x4
4101e3:	50                   	push   %eax
4101e4:	e8 c3 96 ff ff       	call   0x4098ac
4101e9:	8b f0                	mov    %eax,%esi
4101eb:	59                   	pop    %ecx
4101ec:	59                   	pop    %ecx
4101ed:	85 f6                	test   %esi,%esi
4101ef:	74 65                	je     0x410256
4101f1:	83 3f 00             	cmpl   $0x0,(%edi)
4101f4:	74 50                	je     0x410246
4101f6:	53                   	push   %ebx
4101f7:	8b de                	mov    %esi,%ebx
4101f9:	2b df                	sub    %edi,%ebx
4101fb:	8b 0f                	mov    (%edi),%ecx
4101fd:	8d 51 01             	lea    0x1(%ecx),%edx
410200:	8a 01                	mov    (%ecx),%al
410202:	41                   	inc    %ecx
410203:	84 c0                	test   %al,%al
410205:	75 f9                	jne    0x410200
410207:	2b ca                	sub    %edx,%ecx
410209:	6a 01                	push   $0x1
41020b:	8d 41 01             	lea    0x1(%ecx),%eax
41020e:	50                   	push   %eax
41020f:	89 45 fc             	mov    %eax,-0x4(%ebp)
410212:	e8 95 96 ff ff       	call   0x4098ac
410217:	6a 00                	push   $0x0
410219:	89 04 3b             	mov    %eax,(%ebx,%edi,1)
41021c:	e8 03 96 ff ff       	call   0x409824
410221:	83 c4 0c             	add    $0xc,%esp
410224:	83 3c 3b 00          	cmpl   $0x0,(%ebx,%edi,1)
410228:	74 2c                	je     0x410256
41022a:	ff 37                	push   (%edi)
41022c:	ff 75 fc             	push   -0x4(%ebp)
41022f:	ff 34 3b             	push   (%ebx,%edi,1)
410232:	e8 50 95 ff ff       	call   0x409787
410237:	83 c4 0c             	add    $0xc,%esp
41023a:	85 c0                	test   %eax,%eax
41023c:	75 1d                	jne    0x41025b
41023e:	83 c7 04             	add    $0x4,%edi
410241:	39 07                	cmp    %eax,(%edi)
410243:	75 b6                	jne    0x4101fb
410245:	5b                   	pop    %ebx
410246:	6a 00                	push   $0x0
410248:	e8 d7 95 ff ff       	call   0x409824
41024d:	59                   	pop    %ecx
41024e:	8b c6                	mov    %esi,%eax
410250:	5e                   	pop    %esi
410251:	5f                   	pop    %edi
410252:	8b e5                	mov    %ebp,%esp
410254:	5d                   	pop    %ebp
410255:	c3                   	ret
410256:	e8 86 95 ff ff       	call   0x4097e1
41025b:	33 c0                	xor    %eax,%eax
41025d:	50                   	push   %eax
41025e:	50                   	push   %eax
41025f:	50                   	push   %eax
410260:	50                   	push   %eax
410261:	50                   	push   %eax
410262:	e8 f4 79 ff ff       	call   0x407c5b
410267:	cc                   	int3
410268:	8b ff                	mov    %edi,%edi
41026a:	55                   	push   %ebp
41026b:	8b ec                	mov    %esp,%ebp
41026d:	51                   	push   %ecx
41026e:	51                   	push   %ecx
41026f:	57                   	push   %edi
410270:	8b 7d 08             	mov    0x8(%ebp),%edi
410273:	85 ff                	test   %edi,%edi
410275:	75 07                	jne    0x41027e
410277:	33 c0                	xor    %eax,%eax
410279:	e9 91 00 00 00       	jmp    0x41030f
41027e:	53                   	push   %ebx
41027f:	33 db                	xor    %ebx,%ebx
410281:	8b c7                	mov    %edi,%eax
410283:	8b cb                	mov    %ebx,%ecx
410285:	89 5d fc             	mov    %ebx,-0x4(%ebp)
410288:	56                   	push   %esi
410289:	39 1f                	cmp    %ebx,(%edi)
41028b:	74 08                	je     0x410295
41028d:	8d 40 04             	lea    0x4(%eax),%eax
410290:	41                   	inc    %ecx
410291:	39 18                	cmp    %ebx,(%eax)
410293:	75 f8                	jne    0x41028d
410295:	8d 41 01             	lea    0x1(%ecx),%eax
410298:	6a 04                	push   $0x4
41029a:	50                   	push   %eax
41029b:	e8 0c 96 ff ff       	call   0x4098ac
4102a0:	8b f0                	mov    %eax,%esi
4102a2:	59                   	pop    %ecx
4102a3:	59                   	pop    %ecx
4102a4:	85 f6                	test   %esi,%esi
4102a6:	74 6c                	je     0x410314
4102a8:	39 1f                	cmp    %ebx,(%edi)
4102aa:	74 58                	je     0x410304
4102ac:	8b de                	mov    %esi,%ebx
4102ae:	2b df                	sub    %edi,%ebx
4102b0:	8b 0f                	mov    (%edi),%ecx
4102b2:	8d 51 02             	lea    0x2(%ecx),%edx
4102b5:	66 8b 01             	mov    (%ecx),%ax
4102b8:	83 c1 02             	add    $0x2,%ecx
4102bb:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
4102bf:	75 f4                	jne    0x4102b5
4102c1:	2b ca                	sub    %edx,%ecx
4102c3:	d1 f9                	sar    $1,%ecx
4102c5:	6a 02                	push   $0x2
4102c7:	8d 41 01             	lea    0x1(%ecx),%eax
4102ca:	50                   	push   %eax
4102cb:	89 45 f8             	mov    %eax,-0x8(%ebp)
4102ce:	e8 d9 95 ff ff       	call   0x4098ac
4102d3:	89 04 3b             	mov    %eax,(%ebx,%edi,1)
4102d6:	33 c0                	xor    %eax,%eax
4102d8:	50                   	push   %eax
4102d9:	e8 46 95 ff ff       	call   0x409824
4102de:	83 c4 0c             	add    $0xc,%esp
4102e1:	83 3c 3b 00          	cmpl   $0x0,(%ebx,%edi,1)
4102e5:	74 2d                	je     0x410314
4102e7:	ff 37                	push   (%edi)
4102e9:	ff 75 f8             	push   -0x8(%ebp)
4102ec:	ff 34 3b             	push   (%ebx,%edi,1)
4102ef:	e8 8d 7c ff ff       	call   0x407f81
4102f4:	83 c4 0c             	add    $0xc,%esp
4102f7:	85 c0                	test   %eax,%eax
4102f9:	75 1e                	jne    0x410319
4102fb:	83 c7 04             	add    $0x4,%edi
4102fe:	39 07                	cmp    %eax,(%edi)
410300:	75 ae                	jne    0x4102b0
410302:	33 db                	xor    %ebx,%ebx
410304:	53                   	push   %ebx
410305:	e8 1a 95 ff ff       	call   0x409824
41030a:	59                   	pop    %ecx
41030b:	8b c6                	mov    %esi,%eax
41030d:	5e                   	pop    %esi
41030e:	5b                   	pop    %ebx
41030f:	5f                   	pop    %edi
410310:	8b e5                	mov    %ebp,%esp
410312:	5d                   	pop    %ebp
410313:	c3                   	ret
410314:	e8 c8 94 ff ff       	call   0x4097e1
410319:	33 c0                	xor    %eax,%eax
41031b:	50                   	push   %eax
41031c:	50                   	push   %eax
41031d:	50                   	push   %eax
41031e:	50                   	push   %eax
41031f:	50                   	push   %eax
410320:	e8 36 79 ff ff       	call   0x407c5b
410325:	cc                   	int3
410326:	8b ff                	mov    %edi,%edi
410328:	55                   	push   %ebp
410329:	8b ec                	mov    %esp,%ebp
41032b:	53                   	push   %ebx
41032c:	56                   	push   %esi
41032d:	57                   	push   %edi
41032e:	8b 3d 4c 41 42 00    	mov    0x42414c,%edi
410334:	8b f7                	mov    %edi,%esi
410336:	83 3f 00             	cmpl   $0x0,(%edi)
410339:	74 2a                	je     0x410365
41033b:	8b 5d 0c             	mov    0xc(%ebp),%ebx
41033e:	53                   	push   %ebx
41033f:	ff 36                	push   (%esi)
410341:	ff 75 08             	push   0x8(%ebp)
410344:	e8 03 55 00 00       	call   0x41584c
410349:	83 c4 0c             	add    $0xc,%esp
41034c:	85 c0                	test   %eax,%eax
41034e:	75 0d                	jne    0x41035d
410350:	8b 06                	mov    (%esi),%eax
410352:	8a 04 03             	mov    (%ebx,%eax,1),%al
410355:	3c 3d                	cmp    $0x3d,%al
410357:	74 1a                	je     0x410373
410359:	84 c0                	test   %al,%al
41035b:	74 16                	je     0x410373
41035d:	83 c6 04             	add    $0x4,%esi
410360:	83 3e 00             	cmpl   $0x0,(%esi)
410363:	75 d9                	jne    0x41033e