40cf4a:	52                   	push   %edx
40cf4b:	c7 45 80 0c 00 00 00 	movl   $0xc,-0x80(%ebp)
40cf52:	c7 85 78 ff ff ff 02 	movl   $0x8002,-0x88(%ebp)
40cf59:	80 00 00
40cf5c:	ff d7                	call   *%edi
40cf5e:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40cf61:	8d 55 d8             	lea    -0x28(%ebp),%edx
40cf64:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
40cf6a:	8d 45 b8             	lea    -0x48(%ebp),%eax
40cf6d:	50                   	push   %eax
40cf6e:	51                   	push   %ecx
40cf6f:	52                   	push   %edx
40cf70:	6a 03                	push   $0x3
40cf72:	ff d3                	call   *%ebx
40cf74:	83 c4 10             	add    $0x10,%esp
40cf77:	66 83 bd 74 ff ff ff 	cmpw   $0x0,-0x8c(%ebp)
40cf7e:	00
40cf7f:	74 08                	je     0x40cf89
40cf81:	6a 5b                	push   $0x5b
40cf83:	ff 15 34 11 40 00    	call   *0x401134
40cf89:	6a 01                	push   $0x1
40cf8b:	6a 01                	push   $0x1
40cf8d:	8d 45 c8             	lea    -0x38(%ebp),%eax
40cf90:	50                   	push   %eax
40cf91:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40cf94:	51                   	push   %ecx
40cf95:	8d 55 b8             	lea    -0x48(%ebp),%edx
40cf98:	52                   	push   %edx
40cf99:	c7 45 d0 04 00 02 80 	movl   $0x80020004,-0x30(%ebp)
40cfa0:	c7 45 c8 0a 00 00 00 	movl   $0xa,-0x38(%ebp)
40cfa7:	c7 45 e0 0c 00 00 00 	movl   $0xc,-0x20(%ebp)
40cfae:	c7 45 d8 02 00 00 00 	movl   $0x2,-0x28(%ebp)
40cfb5:	ff d6                	call   *%esi
40cfb7:	8d 45 b8             	lea    -0x48(%ebp),%eax
40cfba:	50                   	push   %eax
40cfbb:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
40cfc1:	51                   	push   %ecx
40cfc2:	c7 45 80 0c 00 00 00 	movl   $0xc,-0x80(%ebp)
40cfc9:	c7 85 78 ff ff ff 02 	movl   $0x8002,-0x88(%ebp)
40cfd0:	80 00 00
40cfd3:	ff d7                	call   *%edi
40cfd5:	8d 55 b8             	lea    -0x48(%ebp),%edx
40cfd8:	52                   	push   %edx
40cfd9:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40cfdc:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
40cfe2:	8d 45 c8             	lea    -0x38(%ebp),%eax
40cfe5:	50                   	push   %eax
40cfe6:	51                   	push   %ecx
40cfe7:	6a 03                	push   $0x3
40cfe9:	ff d3                	call   *%ebx
40cfeb:	83 c4 10             	add    $0x10,%esp
40cfee:	66 83 bd 74 ff ff ff 	cmpw   $0x0,-0x8c(%ebp)
40cff5:	00
40cff6:	74 08                	je     0x40d000
40cff8:	6a 74                	push   $0x74
40cffa:	ff 15 34 11 40 00    	call   *0x401134
40d000:	6a 01                	push   $0x1
40d002:	6a 01                	push   $0x1
40d004:	8d 55 c8             	lea    -0x38(%ebp),%edx
40d007:	52                   	push   %edx
40d008:	8d 45 d8             	lea    -0x28(%ebp),%eax
40d00b:	50                   	push   %eax
40d00c:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40d00f:	51                   	push   %ecx
40d010:	c7 45 d0 04 00 02 80 	movl   $0x80020004,-0x30(%ebp)
40d017:	c7 45 c8 0a 00 00 00 	movl   $0xa,-0x38(%ebp)
40d01e:	c7 45 e0 0c 00 00 00 	movl   $0xc,-0x20(%ebp)
40d025:	c7 45 d8 02 00 00 00 	movl   $0x2,-0x28(%ebp)
40d02c:	ff d6                	call   *%esi
40d02e:	8d 55 b8             	lea    -0x48(%ebp),%edx
40d031:	52                   	push   %edx
40d032:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
40d038:	50                   	push   %eax
40d039:	c7 45 80 0c 00 00 00 	movl   $0xc,-0x80(%ebp)
40d040:	c7 85 78 ff ff ff 02 	movl   $0x8002,-0x88(%ebp)
40d047:	80 00 00
40d04a:	ff d7                	call   *%edi
40d04c:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40d04f:	51                   	push   %ecx
40d050:	8d 55 c8             	lea    -0x38(%ebp),%edx
40d053:	52                   	push   %edx
40d054:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
40d05a:	8d 45 d8             	lea    -0x28(%ebp),%eax
40d05d:	50                   	push   %eax
40d05e:	6a 03                	push   $0x3
40d060:	ff d3                	call   *%ebx
40d062:	83 c4 10             	add    $0x10,%esp
40d065:	66 83 bd 74 ff ff ff 	cmpw   $0x0,-0x8c(%ebp)
40d06c:	00
40d06d:	74 08                	je     0x40d077
40d06f:	6a 47                	push   $0x47
40d071:	ff 15 34 11 40 00    	call   *0x401134
40d077:	6a 01                	push   $0x1
40d079:	6a 01                	push   $0x1
40d07b:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40d07e:	51                   	push   %ecx
40d07f:	8d 55 d8             	lea    -0x28(%ebp),%edx
40d082:	52                   	push   %edx
40d083:	8d 45 b8             	lea    -0x48(%ebp),%eax
40d086:	50                   	push   %eax
40d087:	c7 45 d0 04 00 02 80 	movl   $0x80020004,-0x30(%ebp)
40d08e:	c7 45 c8 0a 00 00 00 	movl   $0xa,-0x38(%ebp)
40d095:	c7 45 e0 0c 00 00 00 	movl   $0xc,-0x20(%ebp)
40d09c:	c7 45 d8 02 00 00 00 	movl   $0x2,-0x28(%ebp)
40d0a3:	ff d6                	call   *%esi
40d0a5:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40d0a8:	51                   	push   %ecx
40d0a9:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
40d0af:	52                   	push   %edx
40d0b0:	c7 45 80 0c 00 00 00 	movl   $0xc,-0x80(%ebp)
40d0b7:	c7 85 78 ff ff ff 02 	movl   $0x8002,-0x88(%ebp)
40d0be:	80 00 00
40d0c1:	ff d7                	call   *%edi
40d0c3:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40d0c6:	8d 55 d8             	lea    -0x28(%ebp),%edx
40d0c9:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
40d0cf:	8d 45 b8             	lea    -0x48(%ebp),%eax
40d0d2:	50                   	push   %eax
40d0d3:	51                   	push   %ecx
40d0d4:	52                   	push   %edx
40d0d5:	6a 03                	push   $0x3
40d0d7:	ff d3                	call   *%ebx
40d0d9:	83 c4 10             	add    $0x10,%esp
40d0dc:	66 83 bd 74 ff ff ff 	cmpw   $0x0,-0x8c(%ebp)
40d0e3:	00
40d0e4:	74 08                	je     0x40d0ee
40d0e6:	6a 63                	push   $0x63
40d0e8:	ff 15 34 11 40 00    	call   *0x401134
40d0ee:	6a 01                	push   $0x1
40d0f0:	6a 01                	push   $0x1
40d0f2:	8d 45 c8             	lea    -0x38(%ebp),%eax
40d0f5:	50                   	push   %eax
40d0f6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d0f9:	51                   	push   %ecx
40d0fa:	8d 55 b8             	lea    -0x48(%ebp),%edx
40d0fd:	52                   	push   %edx
40d0fe:	c7 45 d0 04 00 02 80 	movl   $0x80020004,-0x30(%ebp)
40d105:	c7 45 c8 0a 00 00 00 	movl   $0xa,-0x38(%ebp)
40d10c:	c7 45 e0 0c 00 00 00 	movl   $0xc,-0x20(%ebp)
40d113:	c7 45 d8 02 00 00 00 	movl   $0x2,-0x28(%ebp)
40d11a:	ff d6                	call   *%esi
40d11c:	8d 45 b8             	lea    -0x48(%ebp),%eax
40d11f:	50                   	push   %eax
40d120:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
40d126:	51                   	push   %ecx
40d127:	c7 45 80 0c 00 00 00 	movl   $0xc,-0x80(%ebp)
40d12e:	c7 85 78 ff ff ff 02 	movl   $0x8002,-0x88(%ebp)
40d135:	80 00 00
40d138:	ff d7                	call   *%edi
40d13a:	8d 55 b8             	lea    -0x48(%ebp),%edx
40d13d:	52                   	push   %edx
40d13e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d141:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
40d147:	8d 45 c8             	lea    -0x38(%ebp),%eax
40d14a:	50                   	push   %eax
40d14b:	51                   	push   %ecx
40d14c:	6a 03                	push   $0x3
40d14e:	ff d3                	call   *%ebx
40d150:	83 c4 10             	add    $0x10,%esp
40d153:	66 83 bd 74 ff ff ff 	cmpw   $0x0,-0x8c(%ebp)
40d15a:	00
40d15b:	74 0b                	je     0x40d168
40d15d:	68 81 00 00 00       	push   $0x81
40d162:	ff 15 34 11 40 00    	call   *0x401134
40d168:	6a 01                	push   $0x1
40d16a:	6a 01                	push   $0x1
40d16c:	8d 55 c8             	lea    -0x38(%ebp),%edx
40d16f:	52                   	push   %edx
40d170:	8d 45 d8             	lea    -0x28(%ebp),%eax
40d173:	50                   	push   %eax
40d174:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40d177:	51                   	push   %ecx
40d178:	c7 45 d0 04 00 02 80 	movl   $0x80020004,-0x30(%ebp)
40d17f:	c7 45 c8 0a 00 00 00 	movl   $0xa,-0x38(%ebp)
40d186:	c7 45 e0 0c 00 00 00 	movl   $0xc,-0x20(%ebp)
40d18d:	c7 45 d8 02 00 00 00 	movl   $0x2,-0x28(%ebp)
40d194:	ff d6                	call   *%esi
40d196:	8d 55 b8             	lea    -0x48(%ebp),%edx
40d199:	52                   	push   %edx
40d19a:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
40d1a0:	50                   	push   %eax
40d1a1:	c7 45 80 0c 00 00 00 	movl   $0xc,-0x80(%ebp)
40d1a8:	c7 85 78 ff ff ff 02 	movl   $0x8002,-0x88(%ebp)
40d1af:	80 00 00
40d1b2:	ff d7                	call   *%edi
40d1b4:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40d1b7:	51                   	push   %ecx
40d1b8:	8d 55 c8             	lea    -0x38(%ebp),%edx
40d1bb:	52                   	push   %edx
40d1bc:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
40d1c2:	8d 45 d8             	lea    -0x28(%ebp),%eax
40d1c5:	50                   	push   %eax
40d1c6:	6a 03                	push   $0x3
40d1c8:	ff d3                	call   *%ebx
40d1ca:	83 c4 10             	add    $0x10,%esp
40d1cd:	66 83 bd 74 ff ff ff 	cmpw   $0x0,-0x8c(%ebp)
40d1d4:	00
40d1d5:	74 08                	je     0x40d1df
40d1d7:	6a 41                	push   $0x41
40d1d9:	ff 15 34 11 40 00    	call   *0x401134
40d1df:	6a 01                	push   $0x1
40d1e1:	6a 01                	push   $0x1
40d1e3:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40d1e6:	51                   	push   %ecx
40d1e7:	8d 55 d8             	lea    -0x28(%ebp),%edx
40d1ea:	52                   	push   %edx
40d1eb:	8d 45 b8             	lea    -0x48(%ebp),%eax
40d1ee:	50                   	push   %eax
40d1ef:	c7 45 d0 04 00 02 80 	movl   $0x80020004,-0x30(%ebp)
40d1f6:	c7 45 c8 0a 00 00 00 	movl   $0xa,-0x38(%ebp)
40d1fd:	c7 45 e0 0c 00 00 00 	movl   $0xc,-0x20(%ebp)
40d204:	c7 45 d8 02 00 00 00 	movl   $0x2,-0x28(%ebp)
40d20b:	ff d6                	call   *%esi
40d20d:	8d 4d b8             	lea    -0x48(%ebp),%ecx
40d210:	51                   	push   %ecx
40d211:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
40d217:	52                   	push   %edx
40d218:	c7 45 80 0c 00 00 00 	movl   $0xc,-0x80(%ebp)
40d21f:	c7 85 78 ff ff ff 02 	movl   $0x8002,-0x88(%ebp)
40d226:	80 00 00
40d229:	ff d7                	call   *%edi
40d22b:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40d22e:	8d 55 d8             	lea    -0x28(%ebp),%edx
40d231:	89 85 74 ff ff ff    	mov    %eax,-0x8c(%ebp)
40d237:	8d 45 b8             	lea    -0x48(%ebp),%eax
40d23a:	50                   	push   %eax
40d23b:	51                   	push   %ecx
40d23c:	52                   	push   %edx
40d23d:	6a 03                	push   $0x3
40d23f:	ff d3                	call   *%ebx
40d241:	83 c4 10             	add    $0x10,%esp
40d244:	66 83 bd 74 ff ff ff 	cmpw   $0x0,-0x8c(%ebp)
40d24b:	00
40d24c:	74 08                	je     0x40d256
40d24e:	6a 67                	push   $0x67
40d250:	ff 15 34 11 40 00    	call   *0x401134
40d256:	6a 01                	push   $0x1
40d258:	6a 01                	push   $0x1
40d25a:	8d 45 c8             	lea    -0x38(%ebp),%eax
40d25d:	50                   	push   %eax
40d25e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d261:	51                   	push   %ecx
40d262:	8d 55 b8             	lea    -0x48(%ebp),%edx
40d265:	52                   	push   %edx
40d266:	c7 45 d0 04 00 02 80 	movl   $0x80020004,-0x30(%ebp)
40d26d:	c7 45 c8 0a 00 00 00 	movl   $0xa,-0x38(%ebp)
40d274:	c7 45 e0 0c 00 00 00 	movl   $0xc,-0x20(%ebp)
40d27b:	c7 45 d8 02 00 00 00 	movl   $0x2,-0x28(%ebp)
40d282:	ff d6                	call   *%esi
40d284:	8d 45 b8             	lea    -0x48(%ebp),%eax
40d287:	50                   	push   %eax
40d288:	8d 8d 78 ff ff ff    	lea    -0x88(%ebp),%ecx
40d28e:	51                   	push   %ecx
40d28f:	c7 45 80 0c 00 00 00 	movl   $0xc,-0x80(%ebp)
40d296:	c7 85 78 ff ff ff 02 	movl   $0x8002,-0x88(%ebp)
40d29d:	80 00 00
40d2a0:	ff d7                	call   *%edi
40d2a2:	8d 55 b8             	lea    -0x48(%ebp),%edx
40d2a5:	52                   	push   %edx
40d2a6:	8d 4d d8             	lea    -0x28(%ebp),%ecx
40d2a9:	8b f0                	mov    %eax,%esi
40d2ab:	8d 45 c8             	lea    -0x38(%ebp),%eax
40d2ae:	50                   	push   %eax
40d2af:	51                   	push   %ecx
40d2b0:	6a 03                	push   $0x3
40d2b2:	ff d3                	call   *%ebx
40d2b4:	83 c4 10             	add    $0x10,%esp
40d2b7:	66 85 f6             	test   %si,%si
40d2ba:	74 0b                	je     0x40d2c7
40d2bc:	68 b4 00 00 00       	push   $0xb4
40d2c1:	ff 15 34 11 40 00    	call   *0x401134
40d2c7:	68 f4 d2 40 00       	push   $0x40d2f4
40d2cc:	eb 1c                	jmp    0x40d2ea
40d2ce:	8d 55 a8             	lea    -0x58(%ebp),%edx
40d2d1:	52                   	push   %edx
40d2d2:	8d 45 b8             	lea    -0x48(%ebp),%eax
40d2d5:	50                   	push   %eax
40d2d6:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40d2d9:	51                   	push   %ecx
40d2da:	8d 55 d8             	lea    -0x28(%ebp),%edx
40d2dd:	52                   	push   %edx
40d2de:	6a 04                	push   $0x4
40d2e0:	ff 15 28 10 40 00    	call   *0x401028
40d2e6:	83 c4 14             	add    $0x14,%esp
40d2e9:	c3                   	ret
40d2ea:	8d 4d e8             	lea    -0x18(%ebp),%ecx
40d2ed:	ff 15 a8 11 40 00    	call   *0x4011a8
40d2f3:	c3                   	ret
40d2f4:	8b 45 18             	mov    0x18(%ebp),%eax
40d2f7:	66 8b 4d ec          	mov    -0x14(%ebp),%cx
40d2fb:	66 89 08             	mov    %cx,(%eax)
40d2fe:	8b 4d f0             	mov    -0x10(%ebp),%ecx
40d301:	5f                   	pop    %edi
40d302:	5e                   	pop    %esi
40d303:	33 c0                	xor    %eax,%eax
40d305:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
40d30c:	5b                   	pop    %ebx
40d30d:	8b e5                	mov    %ebp,%esp
40d30f:	5d                   	pop    %ebp
40d310:	c2 14 00             	ret    $0x14
40d313:	90                   	nop
40d314:	90                   	nop
40d315:	90                   	nop
40d316:	90                   	nop
40d317:	90                   	nop
40d318:	90                   	nop
40d319:	90                   	nop
40d31a:	90                   	nop
40d31b:	90                   	nop
40d31c:	90                   	nop
40d31d:	90                   	nop
40d31e:	90                   	nop
40d31f:	90                   	nop
40d320:	83 ec 10             	sub    $0x10,%esp
40d323:	53                   	push   %ebx
40d324:	55                   	push   %ebp
40d325:	56                   	push   %esi
40d326:	57                   	push   %edi
40d327:	8b 3d 08 11 40 00    	mov    0x401108,%edi
40d32d:	68 7e 21 00 00       	push   $0x217e
40d332:	8d 44 24 14          	lea    0x14(%esp),%eax
40d336:	50                   	push   %eax
40d337:	c7 44 24 18 00 00 00 	movl   $0x0,0x18(%esp)
40d33e:	00
40d33f:	ff d7                	call   *%edi
40d341:	8b 1d 60 10 40 00    	mov    0x401060,%ebx
40d347:	50                   	push   %eax
40d348:	ff d3                	call   *%ebx
40d34a:	8b 2d 14 10 40 00    	mov    0x401014,%ebp
40d350:	33 c9                	xor    %ecx,%ecx
40d352:	66 3d ff ff          	cmp    $0xffff,%ax
40d356:	0f 95 c1             	setne  %cl
40d359:	f7 d9                	neg    %ecx
40d35b:	66 8b f1             	mov    %cx,%si
40d35e:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40d362:	ff d5                	call   *%ebp
40d364:	66 85 f6             	test   %si,%si
40d367:	8b 74 24 24          	mov    0x24(%esp),%esi
40d36b:	74 1f                	je     0x40d38c
40d36d:	8b 16                	mov    (%esi),%edx
40d36f:	56                   	push   %esi
40d370:	ff 92 14 07 00 00    	call   *0x714(%edx)
40d376:	85 c0                	test   %eax,%eax
40d378:	7d 12                	jge    0x40d38c
40d37a:	68 14 07 00 00       	push   $0x714
40d37f:	68 04 76 40 00       	push   $0x407604
40d384:	56                   	push   %esi
40d385:	50                   	push   %eax
40d386:	ff 15 48 10 40 00    	call   *0x401048
40d38c:	68 d8 3c 00 00       	push   $0x3cd8