4100e1:	52                   	push   %edx
4100e2:	56                   	push   %esi
4100e3:	ff 75 1c             	push   0x1c(%ebp)
4100e6:	ff 75 18             	push   0x18(%ebp)
4100e9:	ff 75 14             	push   0x14(%ebp)
4100ec:	ff 75 10             	push   0x10(%ebp)
4100ef:	51                   	push   %ecx
4100f0:	50                   	push   %eax
4100f1:	ff 15 c4 c0 41 00    	call   *0x41c0c4
4100f7:	5f                   	pop    %edi
4100f8:	5e                   	pop    %esi
4100f9:	5b                   	pop    %ebx
4100fa:	5d                   	pop    %ebp
4100fb:	c3                   	ret
4100fc:	8b ff                	mov    %edi,%edi
4100fe:	55                   	push   %ebp
4100ff:	8b ec                	mov    %esp,%ebp
410101:	8b 55 08             	mov    0x8(%ebp),%edx
410104:	57                   	push   %edi
410105:	33 ff                	xor    %edi,%edi
410107:	66 39 3a             	cmp    %di,(%edx)
41010a:	74 21                	je     0x41012d
41010c:	56                   	push   %esi
41010d:	8b ca                	mov    %edx,%ecx
41010f:	8d 71 02             	lea    0x2(%ecx),%esi
410112:	66 8b 01             	mov    (%ecx),%ax
410115:	83 c1 02             	add    $0x2,%ecx
410118:	66 3b c7             	cmp    %di,%ax
41011b:	75 f5                	jne    0x410112
41011d:	2b ce                	sub    %esi,%ecx
41011f:	d1 f9                	sar    $1,%ecx
410121:	8d 14 4a             	lea    (%edx,%ecx,2),%edx
410124:	83 c2 02             	add    $0x2,%edx
410127:	66 39 3a             	cmp    %di,(%edx)
41012a:	75 e1                	jne    0x41010d
41012c:	5e                   	pop    %esi
41012d:	8d 42 02             	lea    0x2(%edx),%eax
410130:	5f                   	pop    %edi
410131:	5d                   	pop    %ebp
410132:	c3                   	ret
410133:	8b ff                	mov    %edi,%edi
410135:	55                   	push   %ebp
410136:	8b ec                	mov    %esp,%ebp
410138:	51                   	push   %ecx
410139:	53                   	push   %ebx
41013a:	56                   	push   %esi
41013b:	57                   	push   %edi
41013c:	ff 15 c8 c0 41 00    	call   *0x41c0c8
410142:	8b f0                	mov    %eax,%esi
410144:	33 ff                	xor    %edi,%edi
410146:	85 f6                	test   %esi,%esi
410148:	74 59                	je     0x4101a3
41014a:	56                   	push   %esi
41014b:	e8 ac ff ff ff       	call   0x4100fc
410150:	57                   	push   %edi
410151:	57                   	push   %edi
410152:	57                   	push   %edi
410153:	8b d8                	mov    %eax,%ebx
410155:	57                   	push   %edi
410156:	2b de                	sub    %esi,%ebx
410158:	d1 fb                	sar    $1,%ebx
41015a:	53                   	push   %ebx
41015b:	56                   	push   %esi
41015c:	57                   	push   %edi
41015d:	57                   	push   %edi
41015e:	e8 e2 fe ff ff       	call   0x410045
410163:	83 c4 24             	add    $0x24,%esp
410166:	89 45 fc             	mov    %eax,-0x4(%ebp)
410169:	85 c0                	test   %eax,%eax
41016b:	74 36                	je     0x4101a3
41016d:	50                   	push   %eax
41016e:	e8 70 08 00 00       	call   0x4109e3
410173:	8b f8                	mov    %eax,%edi
410175:	59                   	pop    %ecx
410176:	85 ff                	test   %edi,%edi
410178:	74 1e                	je     0x410198
41017a:	33 c0                	xor    %eax,%eax
41017c:	50                   	push   %eax
41017d:	50                   	push   %eax
41017e:	ff 75 fc             	push   -0x4(%ebp)
410181:	57                   	push   %edi
410182:	53                   	push   %ebx
410183:	56                   	push   %esi
410184:	50                   	push   %eax
410185:	50                   	push   %eax
410186:	e8 ba fe ff ff       	call   0x410045
41018b:	83 c4 20             	add    $0x20,%esp
41018e:	85 c0                	test   %eax,%eax
410190:	74 06                	je     0x410198
410192:	8b df                	mov    %edi,%ebx
410194:	33 ff                	xor    %edi,%edi
410196:	eb 02                	jmp    0x41019a
410198:	33 db                	xor    %ebx,%ebx
41019a:	57                   	push   %edi
41019b:	e8 a3 eb ff ff       	call   0x40ed43
4101a0:	59                   	pop    %ecx
4101a1:	eb 02                	jmp    0x4101a5
4101a3:	8b df                	mov    %edi,%ebx
4101a5:	85 f6                	test   %esi,%esi
4101a7:	74 07                	je     0x4101b0
4101a9:	56                   	push   %esi
4101aa:	ff 15 cc c0 41 00    	call   *0x41c0cc
4101b0:	5f                   	pop    %edi
4101b1:	5e                   	pop    %esi
4101b2:	8b c3                	mov    %ebx,%eax
4101b4:	5b                   	pop    %ebx
4101b5:	c9                   	leave
4101b6:	c3                   	ret
4101b7:	cc                   	int3
4101b8:	cc                   	int3
4101b9:	cc                   	int3
4101ba:	cc                   	int3
4101bb:	cc                   	int3
4101bc:	cc                   	int3
4101bd:	cc                   	int3
4101be:	cc                   	int3
4101bf:	cc                   	int3
4101c0:	8b ff                	mov    %edi,%edi
4101c2:	56                   	push   %esi
4101c3:	57                   	push   %edi
4101c4:	bf c0 6e 42 00       	mov    $0x426ec0,%edi
4101c9:	33 f6                	xor    %esi,%esi
4101cb:	6a 00                	push   $0x0
4101cd:	68 a0 0f 00 00       	push   $0xfa0
4101d2:	57                   	push   %edi
4101d3:	e8 e5 12 00 00       	call   0x4114bd
4101d8:	85 c0                	test   %eax,%eax
4101da:	74 18                	je     0x4101f4
4101dc:	ff 05 10 70 42 00    	incl   0x427010
4101e2:	83 c6 18             	add    $0x18,%esi
4101e5:	83 c7 18             	add    $0x18,%edi
4101e8:	81 fe 50 01 00 00    	cmp    $0x150,%esi
4101ee:	72 db                	jb     0x4101cb
4101f0:	b0 01                	mov    $0x1,%al
4101f2:	eb 0a                	jmp    0x4101fe
4101f4:	6a 00                	push   $0x0
4101f6:	e8 25 00 00 00       	call   0x410220
4101fb:	59                   	pop    %ecx
4101fc:	32 c0                	xor    %al,%al
4101fe:	5f                   	pop    %edi
4101ff:	5e                   	pop    %esi
410200:	c3                   	ret
410201:	8b ff                	mov    %edi,%edi
410203:	55                   	push   %ebp
410204:	8b ec                	mov    %esp,%ebp
410206:	6b 45 08 18          	imul   $0x18,0x8(%ebp),%eax
41020a:	05 c0 6e 42 00       	add    $0x426ec0,%eax
41020f:	50                   	push   %eax
410210:	ff 15 40 c1 41 00    	call   *0x41c140
410216:	5d                   	pop    %ebp
410217:	c3                   	ret
410218:	cc                   	int3
410219:	cc                   	int3
41021a:	cc                   	int3
41021b:	cc                   	int3
41021c:	cc                   	int3
41021d:	cc                   	int3
41021e:	cc                   	int3
41021f:	cc                   	int3
410220:	8b ff                	mov    %edi,%edi
410222:	56                   	push   %esi
410223:	8b 35 10 70 42 00    	mov    0x427010,%esi
410229:	85 f6                	test   %esi,%esi
41022b:	74 20                	je     0x41024d
41022d:	6b c6 18             	imul   $0x18,%esi,%eax
410230:	57                   	push   %edi
410231:	8d b8 a8 6e 42 00    	lea    0x426ea8(%eax),%edi
410237:	57                   	push   %edi
410238:	ff 15 38 c1 41 00    	call   *0x41c138
41023e:	ff 0d 10 70 42 00    	decl   0x427010
410244:	83 ef 18             	sub    $0x18,%edi
410247:	83 ee 01             	sub    $0x1,%esi
41024a:	75 eb                	jne    0x410237
41024c:	5f                   	pop    %edi
41024d:	b0 01                	mov    $0x1,%al
41024f:	5e                   	pop    %esi
410250:	c3                   	ret
410251:	8b ff                	mov    %edi,%edi
410253:	55                   	push   %ebp
410254:	8b ec                	mov    %esp,%ebp
410256:	6b 45 08 18          	imul   $0x18,0x8(%ebp),%eax
41025a:	05 c0 6e 42 00       	add    $0x426ec0,%eax
41025f:	50                   	push   %eax
410260:	ff 15 3c c1 41 00    	call   *0x41c13c
410266:	5d                   	pop    %ebp
410267:	c3                   	ret
410268:	8b ff                	mov    %edi,%edi
41026a:	55                   	push   %ebp
41026b:	8b ec                	mov    %esp,%ebp
41026d:	51                   	push   %ecx
41026e:	64 a1 30 00 00 00    	mov    %fs:0x30,%eax
410274:	56                   	push   %esi
410275:	33 f6                	xor    %esi,%esi
410277:	89 75 fc             	mov    %esi,-0x4(%ebp)
41027a:	8b 40 10             	mov    0x10(%eax),%eax
41027d:	39 70 08             	cmp    %esi,0x8(%eax)
410280:	7c 0f                	jl     0x410291
410282:	8d 45 fc             	lea    -0x4(%ebp),%eax
410285:	50                   	push   %eax
410286:	e8 d4 10 00 00       	call   0x41135f
41028b:	83 7d fc 01          	cmpl   $0x1,-0x4(%ebp)
41028f:	74 03                	je     0x410294
410291:	33 f6                	xor    %esi,%esi
410293:	46                   	inc    %esi
410294:	8b c6                	mov    %esi,%eax
410296:	5e                   	pop    %esi
410297:	c9                   	leave
410298:	c3                   	ret
410299:	8b ff                	mov    %edi,%edi
41029b:	55                   	push   %ebp
41029c:	8b ec                	mov    %esp,%ebp
41029e:	51                   	push   %ecx
41029f:	51                   	push   %ecx
4102a0:	53                   	push   %ebx
4102a1:	56                   	push   %esi
4102a2:	6a 38                	push   $0x38
4102a4:	6a 40                	push   $0x40
4102a6:	e8 3b ea ff ff       	call   0x40ece6
4102ab:	8b f0                	mov    %eax,%esi
4102ad:	33 db                	xor    %ebx,%ebx
4102af:	89 75 f8             	mov    %esi,-0x8(%ebp)
4102b2:	59                   	pop    %ecx
4102b3:	59                   	pop    %ecx
4102b4:	85 f6                	test   %esi,%esi
4102b6:	75 04                	jne    0x4102bc
4102b8:	8b f3                	mov    %ebx,%esi
4102ba:	eb 4b                	jmp    0x410307
4102bc:	8d 86 00 0e 00 00    	lea    0xe00(%esi),%eax
4102c2:	3b f0                	cmp    %eax,%esi
4102c4:	74 41                	je     0x410307
4102c6:	57                   	push   %edi
4102c7:	8d 7e 20             	lea    0x20(%esi),%edi
4102ca:	8b f0                	mov    %eax,%esi
4102cc:	53                   	push   %ebx
4102cd:	68 a0 0f 00 00       	push   $0xfa0
4102d2:	8d 47 e0             	lea    -0x20(%edi),%eax
4102d5:	50                   	push   %eax
4102d6:	e8 e2 11 00 00       	call   0x4114bd
4102db:	83 4f f8 ff          	orl    $0xffffffff,-0x8(%edi)
4102df:	80 67 0d f8          	andb   $0xf8,0xd(%edi)
4102e3:	89 1f                	mov    %ebx,(%edi)
4102e5:	8d 7f 38             	lea    0x38(%edi),%edi
4102e8:	89 5f cc             	mov    %ebx,-0x34(%edi)
4102eb:	8d 47 e0             	lea    -0x20(%edi),%eax
4102ee:	c7 47 d0 00 00 0a 0a 	movl   $0xa0a0000,-0x30(%edi)
4102f5:	c6 47 d4 0a          	movb   $0xa,-0x2c(%edi)
4102f9:	89 5f d6             	mov    %ebx,-0x2a(%edi)
4102fc:	88 5f da             	mov    %bl,-0x26(%edi)
4102ff:	3b c6                	cmp    %esi,%eax
410301:	75 c9                	jne    0x4102cc
410303:	8b 75 f8             	mov    -0x8(%ebp),%esi
410306:	5f                   	pop    %edi
410307:	53                   	push   %ebx
410308:	e8 36 ea ff ff       	call   0x40ed43
41030d:	59                   	pop    %ecx
41030e:	8b c6                	mov    %esi,%eax
410310:	5e                   	pop    %esi
410311:	5b                   	pop    %ebx
410312:	c9                   	leave
410313:	c3                   	ret
410314:	8b ff                	mov    %edi,%edi
410316:	55                   	push   %ebp
410317:	8b ec                	mov    %esp,%ebp
410319:	56                   	push   %esi
41031a:	8b 75 08             	mov    0x8(%ebp),%esi
41031d:	85 f6                	test   %esi,%esi
41031f:	74 25                	je     0x410346
410321:	53                   	push   %ebx
410322:	8d 9e 00 0e 00 00    	lea    0xe00(%esi),%ebx
410328:	57                   	push   %edi
410329:	8b fe                	mov    %esi,%edi
41032b:	3b f3                	cmp    %ebx,%esi
41032d:	74 0e                	je     0x41033d
41032f:	57                   	push   %edi
410330:	ff 15 38 c1 41 00    	call   *0x41c138
410336:	83 c7 38             	add    $0x38,%edi
410339:	3b fb                	cmp    %ebx,%edi
41033b:	75 f2                	jne    0x41032f
41033d:	56                   	push   %esi
41033e:	e8 00 ea ff ff       	call   0x40ed43
410343:	59                   	pop    %ecx
410344:	5f                   	pop    %edi
410345:	5b                   	pop    %ebx
410346:	5e                   	pop    %esi
410347:	5d                   	pop    %ebp
410348:	c3                   	ret
410349:	6a 10                	push   $0x10
41034b:	68 c0 3f 42 00       	push   $0x423fc0
410350:	e8 7b 86 ff ff       	call   0x4089d0
410355:	81 7d 08 00 20 00 00 	cmpl   $0x2000,0x8(%ebp)
41035c:	72 21                	jb     0x41037f
41035e:	e8 70 e9 ff ff       	call   0x40ecd3
410363:	6a 09                	push   $0x9
410365:	5e                   	pop    %esi
410366:	89 30                	mov    %esi,(%eax)
410368:	e8 a9 e8 ff ff       	call   0x40ec16
41036d:	8b c6                	mov    %esi,%eax
41036f:	8b 4d f0             	mov    -0x10(%ebp),%ecx
410372:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
410379:	59                   	pop    %ecx
41037a:	5f                   	pop    %edi
41037b:	5e                   	pop    %esi
41037c:	5b                   	pop    %ebx
41037d:	c9                   	leave
41037e:	c3                   	ret
41037f:	33 f6                	xor    %esi,%esi
410381:	89 75 e4             	mov    %esi,-0x1c(%ebp)
410384:	6a 07                	push   $0x7
410386:	e8 76 fe ff ff       	call   0x410201
41038b:	59                   	pop    %ecx
41038c:	89 75 fc             	mov    %esi,-0x4(%ebp)
41038f:	8b fe                	mov    %esi,%edi
410391:	a1 18 72 42 00       	mov    0x427218,%eax
410396:	89 7d e0             	mov    %edi,-0x20(%ebp)
410399:	39 45 08             	cmp    %eax,0x8(%ebp)
41039c:	7c 1f                	jl     0x4103bd
41039e:	39 34 bd 18 70 42 00 	cmp    %esi,0x427018(,%edi,4)
4103a5:	75 31                	jne    0x4103d8
4103a7:	e8 ed fe ff ff       	call   0x410299
4103ac:	89 04 bd 18 70 42 00 	mov    %eax,0x427018(,%edi,4)
4103b3:	85 c0                	test   %eax,%eax
4103b5:	75 14                	jne    0x4103cb
4103b7:	6a 0c                	push   $0xc
4103b9:	5e                   	pop    %esi
4103ba:	89 75 e4             	mov    %esi,-0x1c(%ebp)
4103bd:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
4103c4:	e8 15 00 00 00       	call   0x4103de
4103c9:	eb a2                	jmp    0x41036d
4103cb:	a1 18 72 42 00       	mov    0x427218,%eax
4103d0:	83 c0 40             	add    $0x40,%eax
4103d3:	a3 18 72 42 00       	mov    %eax,0x427218
4103d8:	47                   	inc    %edi
4103d9:	eb bb                	jmp    0x410396
4103db:	8b 75 e4             	mov    -0x1c(%ebp),%esi
4103de:	6a 07                	push   $0x7
4103e0:	e8 6c fe ff ff       	call   0x410251
4103e5:	59                   	pop    %ecx
4103e6:	c3                   	ret
4103e7:	8b ff                	mov    %edi,%edi
4103e9:	55                   	push   %ebp
4103ea:	8b ec                	mov    %esp,%ebp
4103ec:	8b 45 08             	mov    0x8(%ebp),%eax
4103ef:	8b c8                	mov    %eax,%ecx
4103f1:	83 e0 3f             	and    $0x3f,%eax
4103f4:	c1 f9 06             	sar    $0x6,%ecx
4103f7:	6b c0 38             	imul   $0x38,%eax,%eax
4103fa:	03 04 8d 18 70 42 00 	add    0x427018(,%ecx,4),%eax
410401:	50                   	push   %eax
410402:	ff 15 40 c1 41 00    	call   *0x41c140
410408:	5d                   	pop    %ebp