00401000 <.text>:
401000:	c7 01 34 72 41 00    	movl   $0x417234,(%ecx)
401006:	e9 42 49 00 00       	jmp    0x40594d
40100b:	cc                   	int3
40100c:	cc                   	int3
40100d:	cc                   	int3
40100e:	cc                   	int3
40100f:	cc                   	int3
401010:	56                   	push   %esi
401011:	8b f1                	mov    %ecx,%esi
401013:	c7 06 34 72 41 00    	movl   $0x417234,(%esi)
401019:	e8 2f 49 00 00       	call   0x40594d
40101e:	f6 44 24 08 01       	testb  $0x1,0x8(%esp)
401023:	74 09                	je     0x40102e
401025:	56                   	push   %esi
401026:	e8 04 4a 00 00       	call   0x405a2f
40102b:	83 c4 04             	add    $0x4,%esp
40102e:	8b c6                	mov    %esi,%eax
401030:	5e                   	pop    %esi
401031:	c2 04 00             	ret    $0x4
401034:	cc                   	int3
401035:	cc                   	int3
401036:	cc                   	int3
401037:	cc                   	int3
401038:	cc                   	int3
401039:	cc                   	int3
40103a:	cc                   	int3
40103b:	cc                   	int3
40103c:	cc                   	int3
40103d:	cc                   	int3
40103e:	cc                   	int3
40103f:	cc                   	int3
401040:	83 ec 08             	sub    $0x8,%esp
401043:	56                   	push   %esi
401044:	8b 74 24 14          	mov    0x14(%esp),%esi
401048:	8d 46 ff             	lea    -0x1(%esi),%eax
40104b:	83 f8 0f             	cmp    $0xf,%eax
40104e:	0f 87 09 01 00 00    	ja     0x40115d
401054:	53                   	push   %ebx
401055:	33 db                	xor    %ebx,%ebx
401057:	53                   	push   %ebx
401058:	6a 01                	push   $0x1
40105a:	53                   	push   %ebx
40105b:	53                   	push   %ebx
40105c:	8d 4c 24 28          	lea    0x28(%esp),%ecx
401060:	51                   	push   %ecx
401061:	89 5c 24 2c          	mov    %ebx,0x2c(%esp)
401065:	ff 15 f0 d6 41 00    	call   *0x41d6f0
40106b:	85 c0                	test   %eax,%eax
40106d:	75 2e                	jne    0x40109d
40106f:	6a 08                	push   $0x8
401071:	6a 01                	push   $0x1
401073:	53                   	push   %ebx
401074:	53                   	push   %ebx
401075:	8d 54 24 28          	lea    0x28(%esp),%edx
401079:	52                   	push   %edx
40107a:	ff 15 f0 d6 41 00    	call   *0x41d6f0
401080:	85 c0                	test   %eax,%eax
401082:	75 19                	jne    0x40109d
401084:	6a 08                	push   $0x8
401086:	6a 01                	push   $0x1
401088:	53                   	push   %ebx
401089:	53                   	push   %ebx
40108a:	8d 44 24 28          	lea    0x28(%esp),%eax
40108e:	50                   	push   %eax
40108f:	ff 15 f0 d6 41 00    	call   *0x41d6f0
401095:	85 c0                	test   %eax,%eax
401097:	0f 84 91 00 00 00    	je     0x40112e
40109d:	8b 54 24 18          	mov    0x18(%esp),%edx
4010a1:	8d 4c 24 08          	lea    0x8(%esp),%ecx
4010a5:	51                   	push   %ecx
4010a6:	53                   	push   %ebx
4010a7:	53                   	push   %ebx
4010a8:	68 34 01 00 00       	push   $0x134
4010ad:	68 08 c0 41 00       	push   $0x41c008
4010b2:	52                   	push   %edx
4010b3:	89 5c 24 20          	mov    %ebx,0x20(%esp)
4010b7:	ff 15 f4 d6 41 00    	call   *0x41d6f4
4010bd:	85 c0                	test   %eax,%eax
4010bf:	74 6d                	je     0x40112e
4010c1:	33 c0                	xor    %eax,%eax
4010c3:	3b f3                	cmp    %ebx,%esi
4010c5:	7e 1b                	jle    0x4010e2
4010c7:	8b 4c 24 14          	mov    0x14(%esp),%ecx
4010cb:	8d 4c 31 ff          	lea    -0x1(%ecx,%esi,1),%ecx
4010cf:	90                   	nop
4010d0:	8a 11                	mov    (%ecx),%dl
4010d2:	88 90 4c c1 41 00    	mov    %dl,0x41c14c(%eax)
4010d8:	83 c0 01             	add    $0x1,%eax
4010db:	83 e9 01             	sub    $0x1,%ecx
4010de:	3b c6                	cmp    %esi,%eax
4010e0:	7c ee                	jl     0x4010d0
4010e2:	8d 46 01             	lea    0x1(%esi),%eax
4010e5:	83 f8 3e             	cmp    $0x3e,%eax
4010e8:	88 9e 4c c1 41 00    	mov    %bl,0x41c14c(%esi)
4010ee:	7d 19                	jge    0x401109
4010f0:	ba 3e 00 00 00       	mov    $0x3e,%edx
4010f5:	2b d0                	sub    %eax,%edx
4010f7:	52                   	push   %edx
4010f8:	8d 88 4c c1 41 00    	lea    0x41c14c(%eax),%ecx
4010fe:	6a 01                	push   $0x1
401100:	51                   	push   %ecx
401101:	e8 4a 4a 00 00       	call   0x405b50
401106:	83 c4 0c             	add    $0xc,%esp
401109:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40110d:	8b 54 24 18          	mov    0x18(%esp),%edx
401111:	8d 44 24 0c          	lea    0xc(%esp),%eax
401115:	50                   	push   %eax
401116:	53                   	push   %ebx
401117:	51                   	push   %ecx
401118:	6a 4c                	push   $0x4c
40111a:	68 40 c1 41 00       	push   $0x41c140
40111f:	52                   	push   %edx
401120:	89 5c 24 24          	mov    %ebx,0x24(%esp)
401124:	ff 15 f4 d6 41 00    	call   *0x41d6f4
40112a:	85 c0                	test   %eax,%eax
40112c:	75 08                	jne    0x401136
40112e:	5b                   	pop    %ebx
40112f:	32 c0                	xor    %al,%al
401131:	5e                   	pop    %esi
401132:	83 c4 08             	add    $0x8,%esp
401135:	c3                   	ret
401136:	8b 44 24 20          	mov    0x20(%esp),%eax
40113a:	8b 08                	mov    (%eax),%ecx
40113c:	8b 54 24 1c          	mov    0x1c(%esp),%edx
401140:	51                   	push   %ecx
401141:	50                   	push   %eax
401142:	8b 44 24 14          	mov    0x14(%esp),%eax
401146:	52                   	push   %edx
401147:	53                   	push   %ebx
401148:	6a 01                	push   $0x1
40114a:	53                   	push   %ebx
40114b:	50                   	push   %eax
40114c:	ff 15 f8 d6 41 00    	call   *0x41d6f8
401152:	85 c0                	test   %eax,%eax
401154:	5b                   	pop    %ebx
401155:	0f 95 c0             	setne  %al
401158:	5e                   	pop    %esi
401159:	83 c4 08             	add    $0x8,%esp
40115c:	c3                   	ret
40115d:	32 c0                	xor    %al,%al
40115f:	5e                   	pop    %esi
401160:	83 c4 08             	add    $0x8,%esp
401163:	c3                   	ret
401164:	cc                   	int3
401165:	cc                   	int3
401166:	cc                   	int3
401167:	cc                   	int3
401168:	cc                   	int3
401169:	cc                   	int3
40116a:	cc                   	int3
40116b:	cc                   	int3
40116c:	cc                   	int3
40116d:	cc                   	int3
40116e:	cc                   	int3
40116f:	cc                   	int3
401170:	0f b7 44 24 0c       	movzwl 0xc(%esp),%eax
401175:	53                   	push   %ebx
401176:	56                   	push   %esi
401177:	57                   	push   %edi
401178:	6a 0a                	push   $0xa
40117a:	50                   	push   %eax
40117b:	6a 00                	push   $0x0
40117d:	ff 15 1c 70 41 00    	call   *0x41701c
401183:	8b f0                	mov    %eax,%esi
401185:	56                   	push   %esi
401186:	6a 00                	push   $0x0
401188:	ff 15 18 70 41 00    	call   *0x417018
40118e:	56                   	push   %esi
40118f:	6a 00                	push   $0x0
401191:	8b f8                	mov    %eax,%edi
401193:	ff 15 14 70 41 00    	call   *0x417014
401199:	57                   	push   %edi
40119a:	8b f0                	mov    %eax,%esi
40119c:	ff 15 10 70 41 00    	call   *0x417010
4011a2:	6a 00                	push   $0x0
4011a4:	6a 40                	push   $0x40
4011a6:	68 00 30 00 00       	push   $0x3000
4011ab:	56                   	push   %esi
4011ac:	6a 00                	push   $0x0
4011ae:	8b d8                	mov    %eax,%ebx
4011b0:	ff 15 0c 70 41 00    	call   *0x41700c
4011b6:	50                   	push   %eax
4011b7:	ff 15 e8 d6 41 00    	call   *0x41d6e8
4011bd:	56                   	push   %esi
4011be:	8b f8                	mov    %eax,%edi
4011c0:	53                   	push   %ebx
4011c1:	57                   	push   %edi
4011c2:	e8 09 4a 00 00       	call   0x405bd0
4011c7:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4011cb:	8b 54 24 20          	mov    0x20(%esp),%edx
4011cf:	83 c4 0c             	add    $0xc,%esp
4011d2:	89 39                	mov    %edi,(%ecx)
4011d4:	5f                   	pop    %edi
4011d5:	89 32                	mov    %esi,(%edx)
4011d7:	5e                   	pop    %esi
4011d8:	5b                   	pop    %ebx
4011d9:	c3                   	ret
4011da:	cc                   	int3
4011db:	cc                   	int3
4011dc:	cc                   	int3
4011dd:	cc                   	int3
4011de:	cc                   	int3
4011df:	cc                   	int3
4011e0:	53                   	push   %ebx
4011e1:	56                   	push   %esi
4011e2:	57                   	push   %edi
4011e3:	8b 7c 24 10          	mov    0x10(%esp),%edi
4011e7:	8b c7                	mov    %edi,%eax
4011e9:	8d 50 01             	lea    0x1(%eax),%edx
4011ec:	8d 64 24 00          	lea    0x0(%esp),%esp
4011f0:	8a 08                	mov    (%eax),%cl
4011f2:	83 c0 01             	add    $0x1,%eax
4011f5:	84 c9                	test   %cl,%cl
4011f7:	75 f7                	jne    0x4011f0
4011f9:	2b c2                	sub    %edx,%eax
4011fb:	8b d8                	mov    %eax,%ebx
4011fd:	99                   	cltd
4011fe:	2b c2                	sub    %edx,%eax
401200:	8b f0                	mov    %eax,%esi
401202:	33 c9                	xor    %ecx,%ecx
401204:	d1 fe                	sar    $1,%esi
401206:	78 1c                	js     0x401224
401208:	8d 54 3b ff          	lea    -0x1(%ebx,%edi,1),%edx
40120c:	8d 64 24 00          	lea    0x0(%esp),%esp
401210:	8a 1a                	mov    (%edx),%bl
401212:	8a 04 39             	mov    (%ecx,%edi,1),%al
401215:	88 1c 39             	mov    %bl,(%ecx,%edi,1)
401218:	88 02                	mov    %al,(%edx)
40121a:	83 c1 01             	add    $0x1,%ecx
40121d:	83 ea 01             	sub    $0x1,%edx
401220:	3b ce                	cmp    %esi,%ecx
401222:	7e ec                	jle    0x401210
401224:	8b c7                	mov    %edi,%eax
401226:	5f                   	pop    %edi
401227:	5e                   	pop    %esi
401228:	5b                   	pop    %ebx
401229:	c3                   	ret
40122a:	cc                   	int3
40122b:	cc                   	int3
40122c:	cc                   	int3
40122d:	cc                   	int3
40122e:	cc                   	int3
40122f:	cc                   	int3
401230:	81 ec 4c 02 00 00    	sub    $0x24c,%esp
401236:	a1 20 c5 41 00       	mov    0x41c520,%eax
40123b:	33 c4                	xor    %esp,%eax
40123d:	89 84 24 48 02 00 00 	mov    %eax,0x248(%esp)
401244:	56                   	push   %esi
401245:	68 04 01 00 00       	push   $0x104
40124a:	8d 84 24 4c 01 00 00 	lea    0x14c(%esp),%eax
401251:	6a 00                	push   $0x0
401253:	50                   	push   %eax
401254:	e8 f7 48 00 00       	call   0x405b50
401259:	8b 84 24 60 02 00 00 	mov    0x260(%esp),%eax
401260:	83 c4 0c             	add    $0xc,%esp
401263:	85 c0                	test   %eax,%eax
401265:	75 69                	jne    0x4012d0
401267:	8b 15 d0 d6 41 00    	mov    0x41d6d0,%edx
40126d:	68 04 01 00 00       	push   $0x104
401272:	8d 8c 24 4c 01 00 00 	lea    0x14c(%esp),%ecx
401279:	51                   	push   %ecx
40127a:	68 e9 03 00 00       	push   $0x3e9
40127f:	52                   	push   %edx
401280:	ff 15 98 71 41 00    	call   *0x417198
401286:	8d 84 24 48 01 00 00 	lea    0x148(%esp),%eax
40128d:	8d 50 01             	lea    0x1(%eax),%edx
401290:	8a 08                	mov    (%eax),%cl
401292:	83 c0 01             	add    $0x1,%eax
401295:	84 c9                	test   %cl,%cl
401297:	75 f7                	jne    0x401290
401299:	2b c2                	sub    %edx,%eax
40129b:	75 4f                	jne    0x4012ec
40129d:	a1 c8 d6 41 00       	mov    0x41d6c8,%eax
4012a2:	8b 35 9c 71 41 00    	mov    0x41719c,%esi
4012a8:	6a 00                	push   $0x0
4012aa:	50                   	push   %eax
4012ab:	ff d6                	call   *%esi
4012ad:	8b 0d c4 d6 41 00    	mov    0x41d6c4,%ecx
4012b3:	6a 00                	push   $0x0
4012b5:	51                   	push   %ecx
4012b6:	ff d6                	call   *%esi
4012b8:	32 c0                	xor    %al,%al
4012ba:	5e                   	pop    %esi
4012bb:	8b 8c 24 48 02 00 00 	mov    0x248(%esp),%ecx
4012c2:	33 cc                	xor    %esp,%ecx
4012c4:	e8 6c 4c 00 00       	call   0x405f35
4012c9:	81 c4 4c 02 00 00    	add    $0x24c,%esp
4012cf:	c3                   	ret
4012d0:	8d 94 24 48 01 00 00 	lea    0x148(%esp),%edx
4012d7:	2b d0                	sub    %eax,%edx
4012d9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
4012e0:	8a 08                	mov    (%eax),%cl
4012e2:	88 0c 02             	mov    %cl,(%edx,%eax,1)
4012e5:	83 c0 01             	add    $0x1,%eax
4012e8:	84 c9                	test   %cl,%cl
4012ea:	75 f4                	jne    0x4012e0
4012ec:	8d 54 24 08          	lea    0x8(%esp),%edx
4012f0:	52                   	push   %edx
4012f1:	8d 84 24 4c 01 00 00 	lea    0x14c(%esp),%eax
4012f8:	50                   	push   %eax
4012f9:	ff 15 24 70 41 00    	call   *0x417024
4012ff:	83 f8 ff             	cmp    $0xffffffff,%eax
401302:	75 34                	jne    0x401338
401304:	8b 0d c8 d6 41 00    	mov    0x41d6c8,%ecx
40130a:	8b 35 9c 71 41 00    	mov    0x41719c,%esi
401310:	6a 00                	push   $0x0
401312:	51                   	push   %ecx
401313:	ff d6                	call   *%esi
401315:	8b 15 c4 d6 41 00    	mov    0x41d6c4,%edx
40131b:	6a 00                	push   $0x0
40131d:	52                   	push   %edx
40131e:	ff d6                	call   *%esi
401320:	32 c0                	xor    %al,%al
401322:	5e                   	pop    %esi
401323:	8b 8c 24 48 02 00 00 	mov    0x248(%esp),%ecx
40132a:	33 cc                	xor    %esp,%ecx
40132c:	e8 04 4c 00 00       	call   0x405f35
401331:	81 c4 4c 02 00 00    	add    $0x24c,%esp
401337:	c3                   	ret
401338:	50                   	push   %eax
401339:	ff 15 20 70 41 00    	call   *0x417020
40133f:	a1 c8 d6 41 00       	mov    0x41d6c8,%eax
401344:	8b 35 9c 71 41 00    	mov    0x41719c,%esi
40134a:	6a 01                	push   $0x1
40134c:	50                   	push   %eax
40134d:	ff d6                	call   *%esi
40134f:	8b 0d c4 d6 41 00    	mov    0x41d6c4,%ecx
401355:	6a 01                	push   $0x1
401357:	51                   	push   %ecx
401358:	ff d6                	call   *%esi
40135a:	8b 8c 24 4c 02 00 00 	mov    0x24c(%esp),%ecx
401361:	5e                   	pop    %esi
401362:	33 cc                	xor    %esp,%ecx
401364:	b0 01                	mov    $0x1,%al
401366:	e8 ca 4b 00 00       	call   0x405f35
40136b:	81 c4 4c 02 00 00    	add    $0x24c,%esp
401371:	c3                   	ret
401372:	cc                   	int3
401373:	cc                   	int3
401374:	cc                   	int3
401375:	cc                   	int3
401376:	cc                   	int3
401377:	cc                   	int3
401378:	cc                   	int3
401379:	cc                   	int3
40137a:	cc                   	int3
40137b:	cc                   	int3
40137c:	cc                   	int3
40137d:	cc                   	int3