40c187:	50                   	push   %eax
40c188:	56                   	push   %esi
40c189:	68 4b 10 00 00       	push   $0x104b
40c18e:	ff b3 28 01 00 00    	push   0x128(%ebx)
40c194:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
40c19b:	89 7d c0             	mov    %edi,-0x40(%ebp)
40c19e:	c7 45 c4 04 01 00 00 	movl   $0x104,-0x3c(%ebp)
40c1a5:	ff 15 40 34 42 00    	call   *0x423440
40c1ab:	8b f0                	mov    %eax,%esi
40c1ad:	85 f6                	test   %esi,%esi
40c1af:	75 03                	jne    0x40c1b4
40c1b1:	66 89 07             	mov    %ax,(%edi)
40c1b4:	5f                   	pop    %edi
40c1b5:	8b c6                	mov    %esi,%eax
40c1b7:	5e                   	pop    %esi
40c1b8:	5b                   	pop    %ebx
40c1b9:	c9                   	leave
40c1ba:	c2 0c 00             	ret    $0xc
40c1bd:	6a 48                	push   $0x48
40c1bf:	b8 8f cf 41 00       	mov    $0x41cf8f,%eax
40c1c4:	e8 6f 02 01 00       	call   0x41c438
40c1c9:	8b f1                	mov    %ecx,%esi
40c1cb:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40c1ce:	ff 15 40 32 42 00    	call   *0x423240
40c1d4:	33 db                	xor    %ebx,%ebx
40c1d6:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40c1d9:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40c1dc:	ff 15 40 32 42 00    	call   *0x423240
40c1e2:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40c1e6:	8d 45 ac             	lea    -0x54(%ebp),%eax
40c1e9:	6a 3c                	push   $0x3c
40c1eb:	53                   	push   %ebx
40c1ec:	50                   	push   %eax
40c1ed:	e8 2f 04 01 00       	call   0x41c621
40c1f2:	8b 45 08             	mov    0x8(%ebp),%eax
40c1f5:	83 c4 0c             	add    $0xc,%esp
40c1f8:	c7 45 c0 34 1f 42 00 	movl   $0x421f34,-0x40(%ebp)
40c1ff:	c7 45 ac 05 00 00 00 	movl   $0x5,-0x54(%ebp)
40c206:	89 45 cc             	mov    %eax,-0x34(%ebp)
40c209:	53                   	push   %ebx
40c20a:	53                   	push   %ebx
40c20b:	68 04 10 00 00       	push   $0x1004
40c210:	ff b6 28 01 00 00    	push   0x128(%esi)
40c216:	ff 15 40 34 42 00    	call   *0x423440
40c21c:	89 45 b0             	mov    %eax,-0x50(%ebp)
40c21f:	8d 45 ac             	lea    -0x54(%ebp),%eax
40c222:	50                   	push   %eax
40c223:	53                   	push   %ebx
40c224:	68 4d 10 00 00       	push   $0x104d
40c229:	ff b6 28 01 00 00    	push   0x128(%esi)
40c22f:	ff 15 40 34 42 00    	call   *0x423440
40c235:	8b f8                	mov    %eax,%edi
40c237:	85 ff                	test   %edi,%edi
40c239:	0f 88 0c 01 00 00    	js     0x40c34b
40c23f:	53                   	push   %ebx
40c240:	57                   	push   %edi
40c241:	8d 8e 08 01 00 00    	lea    0x108(%esi),%ecx
40c247:	ff 15 1c 31 42 00    	call   *0x42311c
40c24d:	ff 75 0c             	push   0xc(%ebp)
40c250:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40c253:	ff 15 74 33 42 00    	call   *0x423374
40c259:	f6 45 14 02          	testb  $0x2,0x14(%ebp)
40c25d:	74 2c                	je     0x40c28b
40c25f:	68 f4 43 40 00       	push   $0x4043f4
40c264:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40c267:	ff 15 14 34 42 00    	call   *0x423414
40c26d:	c6 45 fc 02          	movb   $0x2,-0x4(%ebp)
40c271:	8d 45 e8             	lea    -0x18(%ebp),%eax
40c274:	50                   	push   %eax
40c275:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40c278:	ff 15 ec 33 42 00    	call   *0x4233ec
40c27e:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
40c282:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40c285:	ff 15 44 32 42 00    	call   *0x423244
40c28b:	8b 45 ec             	mov    -0x14(%ebp),%eax
40c28e:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40c291:	8b 40 f8             	mov    -0x8(%eax),%eax
40c294:	40                   	inc    %eax
40c295:	50                   	push   %eax
40c296:	ff 15 78 33 42 00    	call   *0x423378
40c29c:	89 45 c0             	mov    %eax,-0x40(%ebp)
40c29f:	85 c0                	test   %eax,%eax
40c2a1:	0f 84 a4 00 00 00    	je     0x40c34b
40c2a7:	33 c0                	xor    %eax,%eax
40c2a9:	89 7d b0             	mov    %edi,-0x50(%ebp)
40c2ac:	40                   	inc    %eax
40c2ad:	89 45 ac             	mov    %eax,-0x54(%ebp)
40c2b0:	89 45 b4             	mov    %eax,-0x4c(%ebp)
40c2b3:	8d 45 ac             	lea    -0x54(%ebp),%eax
40c2b6:	50                   	push   %eax
40c2b7:	53                   	push   %ebx
40c2b8:	68 4c 10 00 00       	push   $0x104c
40c2bd:	ff b6 28 01 00 00    	push   0x128(%esi)
40c2c3:	ff 15 40 34 42 00    	call   *0x423440
40c2c9:	6a ff                	push   $0xffffffff
40c2cb:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40c2ce:	ff 15 7c 33 42 00    	call   *0x42337c
40c2d4:	8b 45 10             	mov    0x10(%ebp),%eax
40c2d7:	2b c3                	sub    %ebx,%eax
40c2d9:	74 18                	je     0x40c2f3
40c2db:	83 e8 01             	sub    $0x1,%eax
40c2de:	74 0c                	je     0x40c2ec
40c2e0:	83 e8 01             	sub    $0x1,%eax
40c2e3:	75 1c                	jne    0x40c301
40c2e5:	68 8b 01 00 00       	push   $0x18b
40c2ea:	eb 0c                	jmp    0x40c2f8
40c2ec:	68 8a 01 00 00       	push   $0x18a
40c2f1:	eb 05                	jmp    0x40c2f8
40c2f3:	68 89 01 00 00       	push   $0x189
40c2f8:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40c2fb:	ff 15 74 33 42 00    	call   *0x423374
40c301:	8b 45 f0             	mov    -0x10(%ebp),%eax
40c304:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40c307:	8b 40 f8             	mov    -0x8(%eax),%eax
40c30a:	40                   	inc    %eax
40c30b:	50                   	push   %eax
40c30c:	ff 15 78 33 42 00    	call   *0x423378
40c312:	89 45 c0             	mov    %eax,-0x40(%ebp)
40c315:	85 c0                	test   %eax,%eax
40c317:	74 32                	je     0x40c34b
40c319:	8d 45 ac             	lea    -0x54(%ebp),%eax
40c31c:	c7 45 ac 01 00 00 00 	movl   $0x1,-0x54(%ebp)
40c323:	50                   	push   %eax
40c324:	53                   	push   %ebx
40c325:	68 4c 10 00 00       	push   $0x104c
40c32a:	ff b6 28 01 00 00    	push   0x128(%esi)
40c330:	89 7d b0             	mov    %edi,-0x50(%ebp)
40c333:	c7 45 b4 02 00 00 00 	movl   $0x2,-0x4c(%ebp)
40c33a:	ff 15 40 34 42 00    	call   *0x423440
40c340:	6a ff                	push   $0xffffffff
40c342:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40c345:	ff 15 7c 33 42 00    	call   *0x42337c
40c34b:	88 5d fc             	mov    %bl,-0x4(%ebp)
40c34e:	8d 4d f0             	lea    -0x10(%ebp),%ecx
40c351:	ff 15 44 32 42 00    	call   *0x423244
40c357:	83 4d fc ff          	orl    $0xffffffff,-0x4(%ebp)
40c35b:	8d 4d ec             	lea    -0x14(%ebp),%ecx
40c35e:	ff 15 44 32 42 00    	call   *0x423244
40c364:	e8 9d 00 01 00       	call   0x41c406
40c369:	c2 10 00             	ret    $0x10
40c36c:	cc                   	int3
40c36d:	cc                   	int3
40c36e:	cc                   	int3
40c36f:	cc                   	int3
40c370:	8b ff                	mov    %edi,%edi
40c372:	55                   	push   %ebp
40c373:	8b ec                	mov    %esp,%ebp
40c375:	81 ec 14 04 00 00    	sub    $0x414,%esp
40c37b:	a1 e4 05 42 00       	mov    0x4205e4,%eax
40c380:	33 c5                	xor    %ebp,%eax
40c382:	89 45 fc             	mov    %eax,-0x4(%ebp)
40c385:	56                   	push   %esi
40c386:	57                   	push   %edi
40c387:	8b 7d 10             	mov    0x10(%ebp),%edi
40c38a:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
40c390:	51                   	push   %ecx
40c391:	50                   	push   %eax
40c392:	ff 75 08             	push   0x8(%ebp)
40c395:	8b cf                	mov    %edi,%ecx
40c397:	33 f6                	xor    %esi,%esi
40c399:	e8 7b fd ff ff       	call   0x40c119
40c39e:	85 c0                	test   %eax,%eax
40c3a0:	74 39                	je     0x40c3db
40c3a2:	51                   	push   %ecx
40c3a3:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40c3a9:	8b cf                	mov    %edi,%ecx
40c3ab:	50                   	push   %eax
40c3ac:	ff 75 0c             	push   0xc(%ebp)
40c3af:	e8 65 fd ff ff       	call   0x40c119
40c3b4:	85 c0                	test   %eax,%eax
40c3b6:	74 23                	je     0x40c3db
40c3b8:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
40c3be:	50                   	push   %eax
40c3bf:	8d 85 ec fb ff ff    	lea    -0x414(%ebp),%eax
40c3c5:	50                   	push   %eax
40c3c6:	ff 15 64 35 42 00    	call   *0x423564
40c3cc:	83 bf 9c 00 00 00 00 	cmpl   $0x0,0x9c(%edi)
40c3d3:	8b f0                	mov    %eax,%esi
40c3d5:	59                   	pop    %ecx
40c3d6:	59                   	pop    %ecx
40c3d7:	74 02                	je     0x40c3db
40c3d9:	f7 de                	neg    %esi
40c3db:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40c3de:	8b c6                	mov    %esi,%eax
40c3e0:	5f                   	pop    %edi
40c3e1:	33 cd                	xor    %ebp,%ecx
40c3e3:	5e                   	pop    %esi
40c3e4:	e8 37 f2 00 00       	call   0x41b620
40c3e9:	c9                   	leave
40c3ea:	c2 0c 00             	ret    $0xc
40c3ed:	cc                   	int3
40c3ee:	cc                   	int3
40c3ef:	cc                   	int3
40c3f0:	8b ff                	mov    %edi,%edi
40c3f2:	55                   	push   %ebp
40c3f3:	8b ec                	mov    %esp,%ebp
40c3f5:	83 ec 18             	sub    $0x18,%esp
40c3f8:	53                   	push   %ebx
40c3f9:	56                   	push   %esi
40c3fa:	8b 75 10             	mov    0x10(%ebp),%esi
40c3fd:	33 c0                	xor    %eax,%eax
40c3ff:	57                   	push   %edi
40c400:	6a 06                	push   $0x6
40c402:	59                   	pop    %ecx
40c403:	8d 7d e8             	lea    -0x18(%ebp),%edi
40c406:	33 db                	xor    %ebx,%ebx
40c408:	f3 ab                	rep stos %eax,%es:(%edi)
40c40a:	8b 45 08             	mov    0x8(%ebp),%eax
40c40d:	89 45 f0             	mov    %eax,-0x10(%ebp)
40c410:	8d 45 e8             	lea    -0x18(%ebp),%eax
40c413:	50                   	push   %eax
40c414:	6a ff                	push   $0xffffffff
40c416:	68 53 10 00 00       	push   $0x1053
40c41b:	ff b6 28 01 00 00    	push   0x128(%esi)
40c421:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40c428:	ff 15 40 34 42 00    	call   *0x423440
40c42e:	8b c8                	mov    %eax,%ecx
40c430:	85 c9                	test   %ecx,%ecx
40c432:	78 5f                	js     0x40c493
40c434:	51                   	push   %ecx
40c435:	8d 8e 08 01 00 00    	lea    0x108(%esi),%ecx
40c43b:	ff 15 20 31 42 00    	call   *0x423120
40c441:	8b f8                	mov    %eax,%edi
40c443:	c7 45 e8 01 00 00 00 	movl   $0x1,-0x18(%ebp)
40c44a:	8b 45 0c             	mov    0xc(%ebp),%eax
40c44d:	89 45 f0             	mov    %eax,-0x10(%ebp)
40c450:	8d 45 e8             	lea    -0x18(%ebp),%eax
40c453:	50                   	push   %eax
40c454:	6a ff                	push   $0xffffffff
40c456:	68 53 10 00 00       	push   $0x1053
40c45b:	ff b6 28 01 00 00    	push   0x128(%esi)
40c461:	ff 15 40 34 42 00    	call   *0x423440
40c467:	85 c0                	test   %eax,%eax
40c469:	78 28                	js     0x40c493
40c46b:	50                   	push   %eax
40c46c:	8d 8e 08 01 00 00    	lea    0x108(%esi),%ecx
40c472:	ff 15 20 31 42 00    	call   *0x423120
40c478:	3b f8                	cmp    %eax,%edi
40c47a:	74 17                	je     0x40c493
40c47c:	85 ff                	test   %edi,%edi
40c47e:	0f 95 c3             	setne  %bl
40c481:	83 be 98 00 00 00 00 	cmpl   $0x0,0x98(%esi)
40c488:	8d 1c 5d ff ff ff ff 	lea    -0x1(,%ebx,2),%ebx
40c48f:	74 02                	je     0x40c493
40c491:	f7 db                	neg    %ebx
40c493:	5f                   	pop    %edi
40c494:	5e                   	pop    %esi
40c495:	8b c3                	mov    %ebx,%eax
40c497:	5b                   	pop    %ebx
40c498:	c9                   	leave
40c499:	c2 0c 00             	ret    $0xc
40c49c:	cc                   	int3
40c49d:	cc                   	int3
40c49e:	cc                   	int3
40c49f:	cc                   	int3
40c4a0:	8b ff                	mov    %edi,%edi
40c4a2:	55                   	push   %ebp
40c4a3:	8b ec                	mov    %esp,%ebp
40c4a5:	83 e4 f8             	and    $0xfffffff8,%esp
40c4a8:	51                   	push   %ecx
40c4a9:	53                   	push   %ebx
40c4aa:	56                   	push   %esi
40c4ab:	57                   	push   %edi
40c4ac:	8b f1                	mov    %ecx,%esi
40c4ae:	83 cf ff             	or     $0xffffffff,%edi
40c4b1:	e8 0d fa ff ff       	call   0x40bec3
40c4b6:	83 f8 01             	cmp    $0x1,%eax
40c4b9:	0f 85 f8 02 00 00    	jne    0x40c7b7
40c4bf:	33 db                	xor    %ebx,%ebx
40c4c1:	39 9e a4 00 00 00    	cmp    %ebx,0xa4(%esi)
40c4c7:	0f 85 f1 00 00 00    	jne    0x40c5be
40c4cd:	39 9e a8 00 00 00    	cmp    %ebx,0xa8(%esi)
40c4d3:	0f 85 e5 00 00 00    	jne    0x40c5be
40c4d9:	39 9e ac 00 00 00    	cmp    %ebx,0xac(%esi)
40c4df:	0f 85 d9 00 00 00    	jne    0x40c5be
40c4e5:	39 9e b0 00 00 00    	cmp    %ebx,0xb0(%esi)
40c4eb:	0f 85 cd 00 00 00    	jne    0x40c5be
40c4f1:	39 9e b4 00 00 00    	cmp    %ebx,0xb4(%esi)
40c4f7:	0f 85 c1 00 00 00    	jne    0x40c5be
40c4fd:	39 9e b8 00 00 00    	cmp    %ebx,0xb8(%esi)
40c503:	0f 85 b5 00 00 00    	jne    0x40c5be
40c509:	39 9e bc 00 00 00    	cmp    %ebx,0xbc(%esi)
40c50f:	0f 85 a9 00 00 00    	jne    0x40c5be
40c515:	39 9e c0 00 00 00    	cmp    %ebx,0xc0(%esi)
40c51b:	0f 85 9d 00 00 00    	jne    0x40c5be
40c521:	39 9e c4 00 00 00    	cmp    %ebx,0xc4(%esi)
40c527:	0f 85 99 00 00 00    	jne    0x40c5c6
40c52d:	39 9e c8 00 00 00    	cmp    %ebx,0xc8(%esi)
40c533:	0f 85 85 00 00 00    	jne    0x40c5be
40c539:	39 9e cc 00 00 00    	cmp    %ebx,0xcc(%esi)
40c53f:	75 7d                	jne    0x40c5be
40c541:	39 9e d0 00 00 00    	cmp    %ebx,0xd0(%esi)
40c547:	75 75                	jne    0x40c5be
40c549:	39 9e d4 00 00 00    	cmp    %ebx,0xd4(%esi)
40c54f:	75 6d                	jne    0x40c5be
40c551:	39 9e d8 00 00 00    	cmp    %ebx,0xd8(%esi)
40c557:	75 65                	jne    0x40c5be
40c559:	39 9e dc 00 00 00    	cmp    %ebx,0xdc(%esi)
40c55f:	75 5d                	jne    0x40c5be
40c561:	39 9e e0 00 00 00    	cmp    %ebx,0xe0(%esi)
40c567:	75 55                	jne    0x40c5be
40c569:	39 9e e4 00 00 00    	cmp    %ebx,0xe4(%esi)
40c56f:	75 4d                	jne    0x40c5be
40c571:	39 9e e8 00 00 00    	cmp    %ebx,0xe8(%esi)
40c577:	75 45                	jne    0x40c5be
40c579:	39 9e ec 00 00 00    	cmp    %ebx,0xec(%esi)
40c57f:	75 3d                	jne    0x40c5be
40c581:	39 9e f0 00 00 00    	cmp    %ebx,0xf0(%esi)
40c587:	75 35                	jne    0x40c5be
40c589:	39 9e f4 00 00 00    	cmp    %ebx,0xf4(%esi)
40c58f:	75 2d                	jne    0x40c5be
40c591:	39 9e f8 00 00 00    	cmp    %ebx,0xf8(%esi)
40c597:	75 25                	jne    0x40c5be
40c599:	39 9e fc 00 00 00    	cmp    %ebx,0xfc(%esi)
40c59f:	75 1d                	jne    0x40c5be
40c5a1:	39 9e 00 01 00 00    	cmp    %ebx,0x100(%esi)
40c5a7:	75 15                	jne    0x40c5be
40c5a9:	39 9e 04 01 00 00    	cmp    %ebx,0x104(%esi)
40c5af:	75 0d                	jne    0x40c5be
40c5b1:	6a 69                	push   $0x69
40c5b3:	e8 9b 20 00 00       	call   0x40e653
40c5b8:	59                   	pop    %ecx
40c5b9:	e9 f9 01 00 00       	jmp    0x40c7b7
40c5be:	39 9e c4 00 00 00    	cmp    %ebx,0xc4(%esi)
40c5c4:	74 36                	je     0x40c5fc
40c5c6:	39 9e b4 00 00 00    	cmp    %ebx,0xb4(%esi)
40c5cc:	75 2e                	jne    0x40c5fc
40c5ce:	57                   	push   %edi
40c5cf:	6a 04                	push   $0x4
40c5d1:	68 42 01 00 00       	push   $0x142
40c5d6:	ff 15 18 31 42 00    	call   *0x423118
40c5dc:	83 f8 06             	cmp    $0x6,%eax
40c5df:	0f 85 d2 01 00 00    	jne    0x40c7b7
40c5e5:	33 c0                	xor    %eax,%eax
40c5e7:	8b ce                	mov    %esi,%ecx
40c5e9:	40                   	inc    %eax
40c5ea:	50                   	push   %eax
40c5eb:	ff b6 a0 00 00 00    	push   0xa0(%esi)
40c5f1:	89 86 b4 00 00 00    	mov    %eax,0xb4(%esi)
40c5f7:	e8 c4 fa ff ff       	call   0x40c0c0
40c5fc:	39 9e c8 00 00 00    	cmp    %ebx,0xc8(%esi)
40c602:	74 36                	je     0x40c63a
40c604:	39 9e b4 00 00 00    	cmp    %ebx,0xb4(%esi)
40c60a:	75 2e                	jne    0x40c63a
40c60c:	57                   	push   %edi
40c60d:	6a 04                	push   $0x4
40c60f:	68 48 01 00 00       	push   $0x148
40c614:	ff 15 18 31 42 00    	call   *0x423118
40c61a:	83 f8 06             	cmp    $0x6,%eax
40c61d:	0f 85 94 01 00 00    	jne    0x40c7b7