40dd9d:	51                   	push   %ecx
40dd9e:	56                   	push   %esi
40dd9f:	8b f1                	mov    %ecx,%esi
40dda1:	57                   	push   %edi
40dda2:	56                   	push   %esi
40dda3:	ff 15 2c a4 44 00    	call   *0x44a42c
40dda9:	59                   	pop    %ecx
40ddaa:	8b f8                	mov    %eax,%edi
40ddac:	57                   	push   %edi
40ddad:	ff 15 d0 a0 44 00    	call   *0x44a0d0
40ddb3:	25 ff 7f ff ff       	and    $0xffff7fff,%eax
40ddb8:	83 f8 02             	cmp    $0x2,%eax
40ddbb:	74 0d                	je     0x40ddca
40ddbd:	83 25 1c 67 43 00 00 	andl   $0x0,0x43671c
40ddc4:	33 c0                	xor    %eax,%eax
40ddc6:	5f                   	pop    %edi
40ddc7:	5e                   	pop    %esi
40ddc8:	c9                   	leave
40ddc9:	c3                   	ret
40ddca:	83 ee 00             	sub    $0x0,%esi
40ddcd:	74 5b                	je     0x40de2a
40ddcf:	83 ee 01             	sub    $0x1,%esi
40ddd2:	75 4d                	jne    0x40de21
40ddd4:	6a f5                	push   $0xfffffff5
40ddd6:	ff 15 bc a1 44 00    	call   *0x44a1bc
40dddc:	8b f8                	mov    %eax,%edi
40ddde:	53                   	push   %ebx
40dddf:	bb 04 8e 44 00       	mov    $0x448e04,%ebx
40dde4:	53                   	push   %ebx
40dde5:	ff 15 90 a2 44 00    	call   *0x44a290
40ddeb:	8d 45 fc             	lea    -0x4(%ebp),%eax
40ddee:	50                   	push   %eax
40ddef:	57                   	push   %edi
40ddf0:	ff 15 10 a0 44 00    	call   *0x44a010
40ddf6:	53                   	push   %ebx
40ddf7:	8b f0                	mov    %eax,%esi
40ddf9:	ff 15 94 a2 44 00    	call   *0x44a294
40ddff:	33 c0                	xor    %eax,%eax
40de01:	40                   	inc    %eax
40de02:	5b                   	pop    %ebx
40de03:	85 f6                	test   %esi,%esi
40de05:	74 11                	je     0x40de18
40de07:	f6 45 fc 07          	testb  $0x7,-0x4(%ebp)
40de0b:	0f 84 ec fb 00 00    	je     0x41d9fd
40de11:	a3 1c 67 43 00       	mov    %eax,0x43671c
40de16:	eb ae                	jmp    0x40ddc6
40de18:	83 25 1c 67 43 00 00 	andl   $0x0,0x43671c
40de1f:	eb a5                	jmp    0x40ddc6
40de21:	83 ee 01             	sub    $0x1,%esi
40de24:	75 b8                	jne    0x40ddde
40de26:	6a f4                	push   $0xfffffff4
40de28:	eb ac                	jmp    0x40ddd6
40de2a:	6a f6                	push   $0xfffffff6
40de2c:	eb a8                	jmp    0x40ddd6
40de2e:	cc                   	int3
40de2f:	cc                   	int3
40de30:	8b ff                	mov    %edi,%edi
40de32:	55                   	push   %ebp
40de33:	8b ec                	mov    %esp,%ebp
40de35:	51                   	push   %ecx
40de36:	53                   	push   %ebx
40de37:	56                   	push   %esi
40de38:	57                   	push   %edi
40de39:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40de3c:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
40de43:	33 db                	xor    %ebx,%ebx
40de45:	e8 86 00 00 00       	call   0x40ded0
40de4a:	85 c0                	test   %eax,%eax
40de4c:	0f 85 c4 fb 00 00    	jne    0x41da16
40de52:	e8 59 02 00 00       	call   0x40e0b0
40de57:	8b 7d fc             	mov    -0x4(%ebp),%edi
40de5a:	8b f0                	mov    %eax,%esi
40de5c:	85 ff                	test   %edi,%edi
40de5e:	0f 85 c1 fb 00 00    	jne    0x41da25
40de64:	a1 cc 65 43 00       	mov    0x4365cc,%eax
40de69:	66 39 18             	cmp    %bx,(%eax)
40de6c:	74 27                	je     0x40de95
40de6e:	33 c9                	xor    %ecx,%ecx
40de70:	e8 fb ed ff ff       	call   0x40cc70
40de75:	8d 4d fc             	lea    -0x4(%ebp),%ecx
40de78:	89 5d fc             	mov    %ebx,-0x4(%ebp)
40de7b:	e8 50 00 00 00       	call   0x40ded0
40de80:	85 c0                	test   %eax,%eax
40de82:	0f 85 e6 fb 00 00    	jne    0x41da6e
40de88:	50                   	push   %eax
40de89:	33 d2                	xor    %edx,%edx
40de8b:	33 c9                	xor    %ecx,%ecx
40de8d:	e8 7e f0 ff ff       	call   0x40cf10
40de92:	8b 7d fc             	mov    -0x4(%ebp),%edi
40de95:	85 f6                	test   %esi,%esi
40de97:	74 07                	je     0x40dea0
40de99:	8b 46 34             	mov    0x34(%esi),%eax
40de9c:	85 c0                	test   %eax,%eax
40de9e:	75 10                	jne    0x40deb0
40dea0:	5f                   	pop    %edi
40dea1:	8b c6                	mov    %esi,%eax
40dea3:	5e                   	pop    %esi
40dea4:	5b                   	pop    %ebx
40dea5:	8b e5                	mov    %ebp,%esp
40dea7:	5d                   	pop    %ebp
40dea8:	c3                   	ret
40dea9:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40deb0:	8b 08                	mov    (%eax),%ecx
40deb2:	ba 01 00 00 00       	mov    $0x1,%edx
40deb7:	d3 e2                	shl    %cl,%edx
40deb9:	85 d3                	test   %edx,%ebx
40debb:	0f 85 da fb 00 00    	jne    0x41da9b
40dec1:	8b f8                	mov    %eax,%edi
40dec3:	0b da                	or     %edx,%ebx
40dec5:	8b 40 14             	mov    0x14(%eax),%eax
40dec8:	85 c0                	test   %eax,%eax
40deca:	74 d4                	je     0x40dea0
40decc:	eb e2                	jmp    0x40deb0
40dece:	cc                   	int3
40decf:	cc                   	int3
40ded0:	8b ff                	mov    %edi,%edi
40ded2:	53                   	push   %ebx
40ded3:	8b dc                	mov    %esp,%ebx
40ded5:	83 ec 08             	sub    $0x8,%esp
40ded8:	83 e4 f8             	and    $0xfffffff8,%esp
40dedb:	83 c4 04             	add    $0x4,%esp
40dede:	55                   	push   %ebp
40dedf:	8b 6b 04             	mov    0x4(%ebx),%ebp
40dee2:	89 6c 24 04          	mov    %ebp,0x4(%esp)
40dee6:	8b ec                	mov    %esp,%ebp
40dee8:	83 ec 10             	sub    $0x10,%esp
40deeb:	56                   	push   %esi
40deec:	33 f6                	xor    %esi,%esi
40deee:	89 4d fc             	mov    %ecx,-0x4(%ebp)
40def1:	57                   	push   %edi
40def2:	89 75 f4             	mov    %esi,-0xc(%ebp)
40def5:	eb 09                	jmp    0x40df00
40def7:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40defe:	8b ff                	mov    %edi,%edi
40df00:	66 8b 15 f0 4a 44 00 	mov    0x444af0,%dx
40df07:	0f b7 fa             	movzwl %dx,%edi
40df0a:	8b c7                	mov    %edi,%eax
40df0c:	83 f8 3e             	cmp    $0x3e,%eax
40df0f:	74 3b                	je     0x40df4c
40df11:	83 f8 3c             	cmp    $0x3c,%eax
40df14:	74 36                	je     0x40df4c
40df16:	0f b7 c2             	movzwl %dx,%eax
40df19:	50                   	push   %eax
40df1a:	ff 15 34 a4 44 00    	call   *0x44a434
40df20:	83 c4 04             	add    $0x4,%esp
40df23:	85 c0                	test   %eax,%eax
40df25:	75 13                	jne    0x40df3a
40df27:	85 f6                	test   %esi,%esi
40df29:	0f 85 d4 00 00 00    	jne    0x40e003
40df2f:	33 c0                	xor    %eax,%eax
40df31:	5f                   	pop    %edi
40df32:	5e                   	pop    %esi
40df33:	8b e5                	mov    %ebp,%esp
40df35:	5d                   	pop    %ebp
40df36:	8b e3                	mov    %ebx,%esp
40df38:	5b                   	pop    %ebx
40df39:	c3                   	ret
40df3a:	0f b7 3d f2 4a 44 00 	movzwl 0x444af2,%edi
40df41:	8b c7                	mov    %edi,%eax
40df43:	83 f8 3e             	cmp    $0x3e,%eax
40df46:	0f 85 87 fb 00 00    	jne    0x41dad3
40df4c:	b9 18 00 00 00       	mov    $0x18,%ecx
40df51:	e8 7a fd ff ff       	call   0x40dcd0
40df56:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40df59:	89 01                	mov    %eax,(%ecx)
40df5b:	85 c0                	test   %eax,%eax
40df5d:	0f 84 96 fb 00 00    	je     0x41daf9
40df63:	66 89 78 10          	mov    %di,0x10(%eax)
40df67:	b9 f0 4a 44 00       	mov    $0x444af0,%ecx
40df6c:	0f b7 05 f0 4a 44 00 	movzwl 0x444af0,%eax
40df73:	46                   	inc    %esi
40df74:	50                   	push   %eax
40df75:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40df78:	ff 15 34 a4 44 00    	call   *0x44a434
40df7e:	83 c4 04             	add    $0x4,%esp
40df81:	85 c0                	test   %eax,%eax
40df83:	8b 45 fc             	mov    -0x4(%ebp),%eax
40df86:	8b 00                	mov    (%eax),%eax
40df88:	0f 85 98 00 00 00    	jne    0x40e026
40df8e:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40df91:	66 83 ff 3e          	cmp    $0x3e,%di
40df95:	0f 85 46 fb 00 00    	jne    0x41dae1
40df9b:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
40dfa1:	66 8b 01             	mov    (%ecx),%ax
40dfa4:	8d 51 02             	lea    0x2(%ecx),%edx
40dfa7:	89 55 f8             	mov    %edx,-0x8(%ebp)
40dfaa:	66 3b 02             	cmp    (%edx),%ax
40dfad:	75 72                	jne    0x40e021
40dfaf:	66 83 ff 3c          	cmp    $0x3c,%di
40dfb3:	0f 84 33 fb 00 00    	je     0x41daec
40dfb9:	8b 7d fc             	mov    -0x4(%ebp),%edi
40dfbc:	8b ca                	mov    %edx,%ecx
40dfbe:	8b 07                	mov    (%edi),%eax
40dfc0:	c7 40 0c 01 00 00 00 	movl   $0x1,0xc(%eax)
40dfc7:	83 c1 02             	add    $0x2,%ecx
40dfca:	89 4d f8             	mov    %ecx,-0x8(%ebp)
40dfcd:	66 83 39 26          	cmpw   $0x26,(%ecx)
40dfd1:	74 69                	je     0x40e03c
40dfd3:	e8 59 c9 ff ff       	call   0x40a931
40dfd8:	8b 0f                	mov    (%edi),%ecx
40dfda:	89 41 04             	mov    %eax,0x4(%ecx)
40dfdd:	a1 cc 65 43 00       	mov    0x4365cc,%eax
40dfe2:	66 83 38 00          	cmpw   $0x0,(%eax)
40dfe6:	0f 84 3b ff ff ff    	je     0x40df27
40dfec:	33 c9                	xor    %ecx,%ecx
40dfee:	e8 7d ec ff ff       	call   0x40cc70
40dff3:	8b 3f                	mov    (%edi),%edi
40dff5:	83 c7 14             	add    $0x14,%edi
40dff8:	ff 45 f4             	incl   -0xc(%ebp)
40dffb:	89 7d fc             	mov    %edi,-0x4(%ebp)
40dffe:	e9 fd fe ff ff       	jmp    0x40df00
40e003:	39 75 f4             	cmp    %esi,-0xc(%ebp)
40e006:	75 0b                	jne    0x40e013
40e008:	6a 00                	push   $0x0
40e00a:	33 d2                	xor    %edx,%edx
40e00c:	33 c9                	xor    %ecx,%ecx
40e00e:	e8 fd ee ff ff       	call   0x40cf10
40e013:	5f                   	pop    %edi
40e014:	b8 01 00 00 00       	mov    $0x1,%eax
40e019:	5e                   	pop    %esi
40e01a:	8b e5                	mov    %ebp,%esp
40e01c:	5d                   	pop    %ebp
40e01d:	8b e3                	mov    %ebx,%esp
40e01f:	5b                   	pop    %ebx
40e020:	c3                   	ret
40e021:	8b 7d fc             	mov    -0x4(%ebp),%edi
40e024:	eb a1                	jmp    0x40dfc7
40e026:	0f b7 0d f0 4a 44 00 	movzwl 0x444af0,%ecx
40e02d:	83 e9 30             	sub    $0x30,%ecx
40e030:	89 08                	mov    %ecx,(%eax)
40e032:	b9 f2 4a 44 00       	mov    $0x444af2,%ecx
40e037:	e9 65 ff ff ff       	jmp    0x40dfa1
40e03c:	8b d1                	mov    %ecx,%edx
40e03e:	8d 42 02             	lea    0x2(%edx),%eax
40e041:	89 45 fc             	mov    %eax,-0x4(%ebp)
40e044:	66 8b 02             	mov    (%edx),%ax
40e047:	83 c2 02             	add    $0x2,%edx
40e04a:	66 85 c0             	test   %ax,%ax
40e04d:	75 f5                	jne    0x40e044
40e04f:	2b 55 fc             	sub    -0x4(%ebp),%edx
40e052:	d1 fa                	sar    $1,%edx
40e054:	83 fa 02             	cmp    $0x2,%edx
40e057:	75 27                	jne    0x40e080
40e059:	0f b7 41 02          	movzwl 0x2(%ecx),%eax
40e05d:	50                   	push   %eax
40e05e:	ff 15 34 a4 44 00    	call   *0x44a434
40e064:	83 c4 04             	add    $0x4,%esp
40e067:	85 c0                	test   %eax,%eax
40e069:	74 15                	je     0x40e080
40e06b:	8b 4d f8             	mov    -0x8(%ebp),%ecx
40e06e:	e8 3d cc ff ff       	call   0x40acb0
40e073:	8b 0f                	mov    (%edi),%ecx
40e075:	89 41 04             	mov    %eax,0x4(%ecx)
40e078:	85 c0                	test   %eax,%eax
40e07a:	0f 85 5d ff ff ff    	jne    0x40dfdd
40e080:	e8 d4 a8 01 00       	call   0x428959
40e085:	e9 53 ff ff ff       	jmp    0x40dfdd
40e08a:	cc                   	int3
40e08b:	cc                   	int3
40e08c:	cc                   	int3
40e08d:	cc                   	int3
40e08e:	cc                   	int3
40e08f:	cc                   	int3
40e090:	68 30 de 40 00       	push   $0x40de30
40e095:	68 90 e0 40 00       	push   $0x40e090
40e09a:	6a 32                	push   $0x32
40e09c:	5a                   	pop    %edx
40e09d:	b9 f4 22 40 00       	mov    $0x4022f4,%ecx
40e0a2:	e8 29 ec ff ff       	call   0x40ccd0
40e0a7:	c3                   	ret
40e0a8:	cc                   	int3
40e0a9:	cc                   	int3
40e0aa:	cc                   	int3
40e0ab:	cc                   	int3
40e0ac:	cc                   	int3
40e0ad:	cc                   	int3
40e0ae:	cc                   	int3
40e0af:	cc                   	int3
40e0b0:	81 3d 00 67 43 00 00 	cmpl   $0x4000,0x436700
40e0b7:	40 00 00
40e0ba:	56                   	push   %esi
40e0bb:	0f 85 a6 00 00 00    	jne    0x40e167
40e0c1:	68 f0 4a 44 00       	push   $0x444af0
40e0c6:	68 08 23 40 00       	push   $0x402308
40e0cb:	ff 15 40 a4 44 00    	call   *0x44a440
40e0d1:	83 c4 08             	add    $0x8,%esp
40e0d4:	85 c0                	test   %eax,%eax
40e0d6:	0f 84 27 01 00 00    	je     0x40e203
40e0dc:	68 f0 4a 44 00       	push   $0x444af0
40e0e1:	68 18 23 40 00       	push   $0x402318
40e0e6:	ff 15 40 a4 44 00    	call   *0x44a440
40e0ec:	83 c4 08             	add    $0x8,%esp
40e0ef:	85 c0                	test   %eax,%eax
40e0f1:	0f 84 0c 01 00 00    	je     0x40e203
40e0f7:	68 f0 4a 44 00       	push   $0x444af0
40e0fc:	68 10 23 40 00       	push   $0x402310
40e101:	ff 15 40 a4 44 00    	call   *0x44a440
40e107:	83 c4 08             	add    $0x8,%esp
40e10a:	85 c0                	test   %eax,%eax
40e10c:	0f 84 d2 00 00 00    	je     0x40e1e4
40e112:	68 f0 4a 44 00       	push   $0x444af0
40e117:	68 2c 23 40 00       	push   $0x40232c
40e11c:	ff 15 40 a4 44 00    	call   *0x44a440
40e122:	83 c4 08             	add    $0x8,%esp
40e125:	85 c0                	test   %eax,%eax
40e127:	0f 84 b7 00 00 00    	je     0x40e1e4
40e12d:	68 f0 4a 44 00       	push   $0x444af0
40e132:	68 24 23 40 00       	push   $0x402324
40e137:	ff 15 40 a4 44 00    	call   *0x44a440
40e13d:	83 c4 08             	add    $0x8,%esp
40e140:	85 c0                	test   %eax,%eax
40e142:	74 1d                	je     0x40e161
40e144:	68 f0 4a 44 00       	push   $0x444af0
40e149:	68 50 23 40 00       	push   $0x402350
40e14e:	ff 15 40 a4 44 00    	call   *0x44a440
40e154:	83 c4 08             	add    $0x8,%esp
40e157:	85 c0                	test   %eax,%eax
40e159:	74 06                	je     0x40e161
40e15b:	5e                   	pop    %esi
40e15c:	e9 af e2 ff ff       	jmp    0x40c410
40e161:	5e                   	pop    %esi
40e162:	e9 59 ca ff ff       	jmp    0x40abc0
40e167:	66 a1 f0 4a 44 00    	mov    0x444af0,%ax
40e16d:	66 83 f8 28          	cmp    $0x28,%ax
40e171:	75 77                	jne    0x40e1ea
40e173:	b9 50 00 00 00       	mov    $0x50,%ecx
40e178:	e8 53 fb ff ff       	call   0x40dcd0
40e17d:	8b f0                	mov    %eax,%esi
40e17f:	85 f6                	test   %esi,%esi
40e181:	0f 84 20 bb 00 00    	je     0x419ca7
40e187:	66 83 3d f0 4a 44 00 	cmpw   $0x28,0x444af0
40e18e:	28
40e18f:	75 68                	jne    0x40e1f9
40e191:	c7 06 33 00 00 00    	movl   $0x33,(%esi)
40e197:	eb 07                	jmp    0x40e1a0
40e199:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
40e1a0:	b9 10 00 00 00       	mov    $0x10,%ecx
40e1a5:	e8 c6 ea ff ff       	call   0x40cc70
40e1aa:	66 83 3d f0 4a 44 00 	cmpw   $0xa,0x444af0
40e1b1:	0a
40e1b2:	74 ec                	je     0x40e1a0
40e1b4:	6a 00                	push   $0x0
40e1b6:	33 d2                	xor    %edx,%edx
40e1b8:	33 c9                	xor    %ecx,%ecx
40e1ba:	e8 51 ed ff ff       	call   0x40cf10
40e1bf:	b9 33 00 00 00       	mov    $0x33,%ecx
40e1c4:	e8 fb c6 ff ff       	call   0x40a8c4
40e1c9:	89 46 38             	mov    %eax,0x38(%esi)
40e1cc:	83 3e 3b             	cmpl   $0x3b,(%esi)
40e1cf:	74 0f                	je     0x40e1e0