409f56:	f7 df                	neg    %edi
409f58:	1b ff                	sbb    %edi,%edi
409f5a:	47                   	inc    %edi
409f5b:	8d 4d b0             	lea    -0x50(%ebp),%ecx
409f5e:	f7 df                	neg    %edi
409f60:	ff 15 90 11 40 00    	call   *0x401190
409f66:	8d 4d ac             	lea    -0x54(%ebp),%ecx
409f69:	ff 15 8c 11 40 00    	call   *0x40118c
409f6f:	66 85 ff             	test   %di,%di
409f72:	74 41                	je     0x409fb5
409f74:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
409f7a:	8d 4d 98             	lea    -0x68(%ebp),%ecx
409f7d:	c7 45 80 4c 8f 40 00 	movl   $0x408f4c,-0x80(%ebp)
409f84:	c7 85 78 ff ff ff 08 	movl   $0x8,-0x88(%ebp)
409f8b:	00 00 00
409f8e:	ff 15 60 11 40 00    	call   *0x401160
409f94:	8d 4d 98             	lea    -0x68(%ebp),%ecx
409f97:	51                   	push   %ecx
409f98:	8d 55 88             	lea    -0x78(%ebp),%edx
409f9b:	52                   	push   %edx
409f9c:	ff 15 50 10 40 00    	call   *0x401050
409fa2:	8d 45 88             	lea    -0x78(%ebp),%eax
409fa5:	50                   	push   %eax
409fa6:	8d 4d 98             	lea    -0x68(%ebp),%ecx
409fa9:	51                   	push   %ecx
409faa:	6a 02                	push   $0x2
409fac:	ff 15 20 10 40 00    	call   *0x401020
409fb2:	83 c4 0c             	add    $0xc,%esp
409fb5:	8d 55 98             	lea    -0x68(%ebp),%edx
409fb8:	52                   	push   %edx
409fb9:	c7 45 a0 04 00 02 80 	movl   $0x80020004,-0x60(%ebp)
409fc0:	c7 45 98 0a 00 00 00 	movl   $0xa,-0x68(%ebp)
409fc7:	ff 15 0c 11 40 00    	call   *0x40110c
409fcd:	8b d0                	mov    %eax,%edx
409fcf:	8d 4d b0             	lea    -0x50(%ebp),%ecx
409fd2:	ff 15 70 11 40 00    	call   *0x401170
409fd8:	50                   	push   %eax
409fd9:	68 a0 8f 40 00       	push   $0x408fa0
409fde:	ff 15 90 10 40 00    	call   *0x401090
409fe4:	8b f8                	mov    %eax,%edi
409fe6:	f7 df                	neg    %edi
409fe8:	1b ff                	sbb    %edi,%edi
409fea:	47                   	inc    %edi
409feb:	8d 4d b0             	lea    -0x50(%ebp),%ecx
409fee:	f7 df                	neg    %edi
409ff0:	ff 15 90 11 40 00    	call   *0x401190
409ff6:	8d 4d 98             	lea    -0x68(%ebp),%ecx
409ff9:	ff 15 18 10 40 00    	call   *0x401018
409fff:	66 85 ff             	test   %di,%di
40a002:	74 33                	je     0x40a037
40a004:	8d 95 78 ff ff ff    	lea    -0x88(%ebp),%edx
40a00a:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40a00d:	c7 45 80 c0 8f 40 00 	movl   $0x408fc0,-0x80(%ebp)
40a014:	c7 85 78 ff ff ff 08 	movl   $0x8,-0x88(%ebp)
40a01b:	00 00 00
40a01e:	ff 15 60 11 40 00    	call   *0x401160
40a024:	8d 45 98             	lea    -0x68(%ebp),%eax
40a027:	50                   	push   %eax
40a028:	ff 15 94 10 40 00    	call   *0x401094
40a02e:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40a031:	ff 15 18 10 40 00    	call   *0x401018
40a037:	8b 0e                	mov    (%esi),%ecx
40a039:	6a 01                	push   $0x1
40a03b:	56                   	push   %esi
40a03c:	ff 91 14 01 00 00    	call   *0x114(%ecx)
40a042:	db e2                	fnclex
40a044:	85 c0                	test   %eax,%eax
40a046:	7d 0e                	jge    0x40a056
40a048:	68 14 01 00 00       	push   $0x114
40a04d:	68 7c 8d 40 00       	push   $0x408d7c
40a052:	56                   	push   %esi
40a053:	50                   	push   %eax
40a054:	ff d3                	call   *%ebx
40a056:	8b 16                	mov    (%esi),%edx
40a058:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
40a05e:	50                   	push   %eax
40a05f:	56                   	push   %esi
40a060:	ff 92 10 01 00 00    	call   *0x110(%edx)
40a066:	db e2                	fnclex
40a068:	85 c0                	test   %eax,%eax
40a06a:	7d 0e                	jge    0x40a07a
40a06c:	68 10 01 00 00       	push   $0x110
40a071:	68 7c 8d 40 00       	push   $0x408d7c
40a076:	56                   	push   %esi
40a077:	50                   	push   %eax
40a078:	ff d3                	call   *%ebx
40a07a:	66 83 bd 74 ff ff ff 	cmpw   $0x0,-0x8c(%ebp)
40a081:	00
40a082:	0f 85 dd 00 00 00    	jne    0x40a165
40a088:	6a 00                	push   $0x0
40a08a:	68 e4 8f 40 00       	push   $0x408fe4
40a08f:	8d 4d c8             	lea    -0x38(%ebp),%ecx
40a092:	51                   	push   %ecx
40a093:	8d 55 98             	lea    -0x68(%ebp),%edx
40a096:	52                   	push   %edx
40a097:	ff 15 64 11 40 00    	call   *0x401164
40a09d:	a1 c8 d6 40 00       	mov    0x40d6c8,%eax
40a0a2:	83 c4 10             	add    $0x10,%esp
40a0a5:	85 c0                	test   %eax,%eax
40a0a7:	75 10                	jne    0x40a0b9
40a0a9:	68 c8 d6 40 00       	push   $0x40d6c8
40a0ae:	68 28 8f 40 00       	push   $0x408f28
40a0b3:	ff 15 14 11 40 00    	call   *0x401114
40a0b9:	8b 3d c8 d6 40 00    	mov    0x40d6c8,%edi
40a0bf:	8b 07                	mov    (%edi),%eax
40a0c1:	8d 4d ac             	lea    -0x54(%ebp),%ecx
40a0c4:	51                   	push   %ecx
40a0c5:	57                   	push   %edi
40a0c6:	ff 50 1c             	call   *0x1c(%eax)
40a0c9:	db e2                	fnclex
40a0cb:	85 c0                	test   %eax,%eax
40a0cd:	7d 0b                	jge    0x40a0da
40a0cf:	6a 1c                	push   $0x1c
40a0d1:	68 18 8f 40 00       	push   $0x408f18
40a0d6:	57                   	push   %edi
40a0d7:	50                   	push   %eax
40a0d8:	ff d3                	call   *%ebx
40a0da:	8b 7d ac             	mov    -0x54(%ebp),%edi
40a0dd:	83 ec 10             	sub    $0x10,%esp
40a0e0:	8b d4                	mov    %esp,%edx
40a0e2:	b9 02 00 00 00       	mov    $0x2,%ecx
40a0e7:	89 0a                	mov    %ecx,(%edx)
40a0e9:	89 8d 78 ff ff ff    	mov    %ecx,-0x88(%ebp)
40a0ef:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
40a0f5:	89 4a 04             	mov    %ecx,0x4(%edx)
40a0f8:	b8 01 00 00 00       	mov    $0x1,%eax
40a0fd:	89 45 80             	mov    %eax,-0x80(%ebp)
40a100:	8b 1f                	mov    (%edi),%ebx
40a102:	89 42 08             	mov    %eax,0x8(%edx)
40a105:	8b 45 84             	mov    -0x7c(%ebp),%eax
40a108:	68 20 90 40 00       	push   $0x409020
40a10d:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40a110:	51                   	push   %ecx
40a111:	89 42 0c             	mov    %eax,0xc(%edx)
40a114:	ff 15 b4 10 40 00    	call   *0x4010b4
40a11a:	50                   	push   %eax
40a11b:	8d 55 a8             	lea    -0x58(%ebp),%edx
40a11e:	52                   	push   %edx
40a11f:	ff 15 60 10 40 00    	call   *0x401060
40a125:	50                   	push   %eax
40a126:	57                   	push   %edi
40a127:	ff 53 58             	call   *0x58(%ebx)
40a12a:	db e2                	fnclex
40a12c:	85 c0                	test   %eax,%eax
40a12e:	7d 13                	jge    0x40a143
40a130:	8b 1d 44 10 40 00    	mov    0x401044,%ebx
40a136:	6a 58                	push   $0x58
40a138:	68 30 90 40 00       	push   $0x409030
40a13d:	57                   	push   %edi
40a13e:	50                   	push   %eax
40a13f:	ff d3                	call   *%ebx
40a141:	eb 06                	jmp    0x40a149
40a143:	8b 1d 44 10 40 00    	mov    0x401044,%ebx
40a149:	8d 45 ac             	lea    -0x54(%ebp),%eax
40a14c:	50                   	push   %eax
40a14d:	8d 4d a8             	lea    -0x58(%ebp),%ecx
40a150:	51                   	push   %ecx
40a151:	6a 02                	push   $0x2
40a153:	ff 15 28 10 40 00    	call   *0x401028
40a159:	83 c4 0c             	add    $0xc,%esp
40a15c:	8d 4d 98             	lea    -0x68(%ebp),%ecx
40a15f:	ff 15 18 10 40 00    	call   *0x401018
40a165:	b9 0c 00 00 00       	mov    $0xc,%ecx
40a16a:	c7 85 58 ff ff ff 00 	movl   $0xb8800000,-0xa8(%ebp)
40a171:	00 80 b8
40a174:	c7 85 5c ff ff ff 33 	movl   $0x4202a233,-0xa4(%ebp)
40a17b:	a2 02 42
40a17e:	ff 15 cc 10 40 00    	call   *0x4010cc
40a184:	8b 16                	mov    (%esi),%edx
40a186:	68 94 a4 02 42       	push   $0x4202a494
40a18b:	68 00 00 10 b5       	push   $0xb5100000
40a190:	88 85 74 ff ff ff    	mov    %al,-0x8c(%ebp)
40a196:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
40a19c:	50                   	push   %eax
40a19d:	68 f7 5a 00 00       	push   $0x5af7
40a1a2:	68 80 b1 b3 b3       	push   $0xb3b3b180
40a1a7:	8d 8d 74 ff ff ff    	lea    -0x8c(%ebp),%ecx
40a1ad:	51                   	push   %ecx
40a1ae:	68 fd 5a 00 00       	push   $0x5afd
40a1b3:	68 80 5a 56 58       	push   $0x58565a80
40a1b8:	56                   	push   %esi
40a1b9:	ff 92 18 07 00 00    	call   *0x718(%edx)
40a1bf:	8b 3d 2c 11 40 00    	mov    0x40112c,%edi
40a1c5:	ba 9c 90 40 00       	mov    $0x40909c,%edx
40a1ca:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40a1cd:	c7 85 50 ff ff ff 00 	movl   $0x1ff80000,-0xb0(%ebp)
40a1d4:	00 f8 1f
40a1d7:	c7 85 54 ff ff ff fa 	movl   $0x4202a2fa,-0xac(%ebp)
40a1de:	a2 02 42
40a1e1:	ff d7                	call   *%edi
40a1e3:	8b 16                	mov    (%esi),%edx
40a1e5:	8d 85 50 ff ff ff    	lea    -0xb0(%ebp),%eax
40a1eb:	50                   	push   %eax
40a1ec:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40a1ef:	51                   	push   %ecx
40a1f0:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
40a1f6:	50                   	push   %eax
40a1f7:	68 f3 5a 00 00       	push   $0x5af3
40a1fc:	68 f0 23 e0 94       	push   $0x94e023f0
40a201:	8d 8d 58 ff ff ff    	lea    -0xa8(%ebp),%ecx
40a207:	51                   	push   %ecx
40a208:	68 44 90 40 00       	push   $0x409044
40a20d:	68 f8 a3 02 42       	push   $0x4202a3f8
40a212:	68 00 00 a8 ef       	push   $0xefa80000
40a217:	56                   	push   %esi
40a218:	c7 85 6c ff ff ff bf 	movl   $0x9bebf,-0x94(%ebp)
40a21f:	be 09 00
40a222:	c7 85 58 ff ff ff 00 	movl   $0x4cb00000,-0xa8(%ebp)
40a229:	00 b0 4c
40a22c:	c7 85 5c ff ff ff 6b 	movl   $0x4202a46b,-0xa4(%ebp)
40a233:	a4 02 42
40a236:	ff 92 f8 06 00 00    	call   *0x6f8(%edx)
40a23c:	85 c0                	test   %eax,%eax
40a23e:	7d 0e                	jge    0x40a24e
40a240:	68 f8 06 00 00       	push   $0x6f8
40a245:	68 ac 8d 40 00       	push   $0x408dac
40a24a:	56                   	push   %esi
40a24b:	50                   	push   %eax
40a24c:	ff d3                	call   *%ebx
40a24e:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40a251:	ff 15 90 11 40 00    	call   *0x401190
40a257:	ba b8 90 40 00       	mov    $0x4090b8,%edx
40a25c:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40a25f:	c7 85 70 ff ff ff ff 	movl   $0xffffffff,-0x90(%ebp)
40a266:	ff ff ff
40a269:	c7 85 74 ff ff ff 01 	movl   $0x3001,-0x8c(%ebp)
40a270:	30 00 00
40a273:	ff d7                	call   *%edi
40a275:	8b 16                	mov    (%esi),%edx
40a277:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
40a27d:	50                   	push   %eax
40a27e:	68 46 2c 33 00       	push   $0x332c46
40a283:	8d 8d 70 ff ff ff    	lea    -0x90(%ebp),%ecx
40a289:	51                   	push   %ecx
40a28a:	68 6c 79 58 4b       	push   $0x4b58796c
40a28f:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
40a295:	50                   	push   %eax
40a296:	68 d4 90 40 00       	push   $0x4090d4
40a29b:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40a29e:	51                   	push   %ecx
40a29f:	6a 00                	push   $0x0
40a2a1:	56                   	push   %esi
40a2a2:	ff 92 fc 06 00 00    	call   *0x6fc(%edx)
40a2a8:	85 c0                	test   %eax,%eax
40a2aa:	7d 0e                	jge    0x40a2ba
40a2ac:	68 fc 06 00 00       	push   $0x6fc
40a2b1:	68 ac 8d 40 00       	push   $0x408dac
40a2b6:	56                   	push   %esi
40a2b7:	50                   	push   %eax
40a2b8:	ff d3                	call   *%ebx
40a2ba:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40a2bd:	ff 15 90 11 40 00    	call   *0x401190
40a2c3:	8b 16                	mov    (%esi),%edx
40a2c5:	8d 85 58 ff ff ff    	lea    -0xa8(%ebp),%eax
40a2cb:	50                   	push   %eax
40a2cc:	68 b2 18 00 00       	push   $0x18b2
40a2d1:	56                   	push   %esi
40a2d2:	ff 92 00 07 00 00    	call   *0x700(%edx)
40a2d8:	85 c0                	test   %eax,%eax
40a2da:	7d 0e                	jge    0x40a2ea
40a2dc:	68 00 07 00 00       	push   $0x700
40a2e1:	68 ac 8d 40 00       	push   $0x408dac
40a2e6:	56                   	push   %esi
40a2e7:	50                   	push   %eax
40a2e8:	ff d3                	call   *%ebx
40a2ea:	8b 0e                	mov    (%esi),%ecx
40a2ec:	8d 95 74 ff ff ff    	lea    -0x8c(%ebp),%edx
40a2f2:	52                   	push   %edx
40a2f3:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
40a2f9:	50                   	push   %eax
40a2fa:	56                   	push   %esi
40a2fb:	c7 85 6c ff ff ff 04 	movl   $0x4b76b904,-0x94(%ebp)
40a302:	b9 76 4b
40a305:	ff 91 04 07 00 00    	call   *0x704(%ecx)
40a30b:	85 c0                	test   %eax,%eax
40a30d:	7d 0e                	jge    0x40a31d
40a30f:	68 04 07 00 00       	push   $0x704
40a314:	68 ac 8d 40 00       	push   $0x408dac
40a319:	56                   	push   %esi
40a31a:	50                   	push   %eax
40a31b:	ff d3                	call   *%ebx
40a31d:	8b 0e                	mov    (%esi),%ecx
40a31f:	8d 95 6c ff ff ff    	lea    -0x94(%ebp),%edx
40a325:	52                   	push   %edx
40a326:	68 e8 a1 02 42       	push   $0x4202a1e8
40a32b:	68 00 00 10 de       	push   $0xde100000
40a330:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
40a336:	50                   	push   %eax
40a337:	68 fd 5a 00 00       	push   $0x5afd
40a33c:	68 50 aa ef 7b       	push   $0x7befaa50
40a341:	56                   	push   %esi
40a342:	c7 85 6c ff ff ff 7a 	movl   $0x1fbf7a,-0x94(%ebp)
40a349:	bf 1f 00
40a34c:	c7 85 74 ff ff ff 98 	movl   $0x5c98,-0x8c(%ebp)
40a353:	5c 00 00
40a356:	ff 91 1c 07 00 00    	call   *0x71c(%ecx)
40a35c:	8b 0e                	mov    (%esi),%ecx
40a35e:	8d 95 58 ff ff ff    	lea    -0xa8(%ebp),%edx
40a364:	52                   	push   %edx
40a365:	8d 85 60 ff ff ff    	lea    -0xa0(%ebp),%eax
40a36b:	50                   	push   %eax
40a36c:	68 61 81 1b 00       	push   $0x1b8161
40a371:	6a ff                	push   $0xffffffff
40a373:	8d 95 64 ff ff ff    	lea    -0x9c(%ebp),%edx
40a379:	52                   	push   %edx
40a37a:	8d 85 74 ff ff ff    	lea    -0x8c(%ebp),%eax
40a380:	50                   	push   %eax
40a381:	8d 95 68 ff ff ff    	lea    -0x98(%ebp),%edx
40a387:	52                   	push   %edx
40a388:	8d 85 6c ff ff ff    	lea    -0x94(%ebp),%eax
40a38e:	50                   	push   %eax
40a38f:	56                   	push   %esi
40a390:	c7 85 60 ff ff ff 94 	movl   $0x4b2ec694,-0xa0(%ebp)
40a397:	c6 2e 4b
40a39a:	c7 85 64 ff ff ff d0 	movl   $0x4b2ac5d0,-0x9c(%ebp)
40a3a1:	c5 2a 4b
40a3a4:	c7 85 74 ff ff ff d1 	movl   $0x49d1,-0x8c(%ebp)
40a3ab:	49 00 00
40a3ae:	c7 85 68 ff ff ff 72 	movl   $0x863a72,-0x98(%ebp)
40a3b5:	3a 86 00
40a3b8:	c7 85 6c ff ff ff 48 	movl   $0x4b24c748,-0x94(%ebp)
40a3bf:	c7 24 4b
40a3c2:	ff 91 08 07 00 00    	call   *0x708(%ecx)
40a3c8:	85 c0                	test   %eax,%eax
40a3ca:	7d 0e                	jge    0x40a3da
40a3cc:	68 08 07 00 00       	push   $0x708
40a3d1:	68 ac 8d 40 00       	push   $0x408dac
40a3d6:	56                   	push   %esi
40a3d7:	50                   	push   %eax
40a3d8:	ff d3                	call   *%ebx
40a3da:	ba f8 90 40 00       	mov    $0x4090f8,%edx
40a3df:	8d 4d b0             	lea    -0x50(%ebp),%ecx
40a3e2:	c7 85 74 ff ff ff 2e 	movl   $0xc2e,-0x8c(%ebp)
40a3e9:	0c 00 00
40a3ec:	ff d7                	call   *%edi
40a3ee:	8b 0e                	mov    (%esi),%ecx
40a3f0:	8d 95 74 ff ff ff    	lea    -0x8c(%ebp),%edx
40a3f6:	52                   	push   %edx
40a3f7:	8d 45 b0             	lea    -0x50(%ebp),%eax
40a3fa:	50                   	push   %eax
40a3fb:	68 c4 a3 02 42       	push   $0x4202a3c4
40a400:	68 00 00 70 52       	push   $0x52700000
40a405:	8d 95 58 ff ff ff    	lea    -0xa8(%ebp),%edx
40a40b:	52                   	push   %edx
40a40c:	56                   	push   %esi
40a40d:	c7 85 58 ff ff ff 00 	movl   $0xcbc00000,-0xa8(%ebp)
40a414:	00 c0 cb
40a417:	c7 85 5c ff ff ff 75 	movl   $0x4202a075,-0xa4(%ebp)
40a41e:	a0 02 42
40a421:	ff 91 0c 07 00 00    	call   *0x70c(%ecx)