40a04c:	03 c6                	add    %esi,%eax
40a04e:	89 44 24 2c          	mov    %eax,0x2c(%esp)
40a052:	03 c7                	add    %edi,%eax
40a054:	89 44 24 34          	mov    %eax,0x34(%esp)
40a058:	8d 44 24 28          	lea    0x28(%esp),%eax
40a05c:	51                   	push   %ecx
40a05d:	50                   	push   %eax
40a05e:	ff 74 24 14          	push   0x14(%esp)
40a062:	89 5c 24 34          	mov    %ebx,0x34(%esp)
40a066:	ff 15 ac 32 43 00    	call   *0x4332ac
40a06c:	be 40 1f 43 00       	mov    $0x431f40,%esi
40a071:	8d 7c 24 28          	lea    0x28(%esp),%edi
40a075:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a076:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a077:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a078:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a079:	8b 7c 24 10          	mov    0x10(%esp),%edi
40a07d:	8b 74 24 20          	mov    0x20(%esp),%esi
40a081:	01 74 24 2c          	add    %esi,0x2c(%esp)
40a085:	29 74 24 34          	sub    %esi,0x34(%esp)
40a089:	8b 74 24 0c          	mov    0xc(%esp),%esi
40a08d:	8d 04 3b             	lea    (%ebx,%edi,1),%eax
40a090:	89 5c 24 28          	mov    %ebx,0x28(%esp)
40a094:	8b 5c 24 14          	mov    0x14(%esp),%ebx
40a098:	89 44 24 30          	mov    %eax,0x30(%esp)
40a09c:	8d 44 24 28          	lea    0x28(%esp),%eax
40a0a0:	53                   	push   %ebx
40a0a1:	50                   	push   %eax
40a0a2:	56                   	push   %esi
40a0a3:	ff 15 ac 32 43 00    	call   *0x4332ac
40a0a9:	53                   	push   %ebx
40a0aa:	ff 15 b4 30 43 00    	call   *0x4330b4
40a0b0:	8b 9c 24 88 00 00 00 	mov    0x88(%esp),%ebx
40a0b7:	eb 08                	jmp    0x40a0c1
40a0b9:	89 74 24 20          	mov    %esi,0x20(%esp)
40a0bd:	8b 74 24 0c          	mov    0xc(%esp),%esi
40a0c1:	6a 14                	push   $0x14
40a0c3:	ff 15 0c 32 43 00    	call   *0x43320c
40a0c9:	50                   	push   %eax
40a0ca:	ff 15 5c 30 43 00    	call   *0x43305c
40a0d0:	89 44 24 1c          	mov    %eax,0x1c(%esp)
40a0d4:	85 c0                	test   %eax,%eax
40a0d6:	0f 84 87 00 00 00    	je     0x40a163
40a0dc:	8b 0d 48 1f 43 00    	mov    0x431f48,%ecx
40a0e2:	8b c7                	mov    %edi,%eax
40a0e4:	8b 15 4c 1f 43 00    	mov    0x431f4c,%edx
40a0ea:	ff 74 24 1c          	push   0x1c(%esp)
40a0ee:	c1 e0 03             	shl    $0x3,%eax
40a0f1:	2b c8                	sub    %eax,%ecx
40a0f3:	89 44 24 2c          	mov    %eax,0x2c(%esp)
40a0f7:	89 4c 24 34          	mov    %ecx,0x34(%esp)
40a0fb:	6b cf 03             	imul   $0x3,%edi,%ecx
40a0fe:	2b d1                	sub    %ecx,%edx
40a100:	89 54 24 30          	mov    %edx,0x30(%esp)
40a104:	8d 04 3a             	lea    (%edx,%edi,1),%eax
40a107:	89 44 24 38          	mov    %eax,0x38(%esp)
40a10b:	8d 44 24 2c          	lea    0x2c(%esp),%eax
40a10f:	50                   	push   %eax
40a110:	56                   	push   %esi
40a111:	ff 15 ac 32 43 00    	call   *0x4332ac
40a117:	a1 48 1f 43 00       	mov    0x431f48,%eax
40a11c:	8d 7c 24 28          	lea    0x28(%esp),%edi
40a120:	2b 44 24 18          	sub    0x18(%esp),%eax
40a124:	be 40 1f 43 00       	mov    $0x431f40,%esi
40a129:	8b 4c 24 10          	mov    0x10(%esp),%ecx
40a12d:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a12e:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a12f:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a130:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a131:	8b 7c 24 1c          	mov    0x1c(%esp),%edi
40a135:	8b 74 24 0c          	mov    0xc(%esp),%esi
40a139:	89 44 24 28          	mov    %eax,0x28(%esp)
40a13d:	03 c1                	add    %ecx,%eax
40a13f:	89 44 24 30          	mov    %eax,0x30(%esp)
40a143:	8b 44 24 20          	mov    0x20(%esp),%eax
40a147:	01 44 24 2c          	add    %eax,0x2c(%esp)
40a14b:	29 44 24 34          	sub    %eax,0x34(%esp)
40a14f:	8d 44 24 28          	lea    0x28(%esp),%eax
40a153:	57                   	push   %edi
40a154:	50                   	push   %eax
40a155:	56                   	push   %esi
40a156:	ff 15 ac 32 43 00    	call   *0x4332ac
40a15c:	57                   	push   %edi
40a15d:	ff 15 b4 30 43 00    	call   *0x4330b4
40a163:	51                   	push   %ecx
40a164:	8b ce                	mov    %esi,%ecx
40a166:	e8 43 39 00 00       	call   0x40daae
40a16b:	8d 44 24 38          	lea    0x38(%esp),%eax
40a16f:	50                   	push   %eax
40a170:	53                   	push   %ebx
40a171:	ff 15 f4 32 43 00    	call   *0x4332f4
40a177:	e9 01 02 00 00       	jmp    0x40a37d
40a17c:	a1 4c 26 43 00       	mov    0x43264c,%eax
40a181:	33 d2                	xor    %edx,%edx
40a183:	42                   	inc    %edx
40a184:	33 c9                	xor    %ecx,%ecx
40a186:	85 c0                	test   %eax,%eax
40a188:	74 30                	je     0x40a1ba
40a18a:	be b4 19 40 00       	mov    $0x4019b4,%esi
40a18f:	8d 7c 24 78          	lea    0x78(%esp),%edi
40a193:	52                   	push   %edx
40a194:	8d 54 24 7c          	lea    0x7c(%esp),%edx
40a198:	52                   	push   %edx
40a199:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a19a:	51                   	push   %ecx
40a19b:	6a fc                	push   $0xfffffffc
40a19d:	ff 35 14 19 43 00    	push   0x431914
40a1a3:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a1a4:	50                   	push   %eax
40a1a5:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a1a6:	a5                   	movsl  %ds:(%esi),%es:(%edi)
40a1a7:	8b 30                	mov    (%eax),%esi
40a1a9:	8b 4e 24             	mov    0x24(%esi),%ecx
40a1ac:	ff 15 18 34 43 00    	call   *0x433418
40a1b2:	ff 56 24             	call   *0x24(%esi)
40a1b5:	33 d2                	xor    %edx,%edx
40a1b7:	33 c9                	xor    %ecx,%ecx
40a1b9:	42                   	inc    %edx
40a1ba:	8b 35 50 26 43 00    	mov    0x432650,%esi
40a1c0:	85 f6                	test   %esi,%esi
40a1c2:	74 2b                	je     0x40a1ef
40a1c4:	33 c0                	xor    %eax,%eax
40a1c6:	39 15 34 13 41 00    	cmp    %edx,0x411334
40a1cc:	6a 04                	push   $0x4
40a1ce:	0f 94 c0             	sete   %al
40a1d1:	89 84 24 8c 00 00 00 	mov    %eax,0x8c(%esp)
40a1d8:	8d 84 24 8c 00 00 00 	lea    0x8c(%esp),%eax
40a1df:	50                   	push   %eax
40a1e0:	6a 04                	push   $0x4
40a1e2:	51                   	push   %ecx
40a1e3:	68 f8 17 40 00       	push   $0x4017f8
40a1e8:	56                   	push   %esi
40a1e9:	ff 15 28 30 43 00    	call   *0x433028
40a1ef:	68 18 18 40 00       	push   $0x401818
40a1f4:	51                   	push   %ecx
40a1f5:	ba 82 00 00 00       	mov    $0x82,%edx
40a1fa:	8b cb                	mov    %ebx,%ecx
40a1fc:	e8 d8 5d 00 00       	call   0x40ffd9
40a201:	68 0c 18 40 00       	push   $0x40180c
40a206:	51                   	push   %ecx
40a207:	6a 69                	push   $0x69
40a209:	5a                   	pop    %edx
40a20a:	8b cb                	mov    %ebx,%ecx
40a20c:	e8 c8 5d 00 00       	call   0x40ffd9
40a211:	e8 9e 99 ff ff       	call   0x403bb4
40a216:	e8 cd a4 ff ff       	call   0x4046e8
40a21b:	e8 90 5c 00 00       	call   0x40feb0
40a220:	e8 e9 ca ff ff       	call   0x406d0e
40a225:	e8 36 9c ff ff       	call   0x403e60
40a22a:	ff 35 68 1f 43 00    	push   0x431f68
40a230:	ff 15 b4 30 43 00    	call   *0x4330b4
40a236:	6a 00                	push   $0x0
40a238:	ff 15 58 32 43 00    	call   *0x433258
40a23e:	e9 1c 10 00 00       	jmp    0x40b25f
40a243:	68 0c 18 40 00       	push   $0x40180c
40a248:	51                   	push   %ecx
40a249:	6a 69                	push   $0x69
40a24b:	5a                   	pop    %edx
40a24c:	8b cb                	mov    %ebx,%ecx
40a24e:	e8 86 5d 00 00       	call   0x40ffd9
40a253:	8b cb                	mov    %ebx,%ecx
40a255:	e8 e2 a4 ff ff       	call   0x40473c
40a25a:	85 c0                	test   %eax,%eax
40a25c:	74 14                	je     0x40a272
40a25e:	6a 69                	push   $0x69
40a260:	53                   	push   %ebx
40a261:	ff 15 14 33 43 00    	call   *0x433314
40a267:	85 c0                	test   %eax,%eax
40a269:	74 07                	je     0x40a272
40a26b:	8b c8                	mov    %eax,%ecx
40a26d:	e8 b5 a6 ff ff       	call   0x404927
40a272:	68 e8 10 41 00       	push   $0x4110e8
40a277:	68 0c 18 40 00       	push   $0x40180c
40a27c:	51                   	push   %ecx
40a27d:	6a 69                	push   $0x69
40a27f:	5a                   	pop    %edx
40a280:	8b cb                	mov    %ebx,%ecx
40a282:	e8 8b 5c 00 00       	call   0x40ff12
40a287:	e9 9f 0e 00 00       	jmp    0x40b12b
40a28c:	83 e8 2b             	sub    $0x2b,%eax
40a28f:	74 6b                	je     0x40a2fc
40a291:	83 e8 01             	sub    $0x1,%eax
40a294:	74 53                	je     0x40a2e9
40a296:	83 e8 22             	sub    $0x22,%eax
40a299:	74 13                	je     0x40a2ae
40a29b:	83 e8 05             	sub    $0x5,%eax
40a29e:	0f 85 bb 0f 00 00    	jne    0x40b25f
40a2a4:	e8 a8 39 00 00       	call   0x40dc51
40a2a9:	e9 cf 00 00 00       	jmp    0x40a37d
40a2ae:	83 ff 68             	cmp    $0x68,%edi
40a2b1:	0f 85 a8 0f 00 00    	jne    0x40b25f
40a2b7:	81 7a 08 02 07 00 00 	cmpl   $0x702,0x8(%edx)
40a2be:	0f 85 9b 0f 00 00    	jne    0x40b25f
40a2c4:	57                   	push   %edi
40a2c5:	53                   	push   %ebx
40a2c6:	ff 15 14 33 43 00    	call   *0x433314
40a2cc:	50                   	push   %eax
40a2cd:	ff 15 4c 32 43 00    	call   *0x43324c
40a2d3:	50                   	push   %eax
40a2d4:	6a 66                	push   $0x66
40a2d6:	53                   	push   %ebx
40a2d7:	ff 15 14 33 43 00    	call   *0x433314
40a2dd:	50                   	push   %eax
40a2de:	ff 15 14 32 43 00    	call   *0x433214
40a2e4:	e9 76 0f 00 00       	jmp    0x40b25f
40a2e9:	8b cb                	mov    %ebx,%ecx
40a2eb:	e8 ce f5 ff ff       	call   0x4098be
40a2f0:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
40a2f4:	89 41 10             	mov    %eax,0x10(%ecx)
40a2f7:	e9 63 0f 00 00       	jmp    0x40b25f
40a2fc:	83 7a 08 ff          	cmpl   $0xffffffff,0x8(%edx)
40a300:	0f 84 59 0f 00 00    	je     0x40b25f
40a306:	8b ca                	mov    %edx,%ecx
40a308:	e8 46 47 00 00       	call   0x40ea53
40a30d:	e9 4d 0f 00 00       	jmp    0x40b25f
40a312:	83 ff 75             	cmp    $0x75,%edi
40a315:	0f 85 44 0f 00 00    	jne    0x40b25f
40a31b:	a1 8c 25 43 00       	mov    0x43258c,%eax
40a320:	85 c0                	test   %eax,%eax
40a322:	75 0d                	jne    0x40a331
40a324:	a1 88 25 43 00       	mov    0x432588,%eax
40a329:	85 c0                	test   %eax,%eax
40a32b:	0f 84 2e 0f 00 00    	je     0x40b25f
40a331:	50                   	push   %eax
40a332:	ff 15 28 33 43 00    	call   *0x433328
40a338:	e9 22 0f 00 00       	jmp    0x40b25f
40a33d:	33 c9                	xor    %ecx,%ecx
40a33f:	41                   	inc    %ecx
40a340:	3d 38 01 00 00       	cmp    $0x138,%eax
40a345:	0f 87 57 0e 00 00    	ja     0x40b1a2
40a34b:	0f 84 0c 0e 00 00    	je     0x40b15d
40a351:	2d 10 01 00 00       	sub    $0x110,%eax
40a356:	0f 84 5f 0a 00 00    	je     0x40adbb
40a35c:	2b c1                	sub    %ecx,%eax
40a35e:	74 3a                	je     0x40a39a
40a360:	2b c1                	sub    %ecx,%eax
40a362:	74 21                	je     0x40a385
40a364:	83 e8 03             	sub    $0x3,%eax
40a367:	0f 85 f2 0e 00 00    	jne    0x40b25f
40a36d:	8b c7                	mov    %edi,%eax
40a36f:	0f b7 d7             	movzwl %di,%edx
40a372:	c1 e8 10             	shr    $0x10,%eax
40a375:	8b cb                	mov    %ebx,%ecx
40a377:	50                   	push   %eax
40a378:	e8 58 20 00 00       	call   0x40c3d5
40a37d:	33 c0                	xor    %eax,%eax
40a37f:	40                   	inc    %eax
40a380:	e9 dc 0e 00 00       	jmp    0x40b261
40a385:	81 ff 60 f0 00 00    	cmp    $0xf060,%edi
40a38b:	0f 85 ce 0e 00 00    	jne    0x40b25f
40a391:	53                   	push   %ebx
40a392:	ff 15 00 33 43 00    	call   *0x433300
40a398:	eb e3                	jmp    0x40a37d
40a39a:	0f b7 c7             	movzwl %di,%eax
40a39d:	83 f8 77             	cmp    $0x77,%eax
40a3a0:	0f 87 29 03 00 00    	ja     0x40a6cf
40a3a6:	0f 84 0a 03 00 00    	je     0x40a6b6
40a3ac:	83 e8 64             	sub    $0x64,%eax
40a3af:	0f 84 f7 02 00 00    	je     0x40a6ac
40a3b5:	83 e8 01             	sub    $0x1,%eax
40a3b8:	74 d7                	je     0x40a391
40a3ba:	83 e8 01             	sub    $0x1,%eax
40a3bd:	0f 84 dd 02 00 00    	je     0x40a6a0
40a3c3:	83 e8 01             	sub    $0x1,%eax
40a3c6:	0f 84 bd 02 00 00    	je     0x40a689
40a3cc:	83 e8 01             	sub    $0x1,%eax
40a3cf:	0f 84 8f 02 00 00    	je     0x40a664
40a3d5:	83 e8 01             	sub    $0x1,%eax
40a3d8:	0f 85 81 0e 00 00    	jne    0x40b25f
40a3de:	c1 ef 10             	shr    $0x10,%edi
40a3e1:	66 3b f9             	cmp    %cx,%di
40a3e4:	0f 85 58 0e 00 00    	jne    0x40b242
40a3ea:	33 f6                	xor    %esi,%esi
40a3ec:	56                   	push   %esi
40a3ed:	56                   	push   %esi
40a3ee:	68 47 01 00 00       	push   $0x147
40a3f3:	6a 69                	push   $0x69
40a3f5:	53                   	push   %ebx
40a3f6:	ff 15 18 33 43 00    	call   *0x433318
40a3fc:	56                   	push   %esi
40a3fd:	50                   	push   %eax
40a3fe:	68 50 01 00 00       	push   $0x150
40a403:	6a 69                	push   $0x69
40a405:	53                   	push   %ebx
40a406:	ff 15 18 33 43 00    	call   *0x433318
40a40c:	8b 0d b4 16 41 00    	mov    0x4116b4,%ecx
40a412:	69 d0 14 02 00 00    	imul   $0x214,%eax,%edx
40a418:	89 84 24 88 00 00 00 	mov    %eax,0x88(%esp)
40a41f:	8b 8c 0a 04 02 00 00 	mov    0x204(%edx,%ecx,1),%ecx
40a426:	ba 70 1f 43 00       	mov    $0x431f70,%edx
40a42b:	89 0d 18 19 43 00    	mov    %ecx,0x431918
40a431:	8b 0d 14 19 43 00    	mov    0x431914,%ecx
40a437:	e8 37 38 00 00       	call   0x40dc73
40a43c:	33 c0                	xor    %eax,%eax
40a43e:	66 a3 c4 1f 43 00    	mov    %ax,0x431fc4
40a444:	39 05 8c 25 43 00    	cmp    %eax,0x43258c
40a44a:	0f 85 d6 00 00 00    	jne    0x40a526
40a450:	39 05 88 25 43 00    	cmp    %eax,0x432588
40a456:	0f 85 ca 00 00 00    	jne    0x40a526
40a45c:	f7 05 18 19 43 00 00 	testl  $0x20000000,0x431918
40a463:	00 00 20
40a466:	74 65                	je     0x40a4cd
40a468:	81 3d a4 16 41 00 b0 	cmpl   $0x4b0,0x4116a4
40a46f:	04 00 00
40a472:	bf 82 00 00 00       	mov    $0x82,%edi
40a477:	74 16                	je     0x40a48f
40a479:	56                   	push   %esi
40a47a:	56                   	push   %esi
40a47b:	68 4e 01 00 00       	push   $0x14e
40a480:	57                   	push   %edi
40a481:	53                   	push   %ebx
40a482:	ff 15 14 33 43 00    	call   *0x433314
40a488:	50                   	push   %eax
40a489:	ff 15 10 33 43 00    	call   *0x433310
40a48f:	56                   	push   %esi
40a490:	57                   	push   %edi
40a491:	53                   	push   %ebx
40a492:	ff 15 14 33 43 00    	call   *0x433314
40a498:	50                   	push   %eax
40a499:	ff 15 14 32 43 00    	call   *0x433214
40a49f:	56                   	push   %esi
40a4a0:	68 bd 02 00 00       	push   $0x2bd
40a4a5:	53                   	push   %ebx
40a4a6:	ff 15 14 33 43 00    	call   *0x433314
40a4ac:	50                   	push   %eax
40a4ad:	ff 15 14 32 43 00    	call   *0x433214
40a4b3:	56                   	push   %esi
40a4b4:	68 84 00 00 00       	push   $0x84
40a4b9:	53                   	push   %ebx
40a4ba:	ff 15 14 33 43 00    	call   *0x433314
40a4c0:	50                   	push   %eax
40a4c1:	ff 15 14 32 43 00    	call   *0x433214
40a4c7:	56                   	push   %esi
40a4c8:	e9 33 01 00 00       	jmp    0x40a600
40a4cd:	33 ff                	xor    %edi,%edi
40a4cf:	47                   	inc    %edi
40a4d0:	57                   	push   %edi
40a4d1:	68 82 00 00 00       	push   $0x82
40a4d6:	53                   	push   %ebx
40a4d7:	ff 15 14 33 43 00    	call   *0x433314
40a4dd:	50                   	push   %eax
40a4de:	ff 15 14 32 43 00    	call   *0x433214
40a4e4:	57                   	push   %edi
40a4e5:	68 84 00 00 00       	push   $0x84
40a4ea:	53                   	push   %ebx
40a4eb:	ff 15 14 33 43 00    	call   *0x433314
40a4f1:	50                   	push   %eax
40a4f2:	ff 15 14 32 43 00    	call   *0x433214
40a4f8:	57                   	push   %edi
40a4f9:	68 ca 00 00 00       	push   $0xca