40aedc:	51                   	push   %ecx
40aedd:	56                   	push   %esi
40aede:	56                   	push   %esi
40aedf:	68 f8 17 40 00       	push   $0x4017f8
40aee4:	50                   	push   %eax
40aee5:	ff 15 24 30 43 00    	call   *0x433024
40aeeb:	8b ce                	mov    %esi,%ecx
40aeed:	85 c0                	test   %eax,%eax
40aeef:	78 07                	js     0x40aef8
40aef1:	8b 8c 24 88 00 00 00 	mov    0x88(%esp),%ecx
40aef8:	33 c0                	xor    %eax,%eax
40aefa:	85 c9                	test   %ecx,%ecx
40aefc:	8b cb                	mov    %ebx,%ecx
40aefe:	0f 95 c0             	setne  %al
40af01:	a3 34 13 41 00       	mov    %eax,0x411334
40af06:	e8 0b 30 00 00       	call   0x40df16
40af0b:	8d 44 24 28          	lea    0x28(%esp),%eax
40af0f:	50                   	push   %eax
40af10:	53                   	push   %ebx
40af11:	ff 15 f0 31 43 00    	call   *0x4331f0
40af17:	6b 44 24 30 17       	imul   $0x17,0x30(%esp),%eax
40af1c:	8b cb                	mov    %ebx,%ecx
40af1e:	99                   	cltd
40af1f:	83 e2 1f             	and    $0x1f,%edx
40af22:	03 c2                	add    %edx,%eax
40af24:	c1 f8 05             	sar    $0x5,%eax
40af27:	a3 38 1f 43 00       	mov    %eax,0x431f38
40af2c:	e8 43 e7 ff ff       	call   0x409674
40af31:	33 ff                	xor    %edi,%edi
40af33:	47                   	inc    %edi
40af34:	57                   	push   %edi
40af35:	57                   	push   %edi
40af36:	6a 68                	push   $0x68
40af38:	53                   	push   %ebx
40af39:	ff 15 14 33 43 00    	call   *0x433314
40af3f:	50                   	push   %eax
40af40:	ff 15 a0 32 43 00    	call   *0x4332a0
40af46:	56                   	push   %esi
40af47:	6a 66                	push   $0x66
40af49:	53                   	push   %ebx
40af4a:	ff 15 14 33 43 00    	call   *0x433314
40af50:	50                   	push   %eax
40af51:	ff 15 14 32 43 00    	call   *0x433214
40af57:	56                   	push   %esi
40af58:	68 85 00 00 00       	push   $0x85
40af5d:	53                   	push   %ebx
40af5e:	ff 15 14 33 43 00    	call   *0x433314
40af64:	50                   	push   %eax
40af65:	ff 15 14 32 43 00    	call   *0x433214
40af6b:	8b cb                	mov    %ebx,%ecx
40af6d:	89 35 b0 16 41 00    	mov    %esi,0x4116b0
40af73:	89 35 48 26 43 00    	mov    %esi,0x432648
40af79:	e8 be 97 ff ff       	call   0x40473c
40af7e:	85 c0                	test   %eax,%eax
40af80:	74 29                	je     0x40afab
40af82:	6a 69                	push   $0x69
40af84:	53                   	push   %ebx
40af85:	ff 15 14 33 43 00    	call   *0x433314
40af8b:	85 c0                	test   %eax,%eax
40af8d:	74 07                	je     0x40af96
40af8f:	8b c8                	mov    %eax,%ecx
40af91:	e8 91 99 ff ff       	call   0x404927
40af96:	68 e8 10 41 00       	push   $0x4110e8
40af9b:	68 0c 18 40 00       	push   $0x40180c
40afa0:	51                   	push   %ecx
40afa1:	6a 69                	push   $0x69
40afa3:	5a                   	pop    %edx
40afa4:	8b cb                	mov    %ebx,%ecx
40afa6:	e8 67 4f 00 00       	call   0x40ff12
40afab:	39 35 ac 16 41 00    	cmp    %esi,0x4116ac
40afb1:	74 05                	je     0x40afb8
40afb3:	e8 fc 8b ff ff       	call   0x403bb4
40afb8:	b9 b0 04 00 00       	mov    $0x4b0,%ecx
40afbd:	89 35 ac 16 41 00    	mov    %esi,0x4116ac
40afc3:	89 35 a8 16 41 00    	mov    %esi,0x4116a8
40afc9:	e8 05 8c ff ff       	call   0x403bd3
40afce:	57                   	push   %edi
40afcf:	68 50 3b 40 00       	push   $0x403b50
40afd4:	ff 15 bc 31 43 00    	call   *0x4331bc
40afda:	68 82 00 00 00       	push   $0x82
40afdf:	53                   	push   %ebx
40afe0:	ff 15 14 33 43 00    	call   *0x433314
40afe6:	85 c0                	test   %eax,%eax
40afe8:	74 07                	je     0x40aff1
40afea:	8b c8                	mov    %eax,%ecx
40afec:	e8 15 8d ff ff       	call   0x403d06
40aff1:	68 f0 11 41 00       	push   $0x4111f0
40aff6:	68 18 18 40 00       	push   $0x401818
40affb:	51                   	push   %ecx
40affc:	ba 82 00 00 00       	mov    $0x82,%edx
40b001:	8b cb                	mov    %ebx,%ecx
40b003:	e8 0a 4f 00 00       	call   0x40ff12
40b008:	e8 5a bc ff ff       	call   0x406c67
40b00d:	e8 2e 4d 00 00       	call   0x40fd40
40b012:	85 c0                	test   %eax,%eax
40b014:	74 17                	je     0x40b02d
40b016:	68 ca 00 00 00       	push   $0xca
40b01b:	53                   	push   %ebx
40b01c:	ff 15 14 33 43 00    	call   *0x433314
40b022:	85 c0                	test   %eax,%eax
40b024:	74 07                	je     0x40b02d
40b026:	8b c8                	mov    %eax,%ecx
40b028:	e8 10 c5 ff ff       	call   0x40753d
40b02d:	33 c0                	xor    %eax,%eax
40b02f:	39 3d 34 13 41 00    	cmp    %edi,0x411334
40b035:	56                   	push   %esi
40b036:	0f 94 c0             	sete   %al
40b039:	50                   	push   %eax
40b03a:	68 f1 00 00 00       	push   $0xf1
40b03f:	6a 77                	push   $0x77
40b041:	53                   	push   %ebx
40b042:	ff 15 14 33 43 00    	call   *0x433314
40b048:	50                   	push   %eax
40b049:	ff 15 10 33 43 00    	call   *0x433310
40b04f:	68 00 00 08 00       	push   $0x80000
40b054:	56                   	push   %esi
40b055:	68 45 04 00 00       	push   $0x445
40b05a:	6a 68                	push   $0x68
40b05c:	53                   	push   %ebx
40b05d:	ff 15 14 33 43 00    	call   *0x433314
40b063:	50                   	push   %eax
40b064:	ff 15 10 33 43 00    	call   *0x433310
40b06a:	6a 24                	push   $0x24
40b06c:	56                   	push   %esi
40b06d:	68 78 04 00 00       	push   $0x478
40b072:	6a 68                	push   $0x68
40b074:	53                   	push   %ebx
40b075:	ff 15 14 33 43 00    	call   *0x433314
40b07b:	50                   	push   %eax
40b07c:	ff 15 10 33 43 00    	call   *0x433310
40b082:	33 d2                	xor    %edx,%edx
40b084:	8b cb                	mov    %ebx,%ecx
40b086:	e8 00 34 00 00       	call   0x40e48b
40b08b:	bf bd 02 00 00       	mov    $0x2bd,%edi
40b090:	57                   	push   %edi
40b091:	53                   	push   %ebx
40b092:	ff 15 14 33 43 00    	call   *0x433314
40b098:	68 e0 e7 40 00       	push   $0x40e7e0
40b09d:	6a fc                	push   $0xfffffffc
40b09f:	50                   	push   %eax
40b0a0:	ff 15 f8 32 43 00    	call   *0x4332f8
40b0a6:	50                   	push   %eax
40b0a7:	ff 15 7c 31 43 00    	call   *0x43317c
40b0ad:	56                   	push   %esi
40b0ae:	6a 04                	push   $0x4
40b0b0:	68 c5 00 00 00       	push   $0xc5
40b0b5:	57                   	push   %edi
40b0b6:	53                   	push   %ebx
40b0b7:	a3 3c 26 43 00       	mov    %eax,0x43263c
40b0bc:	ff 15 14 33 43 00    	call   *0x433314
40b0c2:	50                   	push   %eax
40b0c3:	ff 15 10 33 43 00    	call   *0x433310
40b0c9:	68 84 00 00 00       	push   $0x84
40b0ce:	53                   	push   %ebx
40b0cf:	ff 15 14 33 43 00    	call   *0x433314
40b0d5:	68 a0 ed 40 00       	push   $0x40eda0
40b0da:	6a fc                	push   $0xfffffffc
40b0dc:	50                   	push   %eax
40b0dd:	ff 15 f8 32 43 00    	call   *0x4332f8
40b0e3:	50                   	push   %eax
40b0e4:	ff 15 7c 31 43 00    	call   *0x43317c
40b0ea:	6a 08                	push   $0x8
40b0ec:	a3 38 26 43 00       	mov    %eax,0x432638
40b0f1:	8d 84 24 8c 00 00 00 	lea    0x8c(%esp),%eax
40b0f8:	50                   	push   %eax
40b0f9:	68 04 10 00 00       	push   $0x1004
40b0fe:	56                   	push   %esi
40b0ff:	ff 15 a4 32 43 00    	call   *0x4332a4
40b105:	0f b7 c0             	movzwl %ax,%eax
40b108:	50                   	push   %eax
40b109:	ff 15 38 31 43 00    	call   *0x433138
40b10f:	85 c0                	test   %eax,%eax
40b111:	74 14                	je     0x40b127
40b113:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
40b11a:	50                   	push   %eax
40b11b:	ff 15 fc 33 43 00    	call   *0x4333fc
40b121:	59                   	pop    %ecx
40b122:	a3 5c 26 43 00       	mov    %eax,0x43265c
40b127:	8b 7c 24 14          	mov    0x14(%esp),%edi
40b12b:	56                   	push   %esi
40b12c:	68 69 00 01 00       	push   $0x10069
40b131:	68 11 01 00 00       	push   $0x111
40b136:	53                   	push   %ebx
40b137:	ff 15 10 33 43 00    	call   *0x433310
40b13d:	8b 75 0c             	mov    0xc(%ebp),%esi
40b140:	81 fe 10 01 00 00    	cmp    $0x110,%esi
40b146:	0f 85 13 01 00 00    	jne    0x40b25f
40b14c:	ff 35 14 19 43 00    	push   0x431914
40b152:	ff 15 28 33 43 00    	call   *0x433328
40b158:	e9 41 ee ff ff       	jmp    0x409f9e
40b15d:	6a 0f                	push   $0xf
40b15f:	ff 15 0c 32 43 00    	call   *0x43320c
40b165:	50                   	push   %eax
40b166:	57                   	push   %edi
40b167:	ff 15 94 30 43 00    	call   *0x433094
40b16d:	ff 35 68 1f 43 00    	push   0x431f68
40b173:	ff 15 60 30 43 00    	call   *0x433060
40b179:	33 c0                	xor    %eax,%eax
40b17b:	89 84 24 8c 00 00 00 	mov    %eax,0x8c(%esp)
40b182:	89 84 24 88 00 00 00 	mov    %eax,0x88(%esp)
40b189:	8d 84 24 88 00 00 00 	lea    0x88(%esp),%eax
40b190:	50                   	push   %eax
40b191:	53                   	push   %ebx
40b192:	ff 15 74 32 43 00    	call   *0x433274
40b198:	a1 68 1f 43 00       	mov    0x431f68,%eax
40b19d:	e9 bf 00 00 00       	jmp    0x40b261
40b1a2:	2d 10 02 00 00       	sub    $0x210,%eax
40b1a7:	0f 84 a2 00 00 00    	je     0x40b24f
40b1ad:	2d d0 00 00 00       	sub    $0xd0,%eax
40b1b2:	0f 84 8e 00 00 00    	je     0x40b246
40b1b8:	83 e8 29             	sub    $0x29,%eax
40b1bb:	74 1e                	je     0x40b1db
40b1bd:	83 e8 03             	sub    $0x3,%eax
40b1c0:	0f 85 99 00 00 00    	jne    0x40b25f
40b1c6:	57                   	push   %edi
40b1c7:	52                   	push   %edx
40b1c8:	6a 71                	push   $0x71
40b1ca:	ff 35 0c 19 41 00    	push   0x41190c
40b1d0:	ff 15 20 33 43 00    	call   *0x433320
40b1d6:	e9 a2 f1 ff ff       	jmp    0x40a37d
40b1db:	39 35 6c 26 43 00    	cmp    %esi,0x43266c
40b1e1:	74 5f                	je     0x40b242
40b1e3:	52                   	push   %edx
40b1e4:	ff 15 ac 31 43 00    	call   *0x4331ac
40b1ea:	ff 35 6c 26 43 00    	push   0x43266c
40b1f0:	8b d8                	mov    %eax,%ebx
40b1f2:	ff 15 ac 31 43 00    	call   *0x4331ac
40b1f8:	ff 35 70 26 43 00    	push   0x432670
40b1fe:	8b f0                	mov    %eax,%esi
40b200:	ff 33                	push   (%ebx)
40b202:	ff 15 ac 30 43 00    	call   *0x4330ac
40b208:	56                   	push   %esi
40b209:	8b f8                	mov    %eax,%edi
40b20b:	ff 15 a8 31 43 00    	call   *0x4331a8
40b211:	50                   	push   %eax
40b212:	56                   	push   %esi
40b213:	33 c0                	xor    %eax,%eax
40b215:	50                   	push   %eax
40b216:	50                   	push   %eax
40b217:	ff 33                	push   (%ebx)
40b219:	ff 15 90 30 43 00    	call   *0x433090
40b21f:	57                   	push   %edi
40b220:	ff 33                	push   (%ebx)
40b222:	ff 15 ac 30 43 00    	call   *0x4330ac
40b228:	ff 35 6c 26 43 00    	push   0x43266c
40b22e:	ff 15 b4 31 43 00    	call   *0x4331b4
40b234:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40b238:	51                   	push   %ecx
40b239:	ff 15 b4 31 43 00    	call   *0x4331b4
40b23f:	33 c9                	xor    %ecx,%ecx
40b241:	41                   	inc    %ecx
40b242:	8b c1                	mov    %ecx,%eax
40b244:	eb 1b                	jmp    0x40b261
40b246:	8b cb                	mov    %ebx,%ecx
40b248:	e8 fa ea ff ff       	call   0x409d47
40b24d:	eb 10                	jmp    0x40b25f
40b24f:	b8 01 02 00 00       	mov    $0x201,%eax
40b254:	66 3b f8             	cmp    %ax,%di
40b257:	75 06                	jne    0x40b25f
40b259:	ff 15 a8 32 43 00    	call   *0x4332a8
40b25f:	33 c0                	xor    %eax,%eax
40b261:	8b 8c 24 9c 06 00 00 	mov    0x69c(%esp),%ecx
40b268:	5f                   	pop    %edi
40b269:	5e                   	pop    %esi
40b26a:	5b                   	pop    %ebx
40b26b:	33 cc                	xor    %esp,%ecx
40b26d:	e8 be 51 00 00       	call   0x410430
40b272:	8b e5                	mov    %ebp,%esp
40b274:	5d                   	pop    %ebp
40b275:	c2 10 00             	ret    $0x10
40b278:	cc                   	int3
40b279:	cc                   	int3
40b27a:	cc                   	int3
40b27b:	cc                   	int3
40b27c:	cc                   	int3
40b27d:	cc                   	int3
40b27e:	cc                   	int3
40b27f:	cc                   	int3
40b280:	8b ff                	mov    %edi,%edi
40b282:	55                   	push   %ebp
40b283:	8b ec                	mov    %esp,%ebp
40b285:	83 e4 f8             	and    $0xfffffff8,%esp
40b288:	81 ec 90 02 00 00    	sub    $0x290,%esp
40b28e:	a1 64 10 41 00       	mov    0x411064,%eax
40b293:	33 c4                	xor    %esp,%eax
40b295:	89 84 24 8c 02 00 00 	mov    %eax,0x28c(%esp)
40b29c:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b29f:	b8 87 00 00 00       	mov    $0x87,%eax
40b2a4:	8b 55 14             	mov    0x14(%ebp),%edx
40b2a7:	89 54 24 08          	mov    %edx,0x8(%esp)
40b2ab:	56                   	push   %esi
40b2ac:	8b 75 08             	mov    0x8(%ebp),%esi
40b2af:	89 74 24 08          	mov    %esi,0x8(%esp)
40b2b3:	57                   	push   %edi
40b2b4:	3b c8                	cmp    %eax,%ecx
40b2b6:	0f 87 43 05 00 00    	ja     0x40b7ff
40b2bc:	0f 84 33 05 00 00    	je     0x40b7f5
40b2c2:	83 f9 0f             	cmp    $0xf,%ecx
40b2c5:	0f 87 76 02 00 00    	ja     0x40b541
40b2cb:	0f 84 ba 01 00 00    	je     0x40b48b
40b2d1:	8b c1                	mov    %ecx,%eax
40b2d3:	83 e8 01             	sub    $0x1,%eax
40b2d6:	0f 84 53 01 00 00    	je     0x40b42f
40b2dc:	83 e8 01             	sub    $0x1,%eax
40b2df:	0f 84 b6 00 00 00    	je     0x40b39b
40b2e5:	83 e8 05             	sub    $0x5,%eax
40b2e8:	74 0a                	je     0x40b2f4
40b2ea:	83 e8 01             	sub    $0x1,%eax
40b2ed:	74 71                	je     0x40b360
40b2ef:	e9 4c 05 00 00       	jmp    0x40b840
40b2f4:	6a 08                	push   $0x8
40b2f6:	8d 44 24 30          	lea    0x30(%esp),%eax
40b2fa:	50                   	push   %eax
40b2fb:	68 04 10 00 00       	push   $0x1004
40b300:	6a 00                	push   $0x0
40b302:	ff 15 a4 32 43 00    	call   *0x4332a4
40b308:	0f b7 c0             	movzwl %ax,%eax
40b30b:	50                   	push   %eax
40b30c:	ff 15 38 31 43 00    	call   *0x433138
40b312:	85 c0                	test   %eax,%eax
40b314:	74 47                	je     0x40b35d
40b316:	8d 44 24 2c          	lea    0x2c(%esp),%eax
40b31a:	50                   	push   %eax
40b31b:	ff 15 fc 33 43 00    	call   *0x4333fc
40b321:	59                   	pop    %ecx
40b322:	39 05 5c 26 43 00    	cmp    %eax,0x43265c
40b328:	74 33                	je     0x40b35d
40b32a:	ff 35 10 19 43 00    	push   0x431910
40b330:	a3 5c 26 43 00       	mov    %eax,0x43265c
40b335:	ff 15 f0 32 43 00    	call   *0x4332f0
40b33b:	8b 15 c4 1f 43 00    	mov    0x431fc4,%edx
40b341:	8b f0                	mov    %eax,%esi
40b343:	6a 01                	push   $0x1
40b345:	8b ce                	mov    %esi,%ecx
40b347:	e8 d2 1f 00 00       	call   0x40d31e
40b34c:	56                   	push   %esi
40b34d:	ff 35 10 19 43 00    	push   0x431910
40b353:	ff 15 08 33 43 00    	call   *0x433308
40b359:	8b 74 24 0c          	mov    0xc(%esp),%esi
40b35d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
40b360:	83 3d bc 1f 43 00 00 	cmpl   $0x0,0x431fbc
40b367:	75 1f                	jne    0x40b388
40b369:	33 c0                	xor    %eax,%eax
40b36b:	8b d6                	mov    %esi,%edx
40b36d:	83 f9 07             	cmp    $0x7,%ecx
40b370:	b9 70 1f 43 00       	mov    $0x431f70,%ecx
40b375:	0f 94 c0             	sete   %al
40b378:	50                   	push   %eax
40b379:	0f b7 05 c4 1f 43 00 	movzwl 0x431fc4,%eax
40b380:	6a 01                	push   $0x1