40d119:	51                   	push   %ecx
40d11a:	8d 55 b8             	lea    -0x48(%ebp),%edx
40d11d:	52                   	push   %edx
40d11e:	c7 45 d0 04 00 02 80 	movl   $0x80020004,-0x30(%ebp)
40d125:	c7 45 c8 0a 00 00 00 	movl   $0xa,-0x38(%ebp)
40d12c:	c7 45 e0 0c 00 00 00 	movl   $0xc,-0x20(%ebp)
40d133:	c7 45 d8 02 00 00 00 	movl   $0x2,-0x28(%ebp)
40d13a:	ff d6                	call   *%esi
40d13c:	8d 45 b8             	lea    -0x48(%ebp),%eax
40d13f:	50                   	push   %eax
40d140:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
40d146:	51                   	push   %ecx
40d147:	c7 45 80 0c 00 00 00 	movl   $0xc,-0x80(%ebp)
40d14e:	c7 85 78 ff ff ff 02 	movl   $0x8002,-0x88(%ebp)
40d155:	80 00 00
40d158:	ff d7                	call   *%edi
40d15a:	8d 55 b8             	lea    -0x48(%ebp),%edx
40d15d:	52                   	push   %edx
40d15e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d161:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
40d167:	8d 45 c8             	lea    -0x38(%ebp),%eax
40d16a:	50                   	push   %eax
40d16b:	51                   	push   %ecx
40d16c:	6a 03                	push   $0x3
40d16e:	ff d3                	call   *%ebx
40d170:	83 c4 10             	add    $0x10,%esp
40d173:	66 83 bd 74 ff ff ff 	cmpw   $0x0,-0x8c(%ebp)
40d17a:	00
40d17b:	74 0b                	je     0x40d188
40d17d:	68 81 00 00 00       	push   $0x81
40d182:	ff 15 30 11 40 00    	call   *0x401130
40d188:	6a 01                	push   $0x1
40d18a:	6a 01                	push   $0x1
40d18c:	8d 55 c8             	lea    -0x38(%ebp),%edx
40d18f:	52                   	push   %edx
40d190:	8d 45 d8             	lea    -0x28(%ebp),%eax
40d193:	50                   	push   %eax
40d194:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40d197:	51                   	push   %ecx
40d198:	c7 45 d0 04 00 02 80 	movl   $0x80020004,-0x30(%ebp)
40d19f:	c7 45 c8 0a 00 00 00 	movl   $0xa,-0x38(%ebp)
40d1a6:	c7 45 e0 0c 00 00 00 	movl   $0xc,-0x20(%ebp)
40d1ad:	c7 45 d8 02 00 00 00 	movl   $0x2,-0x28(%ebp)
40d1b4:	ff d6                	call   *%esi
40d1b6:	8d 55 b8             	lea    -0x48(%ebp),%edx
40d1b9:	52                   	push   %edx
40d1ba:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
40d1c0:	50                   	push   %eax
40d1c1:	c7 45 80 0c 00 00 00 	movl   $0xc,-0x80(%ebp)
40d1c8:	c7 85 78 ff ff ff 02 	movl   $0x8002,-0x88(%ebp)
40d1cf:	80 00 00
40d1d2:	ff d7                	call   *%edi
40d1d4:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40d1d7:	51                   	push   %ecx
40d1d8:	8d 55 c8             	lea    -0x38(%ebp),%edx
40d1db:	52                   	push   %edx
40d1dc:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
40d1e2:	8d 45 d8             	lea    -0x28(%ebp),%eax
40d1e5:	50                   	push   %eax
40d1e6:	6a 03                	push   $0x3
40d1e8:	ff d3                	call   *%ebx
40d1ea:	83 c4 10             	add    $0x10,%esp
40d1ed:	66 83 bd 74 ff ff ff 	cmpw   $0x0,-0x8c(%ebp)
40d1f4:	00
40d1f5:	74 08                	je     0x40d1ff
40d1f7:	6a 41                	push   $0x41
40d1f9:	ff 15 30 11 40 00    	call   *0x401130
40d1ff:	6a 01                	push   $0x1
40d201:	6a 01                	push   $0x1
40d203:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40d206:	51                   	push   %ecx
40d207:	8d 55 d8             	lea    -0x28(%ebp),%edx
40d20a:	52                   	push   %edx
40d20b:	8d 45 b8             	lea    -0x48(%ebp),%eax
40d20e:	50                   	push   %eax
40d20f:	c7 45 d0 04 00 02 80 	movl   $0x80020004,-0x30(%ebp)
40d216:	c7 45 c8 0a 00 00 00 	movl   $0xa,-0x38(%ebp)
40d21d:	c7 45 e0 0c 00 00 00 	movl   $0xc,-0x20(%ebp)
40d224:	c7 45 d8 02 00 00 00 	movl   $0x2,-0x28(%ebp)
40d22b:	ff d6                	call   *%esi
40d22d:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40d230:	51                   	push   %ecx
40d231:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
40d237:	52                   	push   %edx
40d238:	c7 45 80 0c 00 00 00 	movl   $0xc,-0x80(%ebp)
40d23f:	c7 85 78 ff ff ff 02 	movl   $0x8002,-0x88(%ebp)
40d246:	80 00 00
40d249:	ff d7                	call   *%edi
40d24b:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40d24e:	8d 55 d8             	lea    -0x28(%ebp),%edx
40d251:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
40d257:	8d 45 b8             	lea    -0x48(%ebp),%eax
40d25a:	50                   	push   %eax
40d25b:	51                   	push   %ecx
40d25c:	52                   	push   %edx
40d25d:	6a 03                	push   $0x3
40d25f:	ff d3                	call   *%ebx
40d261:	83 c4 10             	add    $0x10,%esp
40d264:	66 83 bd 74 ff ff ff 	cmpw   $0x0,-0x8c(%ebp)
40d26b:	00
40d26c:	74 08                	je     0x40d276
40d26e:	6a 67                	push   $0x67
40d270:	ff 15 30 11 40 00    	call   *0x401130
40d276:	6a 01                	push   $0x1
40d278:	6a 01                	push   $0x1
40d27a:	8d 45 c8             	lea    -0x38(%ebp),%eax
40d27d:	50                   	push   %eax
40d27e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d281:	51                   	push   %ecx
40d282:	8d 55 b8             	lea    -0x48(%ebp),%edx
40d285:	52                   	push   %edx
40d286:	c7 45 d0 04 00 02 80 	movl   $0x80020004,-0x30(%ebp)
40d28d:	c7 45 c8 0a 00 00 00 	movl   $0xa,-0x38(%ebp)
40d294:	c7 45 e0 0c 00 00 00 	movl   $0xc,-0x20(%ebp)
40d29b:	c7 45 d8 02 00 00 00 	movl   $0x2,-0x28(%ebp)
40d2a2:	ff d6                	call   *%esi
40d2a4:	8d 45 b8             	lea    -0x48(%ebp),%eax
40d2a7:	50                   	push   %eax
40d2a8:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
40d2ae:	51                   	push   %ecx
40d2af:	c7 45 80 0c 00 00 00 	movl   $0xc,-0x80(%ebp)
40d2b6:	c7 85 78 ff ff ff 02 	movl   $0x8002,-0x88(%ebp)
40d2bd:	80 00 00
40d2c0:	ff d7                	call   *%edi
40d2c2:	8d 55 b8             	lea    -0x48(%ebp),%edx
40d2c5:	52                   	push   %edx
40d2c6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d2c9:	8b f0                	mov    %eax,%esi
40d2cb:	8d 45 c8             	lea    -0x38(%ebp),%eax
40d2ce:	50                   	push   %eax
40d2cf:	51                   	push   %ecx
40d2d0:	6a 03                	push   $0x3
40d2d2:	ff d3                	call   *%ebx
40d2d4:	83 c4 10             	add    $0x10,%esp
40d2d7:	66 85 f6             	test   %si,%si
40d2da:	74 0b                	je     0x40d2e7
40d2dc:	68 b4 00 00 00       	push   $0xb4
40d2e1:	ff 15 30 11 40 00    	call   *0x401130
40d2e7:	68 14 d3 40 00       	push   $0x40d314
40d2ec:	eb 1c                	jmp    0x40d30a
40d2ee:	8d 55 a8             	lea    -0x58(%ebp),%edx
40d2f1:	52                   	push   %edx
40d2f2:	8d 45 b8             	lea    -0x48(%ebp),%eax
40d2f5:	50                   	push   %eax
40d2f6:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40d2f9:	51                   	push   %ecx
40d2fa:	8d 55 d8             	lea    -0x28(%ebp),%edx
40d2fd:	52                   	push   %edx
40d2fe:	6a 04                	push   $0x4
40d300:	ff 15 28 10 40 00    	call   *0x401028
40d306:	83 c4 14             	add    $0x14,%esp
40d309:	c3                   	ret
40d30a:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40d30d:	ff 15 a8 11 40 00    	call   *0x4011a8
40d313:	c3                   	ret
40d314:	8b 45 18             	mov    0x18(%ebp),%eax
40d317:	66 8b 4d ec          	mov    -0x14(%ebp),%cx
40d31b:	66 89 08             	mov    %cx,(%eax)
40d31e:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40d321:	5f                   	pop    %edi
40d322:	5e                   	pop    %esi
40d323:	33 c0                	xor    %eax,%eax
40d325:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d32c:	5b                   	pop    %ebx
40d32d:	8b e5                	mov    %ebp,%esp
40d32f:	5d                   	pop    %ebp
40d330:	c2 14 00             	ret    $0x14
40d333:	90                   	nop
40d334:	90                   	nop
40d335:	90                   	nop
40d336:	90                   	nop
40d337:	90                   	nop
40d338:	90                   	nop
40d339:	90                   	nop
40d33a:	90                   	nop
40d33b:	90                   	nop
40d33c:	90                   	nop
40d33d:	90                   	nop
40d33e:	90                   	nop
40d33f:	90                   	nop
40d340:	83 ec 10             	sub    $0x10,%esp
40d343:	53                   	push   %ebx
40d344:	55                   	push   %ebp
40d345:	56                   	push   %esi
40d346:	57                   	push   %edi
40d347:	8b 3d 04 11 40 00    	mov    0x401104,%edi
40d34d:	68 7e 21 00 00       	push   $0x217e
40d352:	8d 44 24 14          	lea    0x14(%esp),%eax
40d356:	50                   	push   %eax
40d357:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
40d35e:	00
40d35f:	ff d7                	call   *%edi
40d361:	8b 1d 60 10 40 00    	mov    0x401060,%ebx
40d367:	50                   	push   %eax
40d368:	ff d3                	call   *%ebx
40d36a:	8b 2d 14 10 40 00    	mov    0x401014,%ebp
40d370:	33 c9                	xor    %ecx,%ecx
40d372:	66 3d ff ff          	cmp    $0xffff,%ax
40d376:	0f 95 c1             	setne  %cl
40d379:	f7 d9                	neg    %ecx
40d37b:	66 8b f1             	mov    %cx,%si
40d37e:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d382:	ff d5                	call   *%ebp
40d384:	66 85 f6             	test   %si,%si
40d387:	8b 74 24 24          	mov    0x24(%esp),%esi
40d38b:	74 1f                	je     0x40d3ac
40d38d:	8b 16                	mov    (%esi),%edx
40d38f:	56                   	push   %esi
40d390:	ff 92 14 07 00 00    	call   *0x714(%edx)
40d396:	85 c0                	test   %eax,%eax
40d398:	7d 12                	jge    0x40d3ac
40d39a:	68 14 07 00 00       	push   $0x714
40d39f:	68 24 76 40 00       	push   $0x407624
40d3a4:	56                   	push   %esi
40d3a5:	50                   	push   %eax
40d3a6:	ff 15 48 10 40 00    	call   *0x401048
40d3ac:	68 d8 3c 00 00       	push   $0x3cd8
40d3b1:	8d 44 24 14          	lea    0x14(%esp),%eax
40d3b5:	50                   	push   %eax
40d3b6:	ff d7                	call   *%edi
40d3b8:	50                   	push   %eax
40d3b9:	ff d3                	call   *%ebx
40d3bb:	33 c9                	xor    %ecx,%ecx
40d3bd:	66 3d ff ff          	cmp    $0xffff,%ax
40d3c1:	0f 95 c1             	setne  %cl
40d3c4:	f7 d9                	neg    %ecx
40d3c6:	66 89 4c 24 24       	mov    %cx,0x24(%esp)
40d3cb:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d3cf:	ff d5                	call   *%ebp
40d3d1:	66 83 7c 24 24 00    	cmpw   $0x0,0x24(%esp)
40d3d7:	74 1f                	je     0x40d3f8
40d3d9:	8b 16                	mov    (%esi),%edx
40d3db:	56                   	push   %esi
40d3dc:	ff 92 14 07 00 00    	call   *0x714(%edx)
40d3e2:	85 c0                	test   %eax,%eax
40d3e4:	7d 12                	jge    0x40d3f8
40d3e6:	68 14 07 00 00       	push   $0x714
40d3eb:	68 24 76 40 00       	push   $0x407624
40d3f0:	56                   	push   %esi
40d3f1:	50                   	push   %eax
40d3f2:	ff 15 48 10 40 00    	call   *0x401048
40d3f8:	68 2c 4b 00 00       	push   $0x4b2c
40d3fd:	8d 44 24 14          	lea    0x14(%esp),%eax
40d401:	50                   	push   %eax
40d402:	ff d7                	call   *%edi
40d404:	50                   	push   %eax
40d405:	ff d3                	call   *%ebx
40d407:	33 c9                	xor    %ecx,%ecx
40d409:	66 3d ff ff          	cmp    $0xffff,%ax
40d40d:	0f 95 c1             	setne  %cl
40d410:	f7 d9                	neg    %ecx
40d412:	66 89 4c 24 24       	mov    %cx,0x24(%esp)
40d417:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d41b:	ff d5                	call   *%ebp
40d41d:	66 83 7c 24 24 00    	cmpw   $0x0,0x24(%esp)
40d423:	74 1f                	je     0x40d444
40d425:	8b 16                	mov    (%esi),%edx
40d427:	56                   	push   %esi
40d428:	ff 92 14 07 00 00    	call   *0x714(%edx)
40d42e:	85 c0                	test   %eax,%eax
40d430:	7d 12                	jge    0x40d444
40d432:	68 14 07 00 00       	push   $0x714
40d437:	68 24 76 40 00       	push   $0x407624
40d43c:	56                   	push   %esi
40d43d:	50                   	push   %eax
40d43e:	ff 15 48 10 40 00    	call   *0x401048
40d444:	68 94 74 00 00       	push   $0x7494
40d449:	8d 44 24 14          	lea    0x14(%esp),%eax
40d44d:	50                   	push   %eax
40d44e:	ff d7                	call   *%edi
40d450:	50                   	push   %eax
40d451:	ff d3                	call   *%ebx
40d453:	33 c9                	xor    %ecx,%ecx
40d455:	66 3d ff ff          	cmp    $0xffff,%ax
40d459:	0f 95 c1             	setne  %cl
40d45c:	f7 d9                	neg    %ecx
40d45e:	66 89 4c 24 24       	mov    %cx,0x24(%esp)
40d463:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d467:	ff d5                	call   *%ebp
40d469:	66 83 7c 24 24 00    	cmpw   $0x0,0x24(%esp)
40d46f:	74 1f                	je     0x40d490
40d471:	8b 16                	mov    (%esi),%edx
40d473:	56                   	push   %esi
40d474:	ff 92 14 07 00 00    	call   *0x714(%edx)
40d47a:	85 c0                	test   %eax,%eax
40d47c:	7d 12                	jge    0x40d490
40d47e:	68 14 07 00 00       	push   $0x714
40d483:	68 24 76 40 00       	push   $0x407624
40d488:	56                   	push   %esi
40d489:	50                   	push   %eax
40d48a:	ff 15 48 10 40 00    	call   *0x401048
40d490:	68 d2 18 00 00       	push   $0x18d2
40d495:	8d 44 24 14          	lea    0x14(%esp),%eax
40d499:	50                   	push   %eax
40d49a:	ff d7                	call   *%edi
40d49c:	50                   	push   %eax
40d49d:	ff d3                	call   *%ebx
40d49f:	33 c9                	xor    %ecx,%ecx
40d4a1:	66 3d ff ff          	cmp    $0xffff,%ax
40d4a5:	0f 95 c1             	setne  %cl
40d4a8:	f7 d9                	neg    %ecx
40d4aa:	66 89 4c 24 24       	mov    %cx,0x24(%esp)
40d4af:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d4b3:	ff d5                	call   *%ebp
40d4b5:	66 83 7c 24 24 00    	cmpw   $0x0,0x24(%esp)
40d4bb:	74 1f                	je     0x40d4dc
40d4bd:	8b 16                	mov    (%esi),%edx
40d4bf:	56                   	push   %esi
40d4c0:	ff 92 14 07 00 00    	call   *0x714(%edx)
40d4c6:	85 c0                	test   %eax,%eax
40d4c8:	7d 12                	jge    0x40d4dc
40d4ca:	68 14 07 00 00       	push   $0x714
40d4cf:	68 24 76 40 00       	push   $0x407624
40d4d4:	56                   	push   %esi
40d4d5:	50                   	push   %eax
40d4d6:	ff 15 48 10 40 00    	call   *0x401048
40d4dc:	68 e5 30 00 00       	push   $0x30e5
40d4e1:	8d 44 24 14          	lea    0x14(%esp),%eax
40d4e5:	50                   	push   %eax
40d4e6:	ff d7                	call   *%edi
40d4e8:	50                   	push   %eax
40d4e9:	ff d3                	call   *%ebx
40d4eb:	33 c9                	xor    %ecx,%ecx
40d4ed:	66 3d ff ff          	cmp    $0xffff,%ax
40d4f1:	0f 95 c1             	setne  %cl
40d4f4:	f7 d9                	neg    %ecx
40d4f6:	66 89 4c 24 24       	mov    %cx,0x24(%esp)
40d4fb:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d4ff:	ff d5                	call   *%ebp
40d501:	66 83 7c 24 24 00    	cmpw   $0x0,0x24(%esp)
40d507:	74 1f                	je     0x40d528
40d509:	8b 16                	mov    (%esi),%edx
40d50b:	56                   	push   %esi
40d50c:	ff 92 14 07 00 00    	call   *0x714(%edx)
40d512:	85 c0                	test   %eax,%eax
40d514:	7d 12                	jge    0x40d528
40d516:	68 14 07 00 00       	push   $0x714
40d51b:	68 24 76 40 00       	push   $0x407624
40d520:	56                   	push   %esi
40d521:	50                   	push   %eax
40d522:	ff 15 48 10 40 00    	call   *0x401048
40d528:	68 d6 13 00 00       	push   $0x13d6
40d52d:	8d 44 24 14          	lea    0x14(%esp),%eax
40d531:	50                   	push   %eax
40d532:	ff d7                	call   *%edi
40d534:	50                   	push   %eax
40d535:	ff d3                	call   *%ebx
40d537:	33 c9                	xor    %ecx,%ecx
40d539:	66 3d ff ff          	cmp    $0xffff,%ax
40d53d:	0f 95 c1             	setne  %cl