407f6e:	66 89 45 c0          	mov    %ax,-0x40(%ebp)
407f72:	83 f9 08             	cmp    $0x8,%ecx
407f75:	72 2e                	jb     0x407fa5
407f77:	8b 55 d8             	mov    -0x28(%ebp),%edx
407f7a:	8d 0c 4d 02 00 00 00 	lea    0x2(,%ecx,2),%ecx
407f81:	8b c2                	mov    %edx,%eax
407f83:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
407f89:	72 10                	jb     0x407f9b
407f8b:	8b 50 fc             	mov    -0x4(%eax),%edx
407f8e:	83 c1 23             	add    $0x23,%ecx
407f91:	2b c2                	sub    %edx,%eax
407f93:	83 c0 fc             	add    $0xfffffffc,%eax
407f96:	83 f8 1f             	cmp    $0x1f,%eax
407f99:	77 2d                	ja     0x407fc8
407f9b:	51                   	push   %ecx
407f9c:	52                   	push   %edx
407f9d:	e8 6c 39 01 00       	call   0x41b90e
407fa2:	83 c4 08             	add    $0x8,%esp
407fa5:	8a c3                	mov    %bl,%al
407fa7:	8b 4d f4             	mov    -0xc(%ebp),%ecx
407faa:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
407fb1:	59                   	pop    %ecx
407fb2:	5f                   	pop    %edi
407fb3:	5e                   	pop    %esi
407fb4:	5b                   	pop    %ebx
407fb5:	8b 4d f0             	mov    -0x10(%ebp),%ecx
407fb8:	33 cd                	xor    %ebp,%ecx
407fba:	e8 11 39 01 00       	call   0x41b8d0
407fbf:	8b e5                	mov    %ebp,%esp
407fc1:	5d                   	pop    %ebp
407fc2:	c3                   	ret
407fc3:	e8 d8 92 ff ff       	call   0x4012a0
407fc8:	e8 b2 8a 01 00       	call   0x420a7f
407fcd:	cc                   	int3
407fce:	cc                   	int3
407fcf:	cc                   	int3
407fd0:	55                   	push   %ebp
407fd1:	8b ec                	mov    %esp,%ebp
407fd3:	6a ff                	push   $0xffffffff
407fd5:	68 2d d9 43 00       	push   $0x43d92d
407fda:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
407fe0:	50                   	push   %eax
407fe1:	b8 a0 10 00 00       	mov    $0x10a0,%eax
407fe6:	e8 45 49 01 00       	call   0x41c930
407feb:	a1 14 40 45 00       	mov    0x454014,%eax
407ff0:	33 c5                	xor    %ebp,%eax
407ff2:	89 45 f0             	mov    %eax,-0x10(%ebp)
407ff5:	53                   	push   %ebx
407ff6:	56                   	push   %esi
407ff7:	57                   	push   %edi
407ff8:	50                   	push   %eax
407ff9:	8d 45 f4             	lea    -0xc(%ebp),%eax
407ffc:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
408002:	8b f9                	mov    %ecx,%edi
408004:	8b 45 14             	mov    0x14(%ebp),%eax
408007:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40800a:	8b 55 10             	mov    0x10(%ebp),%edx
40800d:	8b 75 20             	mov    0x20(%ebp),%esi
408010:	8b 5d 1c             	mov    0x1c(%ebp),%ebx
408013:	89 85 64 ef ff ff    	mov    %eax,-0x109c(%ebp)
408019:	8b 45 18             	mov    0x18(%ebp),%eax
40801c:	89 85 68 ef ff ff    	mov    %eax,-0x1098(%ebp)
408022:	8b 45 24             	mov    0x24(%ebp),%eax
408025:	89 85 6c ef ff ff    	mov    %eax,-0x1094(%ebp)
40802b:	8b 45 28             	mov    0x28(%ebp),%eax
40802e:	89 85 5c ef ff ff    	mov    %eax,-0x10a4(%ebp)
408034:	8b 45 08             	mov    0x8(%ebp),%eax
408037:	89 8d 70 ef ff ff    	mov    %ecx,-0x1090(%ebp)
40803d:	89 95 74 ef ff ff    	mov    %edx,-0x108c(%ebp)
408043:	89 b5 60 ef ff ff    	mov    %esi,-0x10a0(%ebp)
408049:	39 47 64             	cmp    %eax,0x64(%edi)
40804c:	0f 8f 2d 06 00 00    	jg     0x40867f
408052:	80 7d 34 00          	cmpb   $0x0,0x34(%ebp)
408056:	0f 84 98 00 00 00    	je     0x4080f4
40805c:	8b 87 90 00 00 00    	mov    0x90(%edi),%eax
408062:	85 c0                	test   %eax,%eax
408064:	74 76                	je     0x4080dc
408066:	80 bf d1 00 00 00 00 	cmpb   $0x0,0xd1(%edi)
40806d:	74 6d                	je     0x4080dc
40806f:	8b 00                	mov    (%eax),%eax
408071:	85 c0                	test   %eax,%eax
408073:	74 67                	je     0x4080dc
408075:	68 d0 07 00 00       	push   $0x7d0
40807a:	50                   	push   %eax
40807b:	ff 15 d0 f0 43 00    	call   *0x43f0d0
408081:	85 c0                	test   %eax,%eax
408083:	74 07                	je     0x40808c
408085:	3d 80 00 00 00       	cmp    $0x80,%eax
40808a:	75 50                	jne    0x4080dc
40808c:	8b 8f f8 00 00 00    	mov    0xf8(%edi),%ecx
408092:	2b 8f f0 00 00 00    	sub    0xf0(%edi),%ecx
408098:	8b 87 fc 00 00 00    	mov    0xfc(%edi),%eax
40809e:	1b 87 f4 00 00 00    	sbb    0xf4(%edi),%eax
4080a4:	78 42                	js     0x4080e8
4080a6:	7f 08                	jg     0x4080b0
4080a8:	81 f9 84 03 00 00    	cmp    $0x384,%ecx
4080ae:	72 38                	jb     0x4080e8
4080b0:	51                   	push   %ecx
4080b1:	8b cf                	mov    %edi,%ecx
4080b3:	e8 58 cf 00 00       	call   0x415010
4080b8:	8b 95 74 ef ff ff    	mov    -0x108c(%ebp),%edx
4080be:	84 c0                	test   %al,%al
4080c0:	74 2c                	je     0x4080ee
4080c2:	8b 87 f8 00 00 00    	mov    0xf8(%edi),%eax
4080c8:	8b 8f fc 00 00 00    	mov    0xfc(%edi),%ecx
4080ce:	89 87 f0 00 00 00    	mov    %eax,0xf0(%edi)
4080d4:	89 8f f4 00 00 00    	mov    %ecx,0xf4(%edi)
4080da:	eb 12                	jmp    0x4080ee
4080dc:	c6 87 d1 00 00 00 00 	movb   $0x0,0xd1(%edi)
4080e3:	e9 97 05 00 00       	jmp    0x40867f
4080e8:	8b 95 74 ef ff ff    	mov    -0x108c(%ebp),%edx
4080ee:	8b 8d 70 ef ff ff    	mov    -0x1090(%ebp),%ecx
4080f4:	80 bf d0 00 00 00 00 	cmpb   $0x0,0xd0(%edi)
4080fb:	74 2b                	je     0x408128
4080fd:	8b 37                	mov    (%edi),%esi
4080ff:	6a 00                	push   $0x0
408101:	6a 00                	push   $0x0
408103:	ff b5 68 ef ff ff    	push   -0x1098(%ebp)
408109:	8b 76 18             	mov    0x18(%esi),%esi
40810c:	ff b5 64 ef ff ff    	push   -0x109c(%ebp)
408112:	52                   	push   %edx
408113:	51                   	push   %ecx
408114:	6a 1e                	push   $0x1e
408116:	8b ce                	mov    %esi,%ecx
408118:	ff 15 3c f2 43 00    	call   *0x43f23c
40811e:	8b cf                	mov    %edi,%ecx
408120:	ff d6                	call   *%esi
408122:	8b b5 60 ef ff ff    	mov    -0x10a0(%ebp),%esi
408128:	33 c0                	xor    %eax,%eax
40812a:	c7 85 78 ef ff ff 00 	movl   $0x0,-0x1088(%ebp)
408131:	00 00 00
408134:	c7 85 88 ef ff ff 00 	movl   $0x0,-0x1078(%ebp)
40813b:	00 00 00
40813e:	c7 85 8c ef ff ff 07 	movl   $0x7,-0x1074(%ebp)
408145:	00 00 00
408148:	66 89 85 78 ef ff ff 	mov    %ax,-0x1088(%ebp)
40814f:	89 45 fc             	mov    %eax,-0x4(%ebp)
408152:	89 85 c0 ef ff ff    	mov    %eax,-0x1040(%ebp)
408158:	89 85 d0 ef ff ff    	mov    %eax,-0x1030(%ebp)
40815e:	c7 85 d4 ef ff ff 07 	movl   $0x7,-0x102c(%ebp)
408165:	00 00 00
408168:	66 89 85 c0 ef ff ff 	mov    %ax,-0x1040(%ebp)
40816f:	89 85 a8 ef ff ff    	mov    %eax,-0x1058(%ebp)
408175:	89 85 b8 ef ff ff    	mov    %eax,-0x1048(%ebp)
40817b:	c7 85 bc ef ff ff 07 	movl   $0x7,-0x1044(%ebp)
408182:	00 00 00
408185:	66 89 85 a8 ef ff ff 	mov    %ax,-0x1058(%ebp)
40818c:	89 85 90 ef ff ff    	mov    %eax,-0x1070(%ebp)
408192:	89 85 a0 ef ff ff    	mov    %eax,-0x1060(%ebp)
408198:	c7 85 a4 ef ff ff 07 	movl   $0x7,-0x105c(%ebp)
40819f:	00 00 00
4081a2:	66 89 85 90 ef ff ff 	mov    %ax,-0x1070(%ebp)
4081a9:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4081ad:	85 db                	test   %ebx,%ebx
4081af:	0f 84 86 00 00 00    	je     0x40823b
4081b5:	8b cb                	mov    %ebx,%ecx
4081b7:	89 85 d8 ef ff ff    	mov    %eax,-0x1028(%ebp)
4081bd:	89 85 e8 ef ff ff    	mov    %eax,-0x1018(%ebp)
4081c3:	89 85 ec ef ff ff    	mov    %eax,-0x1014(%ebp)
4081c9:	8d 51 01             	lea    0x1(%ecx),%edx
4081cc:	0f 1f 40 00          	nopl   0x0(%eax)
4081d0:	8a 01                	mov    (%ecx),%al
4081d2:	41                   	inc    %ecx
4081d3:	84 c0                	test   %al,%al
4081d5:	75 f9                	jne    0x4081d0
4081d7:	2b ca                	sub    %edx,%ecx
4081d9:	51                   	push   %ecx
4081da:	53                   	push   %ebx
4081db:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
4081e1:	e8 ba 3e 00 00       	call   0x40c0a0
4081e6:	8d 95 78 ef ff ff    	lea    -0x1088(%ebp),%edx
4081ec:	c6 45 fc 04          	movb   $0x4,-0x4(%ebp)
4081f0:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
4081f6:	e8 65 c2 00 00       	call   0x414460
4081fb:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4081ff:	8b 8d ec ef ff ff    	mov    -0x1014(%ebp),%ecx
408205:	83 f9 10             	cmp    $0x10,%ecx
408208:	72 44                	jb     0x40824e
40820a:	8b 95 d8 ef ff ff    	mov    -0x1028(%ebp),%edx
408210:	41                   	inc    %ecx
408211:	8b c2                	mov    %edx,%eax
408213:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
408219:	72 14                	jb     0x40822f
40821b:	8b 50 fc             	mov    -0x4(%eax),%edx
40821e:	83 c1 23             	add    $0x23,%ecx
408221:	2b c2                	sub    %edx,%eax
408223:	83 c0 fc             	add    $0xfffffffc,%eax
408226:	83 f8 1f             	cmp    $0x1f,%eax
408229:	0f 87 70 04 00 00    	ja     0x40869f
40822f:	51                   	push   %ecx
408230:	52                   	push   %edx
408231:	e8 d8 36 01 00       	call   0x41b90e
408236:	83 c4 08             	add    $0x8,%esp
408239:	eb 13                	jmp    0x40824e
40823b:	33 c0                	xor    %eax,%eax
40823d:	c7 85 88 ef ff ff 00 	movl   $0x0,-0x1078(%ebp)
408244:	00 00 00
408247:	66 89 85 78 ef ff ff 	mov    %ax,-0x1088(%ebp)
40824e:	85 f6                	test   %esi,%esi
408250:	0f 84 95 00 00 00    	je     0x4082eb
408256:	8b ce                	mov    %esi,%ecx
408258:	c7 85 d8 ef ff ff 00 	movl   $0x0,-0x1028(%ebp)
40825f:	00 00 00
408262:	c7 85 e8 ef ff ff 00 	movl   $0x0,-0x1018(%ebp)
408269:	00 00 00
40826c:	c7 85 ec ef ff ff 00 	movl   $0x0,-0x1014(%ebp)
408273:	00 00 00
408276:	8d 51 01             	lea    0x1(%ecx),%edx
408279:	0f 1f 80 00 00 00 00 	nopl   0x0(%eax)
408280:	8a 01                	mov    (%ecx),%al
408282:	41                   	inc    %ecx
408283:	84 c0                	test   %al,%al
408285:	75 f9                	jne    0x408280
408287:	2b ca                	sub    %edx,%ecx
408289:	51                   	push   %ecx
40828a:	56                   	push   %esi
40828b:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
408291:	e8 0a 3e 00 00       	call   0x40c0a0
408296:	8d 95 c0 ef ff ff    	lea    -0x1040(%ebp),%edx
40829c:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
4082a0:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
4082a6:	e8 b5 c1 00 00       	call   0x414460
4082ab:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4082af:	8b 8d ec ef ff ff    	mov    -0x1014(%ebp),%ecx
4082b5:	83 f9 10             	cmp    $0x10,%ecx
4082b8:	72 54                	jb     0x40830e
4082ba:	8b 95 d8 ef ff ff    	mov    -0x1028(%ebp),%edx
4082c0:	41                   	inc    %ecx
4082c1:	8b c2                	mov    %edx,%eax
4082c3:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4082c9:	72 14                	jb     0x4082df
4082cb:	8b 50 fc             	mov    -0x4(%eax),%edx
4082ce:	83 c1 23             	add    $0x23,%ecx
4082d1:	2b c2                	sub    %edx,%eax
4082d3:	83 c0 fc             	add    $0xfffffffc,%eax
4082d6:	83 f8 1f             	cmp    $0x1f,%eax
4082d9:	0f 87 c5 03 00 00    	ja     0x4086a4
4082df:	51                   	push   %ecx
4082e0:	52                   	push   %edx
4082e1:	e8 28 36 01 00       	call   0x41b90e
4082e6:	83 c4 08             	add    $0x8,%esp
4082e9:	eb 23                	jmp    0x40830e
4082eb:	83 bd d4 ef ff ff 08 	cmpl   $0x8,-0x102c(%ebp)
4082f2:	8d 85 c0 ef ff ff    	lea    -0x1040(%ebp),%eax
4082f8:	c7 85 d0 ef ff ff 00 	movl   $0x0,-0x1030(%ebp)
4082ff:	00 00 00
408302:	0f 43 85 c0 ef ff ff 	cmovae -0x1040(%ebp),%eax
408309:	33 c9                	xor    %ecx,%ecx
40830b:	66 89 08             	mov    %cx,(%eax)
40830e:	8b 85 5c ef ff ff    	mov    -0x10a4(%ebp),%eax
408314:	85 c0                	test   %eax,%eax
408316:	75 08                	jne    0x408320
408318:	8b 9d 6c ef ff ff    	mov    -0x1094(%ebp),%ebx
40831e:	eb 2f                	jmp    0x40834f
408320:	50                   	push   %eax
408321:	6a 00                	push   $0x0
408323:	ff b5 6c ef ff ff    	push   -0x1094(%ebp)
408329:	8d 85 f0 ef ff ff    	lea    -0x1010(%ebp),%eax
40832f:	6a ff                	push   $0xffffffff
408331:	68 ff 0f 00 00       	push   $0xfff
408336:	50                   	push   %eax
408337:	e8 a4 b8 ff ff       	call   0x403be0
40833c:	ff 70 04             	push   0x4(%eax)
40833f:	ff 30                	push   (%eax)
408341:	e8 fb c3 01 00       	call   0x424741
408346:	83 c4 20             	add    $0x20,%esp
408349:	8d 9d f0 ef ff ff    	lea    -0x1010(%ebp),%ebx
40834f:	8b cb                	mov    %ebx,%ecx
408351:	c7 85 d8 ef ff ff 00 	movl   $0x0,-0x1028(%ebp)
408358:	00 00 00
40835b:	c7 85 e8 ef ff ff 00 	movl   $0x0,-0x1018(%ebp)
408362:	00 00 00
408365:	c7 85 ec ef ff ff 00 	movl   $0x0,-0x1014(%ebp)
40836c:	00 00 00
40836f:	8d 51 01             	lea    0x1(%ecx),%edx
408372:	8a 01                	mov    (%ecx),%al
408374:	41                   	inc    %ecx
408375:	84 c0                	test   %al,%al
408377:	75 f9                	jne    0x408372
408379:	2b ca                	sub    %edx,%ecx
40837b:	51                   	push   %ecx
40837c:	53                   	push   %ebx
40837d:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
408383:	e8 18 3d 00 00       	call   0x40c0a0
408388:	8d 95 90 ef ff ff    	lea    -0x1070(%ebp),%edx
40838e:	c6 45 fc 06          	movb   $0x6,-0x4(%ebp)
408392:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
408398:	e8 c3 c0 00 00       	call   0x414460
40839d:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
4083a1:	8b 8d ec ef ff ff    	mov    -0x1014(%ebp),%ecx
4083a7:	83 f9 10             	cmp    $0x10,%ecx
4083aa:	72 2f                	jb     0x4083db
4083ac:	8b 95 d8 ef ff ff    	mov    -0x1028(%ebp),%edx
4083b2:	41                   	inc    %ecx
4083b3:	8b c2                	mov    %edx,%eax
4083b5:	81 f9 00 10 00 00    	cmp    $0x1000,%ecx
4083bb:	72 14                	jb     0x4083d1
4083bd:	8b 50 fc             	mov    -0x4(%eax),%edx
4083c0:	83 c1 23             	add    $0x23,%ecx
4083c3:	2b c2                	sub    %edx,%eax
4083c5:	83 c0 fc             	add    $0xfffffffc,%eax
4083c8:	83 f8 1f             	cmp    $0x1f,%eax
4083cb:	0f 87 d8 02 00 00    	ja     0x4086a9
4083d1:	51                   	push   %ecx
4083d2:	52                   	push   %edx
4083d3:	e8 36 35 01 00       	call   0x41b90e
4083d8:	83 c4 08             	add    $0x8,%esp
4083db:	83 bd a4 ef ff ff 08 	cmpl   $0x8,-0x105c(%ebp)
4083e2:	8d 95 90 ef ff ff    	lea    -0x1070(%ebp),%edx
4083e8:	8d 8d c0 ef ff ff    	lea    -0x1040(%ebp),%ecx
4083ee:	0f 43 95 90 ef ff ff 	cmovae -0x1070(%ebp),%edx
4083f5:	8d b5 a8 ef ff ff    	lea    -0x1058(%ebp),%esi
4083fb:	83 bd d4 ef ff ff 08 	cmpl   $0x8,-0x102c(%ebp)
408402:	8d 85 78 ef ff ff    	lea    -0x1088(%ebp),%eax
408408:	56                   	push   %esi
408409:	0f 43 8d c0 ef ff ff 	cmovae -0x1040(%ebp),%ecx
408410:	83 bd 8c ef ff ff 08 	cmpl   $0x8,-0x1074(%ebp)
408417:	52                   	push   %edx
408418:	0f 43 85 78 ef ff ff 	cmovae -0x1088(%ebp),%eax
40841f:	51                   	push   %ecx
408420:	50                   	push   %eax
408421:	ff b5 68 ef ff ff    	push   -0x1098(%ebp)
408427:	8b cf                	mov    %edi,%ecx
408429:	ff b5 64 ef ff ff    	push   -0x109c(%ebp)
40842f:	ff b5 74 ef ff ff    	push   -0x108c(%ebp)
408435:	ff b5 70 ef ff ff    	push   -0x1090(%ebp)
40843b:	ff 75 08             	push   0x8(%ebp)
40843e:	ff 75 30             	push   0x30(%ebp)
408441:	ff 75 2c             	push   0x2c(%ebp)
408444:	e8 d7 d5 ff ff       	call   0x405a20
408449:	83 bf 8c 00 00 00 00 	cmpl   $0x0,0x8c(%edi)
408450:	0f 85 98 00 00 00    	jne    0x4084ee
408456:	c7 85 d8 ef ff ff 00 	movl   $0x0,-0x1028(%ebp)
40845d:	00 00 00
408460:	c7 85 e8 ef ff ff 00 	movl   $0x0,-0x1018(%ebp)
408467:	00 00 00
40846a:	c7 85 ec ef ff ff 0f 	movl   $0xf,-0x1014(%ebp)
408471:	00 00 00
408474:	c6 85 d8 ef ff ff 00 	movb   $0x0,-0x1028(%ebp)
40847b:	8d 95 d8 ef ff ff    	lea    -0x1028(%ebp),%edx
408481:	c6 45 fc 07          	movb   $0x7,-0x4(%ebp)
408485:	8b ce                	mov    %esi,%ecx
408487:	e8 34 bf 00 00       	call   0x4143c0
40848c:	8b 07                	mov    (%edi),%eax
40848e:	8d 8d d8 ef ff ff    	lea    -0x1028(%ebp),%ecx
408494:	83 bd ec ef ff ff 10 	cmpl   $0x10,-0x1014(%ebp)
40849b:	0f 43 8d d8 ef ff ff 	cmovae -0x1028(%ebp),%ecx
4084a2:	8b 70 1c             	mov    0x1c(%eax),%esi
4084a5:	51                   	push   %ecx
4084a6:	8b ce                	mov    %esi,%ecx