40dbf1:	8d 04 19             	lea    (%ecx,%ebx,1),%eax
40dbf4:	89 45 f4             	mov    %eax,-0xc(%ebp)
40dbf7:	3d 00 20 00 00       	cmp    $0x2000,%eax
40dbfc:	0f 8f 79 fd 00 00    	jg     0x41d97b
40dc02:	8b c6                	mov    %esi,%eax
40dc04:	8b ce                	mov    %esi,%ecx
40dc06:	52                   	push   %edx
40dc07:	2d c0 25 43 00       	sub    $0x4325c0,%eax
40dc0c:	ba 03 20 00 00       	mov    $0x2003,%edx
40dc11:	d1 f8                	sar    $1,%eax
40dc13:	2b d0                	sub    %eax,%edx
40dc15:	e8 86 17 00 00       	call   0x40f3a0
40dc1a:	8b 45 f0             	mov    -0x10(%ebp),%eax
40dc1d:	8b 5d f4             	mov    -0xc(%ebp),%ebx
40dc20:	8d 34 46             	lea    (%esi,%eax,2),%esi
40dc23:	89 35 cc 65 43 00    	mov    %esi,0x4365cc
40dc29:	e9 9d fe ff ff       	jmp    0x40dacb
40dc2e:	8d 79 04             	lea    0x4(%ecx),%edi
40dc31:	b8 25 00 00 00       	mov    $0x25,%eax
40dc36:	66 89 06             	mov    %ax,(%esi)
40dc39:	83 c6 02             	add    $0x2,%esi
40dc3c:	43                   	inc    %ebx
40dc3d:	e9 66 ff ff ff       	jmp    0x40dba8
40dc42:	83 3d 48 67 43 00 00 	cmpl   $0x0,0x436748
40dc49:	8b 35 cc 65 43 00    	mov    0x4365cc,%esi
40dc4f:	74 e0                	je     0x40dc31
40dc51:	8b 7d f8             	mov    -0x8(%ebp),%edi
40dc54:	8b 4d f4             	mov    -0xc(%ebp),%ecx
40dc57:	47                   	inc    %edi
40dc58:	8d 3c 79             	lea    (%ecx,%edi,2),%edi
40dc5b:	e9 6b fe ff ff       	jmp    0x40dacb
40dc60:	8b ff                	mov    %edi,%edi
40dc62:	53                   	push   %ebx
40dc63:	33 db                	xor    %ebx,%ebx
40dc65:	85 c9                	test   %ecx,%ecx
40dc67:	74 44                	je     0x40dcad
40dc69:	56                   	push   %esi
40dc6a:	8b 35 84 67 43 00    	mov    0x436784,%esi
40dc70:	85 f6                	test   %esi,%esi
40dc72:	74 38                	je     0x40dcac
40dc74:	57                   	push   %edi
40dc75:	8b 3d 78 67 43 00    	mov    0x436778,%edi
40dc7b:	8d 51 f8             	lea    -0x8(%ecx),%edx
40dc7e:	8b c6                	mov    %esi,%eax
40dc80:	85 ff                	test   %edi,%edi
40dc82:	74 27                	je     0x40dcab
40dc84:	8b 48 04             	mov    0x4(%eax),%ecx
40dc87:	3b c2                	cmp    %edx,%eax
40dc89:	75 24                	jne    0x40dcaf
40dc8b:	3b c6                	cmp    %esi,%eax
40dc8d:	75 2d                	jne    0x40dcbc
40dc8f:	89 0d 84 67 43 00    	mov    %ecx,0x436784
40dc95:	50                   	push   %eax
40dc96:	6a 00                	push   $0x0
40dc98:	ff 15 34 a1 44 00    	call   *0x44a134
40dc9e:	50                   	push   %eax
40dc9f:	ff 15 3c a1 44 00    	call   *0x44a13c
40dca5:	ff 0d 78 67 43 00    	decl   0x436778
40dcab:	5f                   	pop    %edi
40dcac:	5e                   	pop    %esi
40dcad:	5b                   	pop    %ebx
40dcae:	c3                   	ret
40dcaf:	8b d8                	mov    %eax,%ebx
40dcb1:	8b c1                	mov    %ecx,%eax
40dcb3:	83 ef 01             	sub    $0x1,%edi
40dcb6:	75 cc                	jne    0x40dc84
40dcb8:	5f                   	pop    %edi
40dcb9:	5e                   	pop    %esi
40dcba:	5b                   	pop    %ebx
40dcbb:	c3                   	ret
40dcbc:	89 4b 04             	mov    %ecx,0x4(%ebx)
40dcbf:	eb d4                	jmp    0x40dc95
40dcc1:	cc                   	int3
40dcc2:	cc                   	int3
40dcc3:	cc                   	int3
40dcc4:	cc                   	int3
40dcc5:	cc                   	int3
40dcc6:	cc                   	int3
40dcc7:	cc                   	int3
40dcc8:	cc                   	int3
40dcc9:	cc                   	int3
40dcca:	cc                   	int3
40dccb:	cc                   	int3
40dccc:	cc                   	int3
40dccd:	cc                   	int3
40dcce:	cc                   	int3
40dccf:	cc                   	int3
40dcd0:	8b ff                	mov    %edi,%edi
40dcd2:	56                   	push   %esi
40dcd3:	8d 71 08             	lea    0x8(%ecx),%esi
40dcd6:	3b f1                	cmp    %ecx,%esi
40dcd8:	0f 82 fc fc 00 00    	jb     0x41d9da
40dcde:	56                   	push   %esi
40dcdf:	6a 08                	push   $0x8
40dce1:	ff 15 34 a1 44 00    	call   *0x44a134
40dce7:	50                   	push   %eax
40dce8:	ff 15 28 a1 44 00    	call   *0x44a128
40dcee:	85 c0                	test   %eax,%eax
40dcf0:	0f 84 e4 fc 00 00    	je     0x41d9da
40dcf6:	8b 0d 84 67 43 00    	mov    0x436784,%ecx
40dcfc:	ff 05 78 67 43 00    	incl   0x436778
40dd02:	89 30                	mov    %esi,(%eax)
40dd04:	89 48 04             	mov    %ecx,0x4(%eax)
40dd07:	a3 84 67 43 00       	mov    %eax,0x436784
40dd0c:	83 c0 08             	add    $0x8,%eax
40dd0f:	5e                   	pop    %esi
40dd10:	c3                   	ret
40dd11:	cc                   	int3
40dd12:	cc                   	int3
40dd13:	cc                   	int3
40dd14:	cc                   	int3
40dd15:	cc                   	int3
40dd16:	cc                   	int3
40dd17:	cc                   	int3
40dd18:	cc                   	int3
40dd19:	cc                   	int3
40dd1a:	cc                   	int3
40dd1b:	cc                   	int3
40dd1c:	cc                   	int3
40dd1d:	cc                   	int3
40dd1e:	cc                   	int3
40dd1f:	cc                   	int3
40dd20:	8b ff                	mov    %edi,%edi
40dd22:	53                   	push   %ebx
40dd23:	56                   	push   %esi
40dd24:	8d 5a 08             	lea    0x8(%edx),%ebx
40dd27:	8d 71 f8             	lea    -0x8(%ecx),%esi
40dd2a:	57                   	push   %edi
40dd2b:	3b da                	cmp    %edx,%ebx
40dd2d:	0f 82 b7 fc 00 00    	jb     0x41d9ea
40dd33:	53                   	push   %ebx
40dd34:	56                   	push   %esi
40dd35:	6a 00                	push   $0x0
40dd37:	ff 15 34 a1 44 00    	call   *0x44a134
40dd3d:	50                   	push   %eax
40dd3e:	ff 15 30 a1 44 00    	call   *0x44a130
40dd44:	8b f8                	mov    %eax,%edi
40dd46:	85 ff                	test   %edi,%edi
40dd48:	0f 84 9c fc 00 00    	je     0x41d9ea
40dd4e:	57                   	push   %edi
40dd4f:	6a 00                	push   $0x0
40dd51:	89 1f                	mov    %ebx,(%edi)
40dd53:	ff 15 34 a1 44 00    	call   *0x44a134
40dd59:	50                   	push   %eax
40dd5a:	ff 15 38 a1 44 00    	call   *0x44a138
40dd60:	3b fe                	cmp    %esi,%edi
40dd62:	75 07                	jne    0x40dd6b
40dd64:	8d 47 08             	lea    0x8(%edi),%eax
40dd67:	5f                   	pop    %edi
40dd68:	5e                   	pop    %esi
40dd69:	5b                   	pop    %ebx
40dd6a:	c3                   	ret
40dd6b:	a1 84 67 43 00       	mov    0x436784,%eax
40dd70:	3b c6                	cmp    %esi,%eax
40dd72:	75 0d                	jne    0x40dd81
40dd74:	89 3d 84 67 43 00    	mov    %edi,0x436784
40dd7a:	8d 47 08             	lea    0x8(%edi),%eax
40dd7d:	5f                   	pop    %edi
40dd7e:	5e                   	pop    %esi
40dd7f:	5b                   	pop    %ebx
40dd80:	c3                   	ret
40dd81:	85 c0                	test   %eax,%eax
40dd83:	74 df                	je     0x40dd64
40dd85:	8d 48 04             	lea    0x4(%eax),%ecx
40dd88:	8b 01                	mov    (%ecx),%eax
40dd8a:	3b c6                	cmp    %esi,%eax
40dd8c:	74 06                	je     0x40dd94
40dd8e:	85 c0                	test   %eax,%eax
40dd90:	75 f3                	jne    0x40dd85
40dd92:	eb d0                	jmp    0x40dd64
40dd94:	89 39                	mov    %edi,(%ecx)
40dd96:	eb cc                	jmp    0x40dd64
40dd98:	8b ff                	mov    %edi,%edi
40dd9a:	55                   	push   %ebp
40dd9b:	8b ec                	mov    %esp,%ebp
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