410011:	59                   	pop    %ecx
410012:	85 c0                	test   %eax,%eax
410014:	75 05                	jne    0x41001b
410016:	83 cf ff             	or     $0xffffffff,%edi
410019:	eb 0c                	jmp    0x410027
41001b:	a3 a4 49 43 00       	mov    %eax,0x4349a4
410020:	33 ff                	xor    %edi,%edi
410022:	a3 a0 49 43 00       	mov    %eax,0x4349a0
410027:	6a 00                	push   $0x0
410029:	e8 dd 30 00 00       	call   0x41310b
41002e:	59                   	pop    %ecx
41002f:	56                   	push   %esi
410030:	e8 d6 30 00 00       	call   0x41310b
410035:	59                   	pop    %ecx
410036:	8b c7                	mov    %edi,%eax
410038:	5f                   	pop    %edi
410039:	5e                   	pop    %esi
41003a:	c3                   	ret
41003b:	8b ff                	mov    %edi,%edi
41003d:	55                   	push   %ebp
41003e:	8b ec                	mov    %esp,%ebp
410040:	83 ec 0c             	sub    $0xc,%esp
410043:	53                   	push   %ebx
410044:	8b 5d 08             	mov    0x8(%ebp),%ebx
410047:	33 c0                	xor    %eax,%eax
410049:	89 45 fc             	mov    %eax,-0x4(%ebp)
41004c:	8b d0                	mov    %eax,%edx
41004e:	56                   	push   %esi
41004f:	57                   	push   %edi
410050:	0f b7 03             	movzwl (%ebx),%eax
410053:	8b f3                	mov    %ebx,%esi
410055:	66 85 c0             	test   %ax,%ax
410058:	74 33                	je     0x41008d
41005a:	6a 3d                	push   $0x3d
41005c:	8b c8                	mov    %eax,%ecx
41005e:	5b                   	pop    %ebx
41005f:	66 3b cb             	cmp    %bx,%cx
410062:	74 01                	je     0x410065
410064:	42                   	inc    %edx
410065:	8b ce                	mov    %esi,%ecx
410067:	8d 79 02             	lea    0x2(%ecx),%edi
41006a:	66 8b 01             	mov    (%ecx),%ax
41006d:	83 c1 02             	add    $0x2,%ecx
410070:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
410074:	75 f4                	jne    0x41006a
410076:	2b cf                	sub    %edi,%ecx
410078:	d1 f9                	sar    $1,%ecx
41007a:	8d 34 4e             	lea    (%esi,%ecx,2),%esi
41007d:	83 c6 02             	add    $0x2,%esi
410080:	0f b7 06             	movzwl (%esi),%eax
410083:	8b c8                	mov    %eax,%ecx
410085:	66 85 c0             	test   %ax,%ax
410088:	75 d5                	jne    0x41005f
41008a:	8b 5d 08             	mov    0x8(%ebp),%ebx
41008d:	8d 42 01             	lea    0x1(%edx),%eax
410090:	6a 04                	push   $0x4
410092:	50                   	push   %eax
410093:	e8 16 30 00 00       	call   0x4130ae
410098:	8b f8                	mov    %eax,%edi
41009a:	59                   	pop    %ecx
41009b:	59                   	pop    %ecx
41009c:	85 ff                	test   %edi,%edi
41009e:	0f 84 87 00 00 00    	je     0x41012b
4100a4:	0f b7 03             	movzwl (%ebx),%eax
4100a7:	89 7d f8             	mov    %edi,-0x8(%ebp)
4100aa:	66 85 c0             	test   %ax,%ax
4100ad:	74 7c                	je     0x41012b
4100af:	8b d0                	mov    %eax,%edx
4100b1:	8b cb                	mov    %ebx,%ecx
4100b3:	8d 71 02             	lea    0x2(%ecx),%esi
4100b6:	66 8b 01             	mov    (%ecx),%ax
4100b9:	83 c1 02             	add    $0x2,%ecx
4100bc:	66 3b 45 fc          	cmp    -0x4(%ebp),%ax
4100c0:	75 f4                	jne    0x4100b6
4100c2:	2b ce                	sub    %esi,%ecx
4100c4:	d1 f9                	sar    $1,%ecx
4100c6:	6a 3d                	push   $0x3d
4100c8:	8d 41 01             	lea    0x1(%ecx),%eax
4100cb:	59                   	pop    %ecx
4100cc:	89 45 f4             	mov    %eax,-0xc(%ebp)
4100cf:	66 3b d1             	cmp    %cx,%dx
4100d2:	74 38                	je     0x41010c
4100d4:	6a 02                	push   $0x2
4100d6:	50                   	push   %eax
4100d7:	e8 d2 2f 00 00       	call   0x4130ae
4100dc:	8b f0                	mov    %eax,%esi
4100de:	59                   	pop    %ecx
4100df:	59                   	pop    %ecx
4100e0:	85 f6                	test   %esi,%esi
4100e2:	74 37                	je     0x41011b
4100e4:	53                   	push   %ebx
4100e5:	ff 75 f4             	push   -0xc(%ebp)
4100e8:	56                   	push   %esi
4100e9:	e8 6f 89 00 00       	call   0x418a5d
4100ee:	83 c4 0c             	add    $0xc,%esp
4100f1:	85 c0                	test   %eax,%eax
4100f3:	75 46                	jne    0x41013b
4100f5:	8b 45 f8             	mov    -0x8(%ebp),%eax
4100f8:	89 30                	mov    %esi,(%eax)
4100fa:	83 c0 04             	add    $0x4,%eax
4100fd:	89 45 f8             	mov    %eax,-0x8(%ebp)
410100:	33 c0                	xor    %eax,%eax
410102:	50                   	push   %eax
410103:	e8 03 30 00 00       	call   0x41310b
410108:	8b 45 f4             	mov    -0xc(%ebp),%eax
41010b:	59                   	pop    %ecx
41010c:	8d 1c 43             	lea    (%ebx,%eax,2),%ebx
41010f:	0f b7 03             	movzwl (%ebx),%eax
410112:	8b d0                	mov    %eax,%edx
410114:	66 85 c0             	test   %ax,%ax
410117:	75 98                	jne    0x4100b1
410119:	eb 10                	jmp    0x41012b
41011b:	57                   	push   %edi
41011c:	e8 27 00 00 00       	call   0x410148
410121:	33 ff                	xor    %edi,%edi
410123:	57                   	push   %edi
410124:	e8 e2 2f 00 00       	call   0x41310b
410129:	59                   	pop    %ecx
41012a:	59                   	pop    %ecx
41012b:	33 c0                	xor    %eax,%eax
41012d:	50                   	push   %eax
41012e:	e8 d8 2f 00 00       	call   0x41310b
410133:	59                   	pop    %ecx
410134:	8b c7                	mov    %edi,%eax
410136:	5f                   	pop    %edi
410137:	5e                   	pop    %esi
410138:	5b                   	pop    %ebx
410139:	c9                   	leave
41013a:	c3                   	ret
41013b:	33 c0                	xor    %eax,%eax
41013d:	50                   	push   %eax
41013e:	50                   	push   %eax
41013f:	50                   	push   %eax
410140:	50                   	push   %eax
410141:	50                   	push   %eax
410142:	e8 67 cf ff ff       	call   0x40d0ae
410147:	cc                   	int3
410148:	8b ff                	mov    %edi,%edi
41014a:	55                   	push   %ebp
41014b:	8b ec                	mov    %esp,%ebp
41014d:	56                   	push   %esi
41014e:	8b 75 08             	mov    0x8(%ebp),%esi
410151:	85 f6                	test   %esi,%esi
410153:	74 1f                	je     0x410174
410155:	8b 06                	mov    (%esi),%eax
410157:	57                   	push   %edi
410158:	8b fe                	mov    %esi,%edi
41015a:	eb 0c                	jmp    0x410168
41015c:	50                   	push   %eax
41015d:	e8 a9 2f 00 00       	call   0x41310b
410162:	8d 7f 04             	lea    0x4(%edi),%edi
410165:	8b 07                	mov    (%edi),%eax
410167:	59                   	pop    %ecx
410168:	85 c0                	test   %eax,%eax
41016a:	75 f0                	jne    0x41015c
41016c:	56                   	push   %esi
41016d:	e8 99 2f 00 00       	call   0x41310b
410172:	59                   	pop    %ecx
410173:	5f                   	pop    %edi
410174:	5e                   	pop    %esi
410175:	5d                   	pop    %ebp
410176:	c3                   	ret
410177:	8b ff                	mov    %edi,%edi
410179:	55                   	push   %ebp
41017a:	8b ec                	mov    %esp,%ebp
41017c:	56                   	push   %esi
41017d:	8b f1                	mov    %ecx,%esi
41017f:	57                   	push   %edi
410180:	8d 7e 04             	lea    0x4(%esi),%edi
410183:	eb 11                	jmp    0x410196
410185:	8b 4d 08             	mov    0x8(%ebp),%ecx
410188:	56                   	push   %esi
410189:	ff 15 54 41 42 00    	call   *0x424154
41018f:	ff 55 08             	call   *0x8(%ebp)
410192:	59                   	pop    %ecx
410193:	83 c6 04             	add    $0x4,%esi
410196:	3b f7                	cmp    %edi,%esi
410198:	75 eb                	jne    0x410185
41019a:	5f                   	pop    %edi
41019b:	5e                   	pop    %esi
41019c:	5d                   	pop    %ebp
41019d:	c2 04 00             	ret    $0x4
4101a0:	8b ff                	mov    %edi,%edi
4101a2:	55                   	push   %ebp
4101a3:	8b ec                	mov    %esp,%ebp
4101a5:	8b 45 08             	mov    0x8(%ebp),%eax
4101a8:	8b 00                	mov    (%eax),%eax
4101aa:	3b 05 a8 49 43 00    	cmp    0x4349a8,%eax
4101b0:	74 07                	je     0x4101b9
4101b2:	50                   	push   %eax
4101b3:	e8 90 ff ff ff       	call   0x410148
4101b8:	59                   	pop    %ecx
4101b9:	5d                   	pop    %ebp
4101ba:	c3                   	ret
4101bb:	8b ff                	mov    %edi,%edi
4101bd:	55                   	push   %ebp
4101be:	8b ec                	mov    %esp,%ebp
4101c0:	8b 45 08             	mov    0x8(%ebp),%eax
4101c3:	8b 00                	mov    (%eax),%eax
4101c5:	3b 05 a4 49 43 00    	cmp    0x4349a4,%eax
4101cb:	74 07                	je     0x4101d4
4101cd:	50                   	push   %eax
4101ce:	e8 75 ff ff ff       	call   0x410148
4101d3:	59                   	pop    %ecx
4101d4:	5d                   	pop    %ebp
4101d5:	c3                   	ret
4101d6:	68 a0 01 41 00       	push   $0x4101a0
4101db:	b9 9c 49 43 00       	mov    $0x43499c,%ecx
4101e0:	e8 92 ff ff ff       	call   0x410177
4101e5:	68 bb 01 41 00       	push   $0x4101bb
4101ea:	b9 a0 49 43 00       	mov    $0x4349a0,%ecx
4101ef:	e8 83 ff ff ff       	call   0x410177
4101f4:	ff 35 a8 49 43 00    	push   0x4349a8
4101fa:	e8 49 ff ff ff       	call   0x410148
4101ff:	ff 35 a4 49 43 00    	push   0x4349a4
410205:	e8 3e ff ff ff       	call   0x410148
41020a:	59                   	pop    %ecx
41020b:	59                   	pop    %ecx
41020c:	c3                   	ret
41020d:	e9 db fd ff ff       	jmp    0x40ffed
410212:	a1 e4 4d 43 00       	mov    0x434de4,%eax
410217:	85 c0                	test   %eax,%eax
410219:	75 05                	jne    0x410220
41021b:	b8 ac 49 43 00       	mov    $0x4349ac,%eax
410220:	56                   	push   %esi
410221:	6a 20                	push   $0x20
410223:	32 d2                	xor    %dl,%dl
410225:	5e                   	pop    %esi
410226:	0f b7 08             	movzwl (%eax),%ecx
410229:	66 3b ce             	cmp    %si,%cx
41022c:	77 09                	ja     0x410237
41022e:	66 85 c9             	test   %cx,%cx
410231:	74 27                	je     0x41025a
410233:	84 d2                	test   %dl,%dl
410235:	74 0f                	je     0x410246
410237:	83 f9 22             	cmp    $0x22,%ecx
41023a:	75 05                	jne    0x410241
41023c:	84 d2                	test   %dl,%dl
41023e:	0f 94 c2             	sete   %dl
410241:	83 c0 02             	add    $0x2,%eax
410244:	eb e0                	jmp    0x410226
410246:	8b d1                	mov    %ecx,%edx
410248:	66 3b d6             	cmp    %si,%dx
41024b:	77 0d                	ja     0x41025a
41024d:	83 c0 02             	add    $0x2,%eax
410250:	0f b7 08             	movzwl (%eax),%ecx
410253:	8b d1                	mov    %ecx,%edx
410255:	66 85 c9             	test   %cx,%cx
410258:	75 ee                	jne    0x410248
41025a:	5e                   	pop    %esi
41025b:	c3                   	ret
41025c:	8b ff                	mov    %edi,%edi
41025e:	55                   	push   %ebp
41025f:	8b ec                	mov    %esp,%ebp
410261:	51                   	push   %ecx
410262:	8b 45 0c             	mov    0xc(%ebp),%eax
410265:	53                   	push   %ebx
410266:	56                   	push   %esi
410267:	8b 75 08             	mov    0x8(%ebp),%esi
41026a:	2b c6                	sub    %esi,%eax
41026c:	83 c0 03             	add    $0x3,%eax
41026f:	57                   	push   %edi
410270:	33 ff                	xor    %edi,%edi
410272:	c1 e8 02             	shr    $0x2,%eax
410275:	39 75 0c             	cmp    %esi,0xc(%ebp)
410278:	1b db                	sbb    %ebx,%ebx
41027a:	f7 d3                	not    %ebx
41027c:	23 d8                	and    %eax,%ebx
41027e:	74 1c                	je     0x41029c
410280:	8b 06                	mov    (%esi),%eax
410282:	89 45 fc             	mov    %eax,-0x4(%ebp)
410285:	85 c0                	test   %eax,%eax
410287:	74 0b                	je     0x410294
410289:	8b c8                	mov    %eax,%ecx
41028b:	ff 15 54 41 42 00    	call   *0x424154
410291:	ff 55 fc             	call   *-0x4(%ebp)
410294:	83 c6 04             	add    $0x4,%esi
410297:	47                   	inc    %edi
410298:	3b fb                	cmp    %ebx,%edi
41029a:	75 e4                	jne    0x410280
41029c:	5f                   	pop    %edi
41029d:	5e                   	pop    %esi
41029e:	5b                   	pop    %ebx
41029f:	c9                   	leave
4102a0:	c3                   	ret
4102a1:	8b ff                	mov    %edi,%edi
4102a3:	55                   	push   %ebp
4102a4:	8b ec                	mov    %esp,%ebp
4102a6:	56                   	push   %esi
4102a7:	8b 75 08             	mov    0x8(%ebp),%esi
4102aa:	57                   	push   %edi
4102ab:	eb 17                	jmp    0x4102c4
4102ad:	8b 3e                	mov    (%esi),%edi
4102af:	85 ff                	test   %edi,%edi
4102b1:	74 0e                	je     0x4102c1
4102b3:	8b cf                	mov    %edi,%ecx
4102b5:	ff 15 54 41 42 00    	call   *0x424154
4102bb:	ff d7                	call   *%edi
4102bd:	85 c0                	test   %eax,%eax
4102bf:	75 0a                	jne    0x4102cb
4102c1:	83 c6 04             	add    $0x4,%esi
4102c4:	3b 75 0c             	cmp    0xc(%ebp),%esi
4102c7:	75 e4                	jne    0x4102ad
4102c9:	33 c0                	xor    %eax,%eax
4102cb:	5f                   	pop    %edi
4102cc:	5e                   	pop    %esi
4102cd:	5d                   	pop    %ebp
4102ce:	c3                   	ret
4102cf:	6a 08                	push   $0x8
4102d1:	68 78 16 43 00       	push   $0x431678
4102d6:	e8 e5 7c ff ff       	call   0x407fc0
4102db:	8b 45 08             	mov    0x8(%ebp),%eax
4102de:	ff 30                	push   (%eax)
4102e0:	e8 3e ce ff ff       	call   0x40d123
4102e5:	59                   	pop    %ecx
4102e6:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
4102ea:	8b 4d 0c             	mov    0xc(%ebp),%ecx
4102ed:	e8 2a 00 00 00       	call   0x41031c
4102f2:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4102f9:	e8 12 00 00 00       	call   0x410310
4102fe:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410301:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
410308:	59                   	pop    %ecx
410309:	5f                   	pop    %edi
41030a:	5e                   	pop    %esi
41030b:	5b                   	pop    %ebx
41030c:	c9                   	leave
41030d:	c2 0c 00             	ret    $0xc
410310:	8b 45 10             	mov    0x10(%ebp),%eax
410313:	ff 30                	push   (%eax)
410315:	e8 51 ce ff ff       	call   0x40d16b
41031a:	59                   	pop    %ecx
41031b:	c3                   	ret
41031c:	6a 08                	push   $0x8
41031e:	68 58 16 43 00       	push   $0x431658
410323:	e8 98 7c ff ff       	call   0x407fc0
410328:	8b f1                	mov    %ecx,%esi
41032a:	80 3d b8 49 43 00 00 	cmpb   $0x0,0x4349b8
410331:	0f 85 96 00 00 00    	jne    0x4103cd
410337:	33 c0                	xor    %eax,%eax
410339:	40                   	inc    %eax
41033a:	b9 b0 49 43 00       	mov    $0x4349b0,%ecx
41033f:	87 01                	xchg   %eax,(%ecx)
410341:	33 db                	xor    %ebx,%ebx
410343:	89 5d fc             	mov    %ebx,-0x4(%ebp)
410346:	8b 06                	mov    (%esi),%eax
410348:	8b 00                	mov    (%eax),%eax
41034a:	85 c0                	test   %eax,%eax
41034c:	75 2c                	jne    0x41037a
41034e:	8b 3d 14 30 43 00    	mov    0x433014,%edi