40de03:	e8 63 00 00 00       	call   0x40de6b
40de08:	57                   	push   %edi
40de09:	e8 50 17 01 00       	call   0x41f55e
40de0e:	59                   	pop    %ecx
40de0f:	89 5e 04             	mov    %ebx,0x4(%esi)
40de12:	c6 46 09 00          	movb   $0x0,0x9(%esi)
40de16:	5b                   	pop    %ebx
40de17:	ff 0e                	decl   (%esi)
40de19:	5f                   	pop    %edi
40de1a:	5e                   	pop    %esi
40de1b:	c3                   	ret
40de1c:	c6 46 09 01          	movb   $0x1,0x9(%esi)
40de20:	eb f5                	jmp    0x40de17
40de22:	56                   	push   %esi
40de23:	8b f1                	mov    %ecx,%esi
40de25:	57                   	push   %edi
40de26:	80 7e 09 00          	cmpb   $0x0,0x9(%esi)
40de2a:	0f 85 01 81 06 00    	jne    0x475f31
40de30:	80 7e 08 00          	cmpb   $0x0,0x8(%esi)
40de34:	75 2f                	jne    0x40de65
40de36:	8b 7e 04             	mov    0x4(%esi),%edi
40de39:	53                   	push   %ebx
40de3a:	8b 5f 30             	mov    0x30(%edi),%ebx
40de3d:	85 ff                	test   %edi,%edi
40de3f:	74 17                	je     0x40de58
40de41:	8d 4f 20             	lea    0x20(%edi),%ecx
40de44:	e8 d7 4d 00 00       	call   0x412c20
40de49:	8d 4f 10             	lea    0x10(%edi),%ecx
40de4c:	e8 cf 4d 00 00       	call   0x412c20
40de51:	57                   	push   %edi
40de52:	e8 07 17 01 00       	call   0x41f55e
40de57:	59                   	pop    %ecx
40de58:	89 5e 04             	mov    %ebx,0x4(%esi)
40de5b:	c6 46 09 00          	movb   $0x0,0x9(%esi)
40de5f:	5b                   	pop    %ebx
40de60:	ff 0e                	decl   (%esi)
40de62:	5f                   	pop    %edi
40de63:	5e                   	pop    %esi
40de64:	c3                   	ret
40de65:	c6 46 09 01          	movb   $0x1,0x9(%esi)
40de69:	eb f5                	jmp    0x40de60
40de6b:	55                   	push   %ebp
40de6c:	8b ec                	mov    %esp,%ebp
40de6e:	56                   	push   %esi
40de6f:	8b 75 08             	mov    0x8(%ebp),%esi
40de72:	57                   	push   %edi
40de73:	8b f9                	mov    %ecx,%edi
40de75:	85 f6                	test   %esi,%esi
40de77:	74 54                	je     0x40decd
40de79:	83 7e 18 00          	cmpl   $0x0,0x18(%esi)
40de7d:	74 08                	je     0x40de87
40de7f:	ff 76 18             	push   0x18(%esi)
40de82:	e8 e4 ff ff ff       	call   0x40de6b
40de87:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
40de8b:	75 46                	jne    0x40ded3
40de8d:	80 7e 10 00          	cmpb   $0x0,0x10(%esi)
40de91:	75 15                	jne    0x40dea8
40de93:	8b 7e 14             	mov    0x14(%esi),%edi
40de96:	85 ff                	test   %edi,%edi
40de98:	74 0e                	je     0x40dea8
40de9a:	8b cf                	mov    %edi,%ecx
40de9c:	e8 cf 01 00 00       	call   0x40e070
40dea1:	57                   	push   %edi
40dea2:	e8 b7 16 01 00       	call   0x41f55e
40dea7:	59                   	pop    %ecx
40dea8:	8b 46 0c             	mov    0xc(%esi),%eax
40deab:	ff 08                	decl   (%eax)
40dead:	8b 46 0c             	mov    0xc(%esi),%eax
40deb0:	83 38 00             	cmpl   $0x0,(%eax)
40deb3:	75 11                	jne    0x40dec6
40deb5:	ff 36                	push   (%esi)
40deb7:	e8 a2 16 01 00       	call   0x41f55e
40debc:	ff 76 0c             	push   0xc(%esi)
40debf:	e8 9a 16 01 00       	call   0x41f55e
40dec4:	59                   	pop    %ecx
40dec5:	59                   	pop    %ecx
40dec6:	56                   	push   %esi
40dec7:	e8 92 16 01 00       	call   0x41f55e
40decc:	59                   	pop    %ecx
40decd:	5f                   	pop    %edi
40dece:	5e                   	pop    %esi
40decf:	5d                   	pop    %ebp
40ded0:	c2 04 00             	ret    $0x4
40ded3:	ff 76 1c             	push   0x1c(%esi)
40ded6:	8b cf                	mov    %edi,%ecx
40ded8:	e8 8e ff ff ff       	call   0x40de6b
40dedd:	eb ae                	jmp    0x40de8d
40dedf:	55                   	push   %ebp
40dee0:	8b ec                	mov    %esp,%ebp
40dee2:	51                   	push   %ecx
40dee3:	51                   	push   %ecx
40dee4:	8b 45 08             	mov    0x8(%ebp),%eax
40dee7:	56                   	push   %esi
40dee8:	8b 40 04             	mov    0x4(%eax),%eax
40deeb:	8b 08                	mov    (%eax),%ecx
40deed:	e8 de 4d 00 00       	call   0x412cd0
40def2:	51                   	push   %ecx
40def3:	51                   	push   %ecx
40def4:	dd 1c 24             	fstpl  (%esp)
40def7:	e8 04 68 01 00       	call   0x424700
40defc:	8b 75 0c             	mov    0xc(%ebp),%esi
40deff:	dd 5d f8             	fstpl  -0x8(%ebp)
40df02:	83 c4 08             	add    $0x8,%esp
40df05:	8b ce                	mov    %esi,%ecx
40df07:	e8 14 4d 00 00       	call   0x412c20
40df0c:	dd 45 f8             	fldl   -0x8(%ebp)
40df0f:	dd 1e                	fstpl  (%esi)
40df11:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
40df18:	33 c0                	xor    %eax,%eax
40df1a:	5e                   	pop    %esi
40df1b:	c9                   	leave
40df1c:	c2 08 00             	ret    $0x8
40df1f:	55                   	push   %ebp
40df20:	8b ec                	mov    %esp,%ebp
40df22:	51                   	push   %ecx
40df23:	51                   	push   %ecx
40df24:	8b 45 08             	mov    0x8(%ebp),%eax
40df27:	56                   	push   %esi
40df28:	8b 40 04             	mov    0x4(%eax),%eax
40df2b:	8b 08                	mov    (%eax),%ecx
40df2d:	e8 9e 4d 00 00       	call   0x412cd0
40df32:	51                   	push   %ecx
40df33:	51                   	push   %ecx
40df34:	dd 1c 24             	fstpl  (%esp)
40df37:	e8 f4 68 01 00       	call   0x424830
40df3c:	8b 75 0c             	mov    0xc(%ebp),%esi
40df3f:	dd 5d f8             	fstpl  -0x8(%ebp)
40df42:	83 c4 08             	add    $0x8,%esp
40df45:	8b ce                	mov    %esi,%ecx
40df47:	e8 d4 4c 00 00       	call   0x412c20
40df4c:	dd 45 f8             	fldl   -0x8(%ebp)
40df4f:	dd 1e                	fstpl  (%esi)
40df51:	c7 46 0c 03 00 00 00 	movl   $0x3,0xc(%esi)
40df58:	33 c0                	xor    %eax,%eax
40df5a:	5e                   	pop    %esi
40df5b:	c9                   	leave
40df5c:	c2 08 00             	ret    $0x8
40df5f:	55                   	push   %ebp
40df60:	8b ec                	mov    %esp,%ebp
40df62:	83 e4 f8             	and    $0xfffffff8,%esp
40df65:	83 ec 1c             	sub    $0x1c,%esp
40df68:	53                   	push   %ebx
40df69:	56                   	push   %esi
40df6a:	57                   	push   %edi
40df6b:	8b 7d 08             	mov    0x8(%ebp),%edi
40df6e:	8b f1                	mov    %ecx,%esi
40df70:	8b 47 04             	mov    0x4(%edi),%eax
40df73:	33 c9                	xor    %ecx,%ecx
40df75:	89 4c 24 18          	mov    %ecx,0x18(%esp)
40df79:	89 4c 24 20          	mov    %ecx,0x20(%esp)
40df7d:	c7 44 24 24 01 00 00 	movl   $0x1,0x24(%esp)
40df84:	00
40df85:	8b 00                	mov    (%eax),%eax
40df87:	89 44 24 14          	mov    %eax,0x14(%esp)
40df8b:	0f bf 40 08          	movswl 0x8(%eax),%eax
40df8f:	83 cb ff             	or     $0xffffffff,%ebx
40df92:	89 4c 24 10          	mov    %ecx,0x10(%esp)
40df96:	2b c1                	sub    %ecx,%eax
40df98:	74 2a                	je     0x40dfc4
40df9a:	48                   	dec    %eax
40df9b:	0f 84 bb 8d 06 00    	je     0x476d5c
40dfa1:	83 e8 32             	sub    $0x32,%eax
40dfa4:	0f 85 2d 8d 06 00    	jne    0x476cd7
40dfaa:	57                   	push   %edi
40dfab:	8b ce                	mov    %esi,%ecx
40dfad:	e8 5e 11 00 00       	call   0x40f110
40dfb2:	8d 4c 24 18          	lea    0x18(%esp),%ecx
40dfb6:	e8 65 4c 00 00       	call   0x412c20
40dfbb:	5f                   	pop    %edi
40dfbc:	5e                   	pop    %esi
40dfbd:	5b                   	pop    %ebx
40dfbe:	8b e5                	mov    %ebp,%esp
40dfc0:	5d                   	pop    %ebp
40dfc1:	c2 08 00             	ret    $0x8
40dfc4:	ff 75 0c             	push   0xc(%ebp)
40dfc7:	8b ce                	mov    %esi,%ecx
40dfc9:	57                   	push   %edi
40dfca:	e8 31 0f 00 00       	call   0x40ef00
40dfcf:	85 db                	test   %ebx,%ebx
40dfd1:	78 df                	js     0x40dfb2
40dfd3:	e9 9e 8d 06 00       	jmp    0x476d76
40dfd8:	cc                   	int3
40dfd9:	cc                   	int3
40dfda:	cc                   	int3
40dfdb:	cc                   	int3
40dfdc:	cc                   	int3
40dfdd:	cc                   	int3
40dfde:	cc                   	int3
40dfdf:	cc                   	int3
40dfe0:	53                   	push   %ebx
40dfe1:	8b d9                	mov    %ecx,%ebx
40dfe3:	83 7b 0c 05          	cmpl   $0x5,0xc(%ebx)
40dfe7:	75 67                	jne    0x40e050
40dfe9:	8b 03                	mov    (%ebx),%eax
40dfeb:	8b 40 04             	mov    0x4(%eax),%eax
40dfee:	85 c0                	test   %eax,%eax
40dff0:	74 38                	je     0x40e02a
40dff2:	ff 08                	decl   (%eax)
40dff4:	75 34                	jne    0x40e02a
40dff6:	8b 03                	mov    (%ebx),%eax
40dff8:	56                   	push   %esi
40dff9:	33 f6                	xor    %esi,%esi
40dffb:	39 70 08             	cmp    %esi,0x8(%eax)
40dffe:	7e 13                	jle    0x40e013
40e000:	57                   	push   %edi
40e001:	8b 00                	mov    (%eax),%eax
40e003:	8b 3c b0             	mov    (%eax,%esi,4),%edi
40e006:	85 ff                	test   %edi,%edi
40e008:	75 48                	jne    0x40e052
40e00a:	8b 03                	mov    (%ebx),%eax
40e00c:	46                   	inc    %esi
40e00d:	3b 70 08             	cmp    0x8(%eax),%esi
40e010:	7c ef                	jl     0x40e001
40e012:	5f                   	pop    %edi
40e013:	8b 03                	mov    (%ebx),%eax
40e015:	ff 30                	push   (%eax)
40e017:	e8 42 15 01 00       	call   0x41f55e
40e01c:	8b 03                	mov    (%ebx),%eax
40e01e:	ff 70 04             	push   0x4(%eax)
40e021:	e8 38 15 01 00       	call   0x41f55e
40e026:	83 c4 08             	add    $0x8,%esp
40e029:	5e                   	pop    %esi
40e02a:	8b 03                	mov    (%ebx),%eax
40e02c:	c7 00 00 00 00 00    	movl   $0x0,(%eax)
40e032:	8b 03                	mov    (%ebx),%eax
40e034:	c7 40 04 00 00 00 00 	movl   $0x0,0x4(%eax)
40e03b:	8b 03                	mov    (%ebx),%eax
40e03d:	c7 40 08 00 00 00 00 	movl   $0x0,0x8(%eax)
40e044:	8b 03                	mov    (%ebx),%eax
40e046:	c7 80 0c 02 00 00 00 	movl   $0x0,0x20c(%eax)
40e04d:	00 00 00
40e050:	5b                   	pop    %ebx
40e051:	c3                   	ret
40e052:	8b cf                	mov    %edi,%ecx
40e054:	e8 17 00 00 00       	call   0x40e070
40e059:	57                   	push   %edi
40e05a:	e8 ff 14 01 00       	call   0x41f55e
40e05f:	83 c4 04             	add    $0x4,%esp
40e062:	eb a6                	jmp    0x40e00a
40e064:	cc                   	int3
40e065:	cc                   	int3
40e066:	cc                   	int3
40e067:	cc                   	int3
40e068:	cc                   	int3
40e069:	cc                   	int3
40e06a:	cc                   	int3
40e06b:	cc                   	int3
40e06c:	cc                   	int3
40e06d:	cc                   	int3
40e06e:	cc                   	int3
40e06f:	cc                   	int3
40e070:	56                   	push   %esi
40e071:	8b f1                	mov    %ecx,%esi
40e073:	57                   	push   %edi
40e074:	8b 7e 08             	mov    0x8(%esi),%edi
40e077:	85 ff                	test   %edi,%edi
40e079:	74 2f                	je     0x40e0aa
40e07b:	8b 47 0c             	mov    0xc(%edi),%eax
40e07e:	ff 08                	decl   (%eax)
40e080:	8b 47 0c             	mov    0xc(%edi),%eax
40e083:	83 38 00             	cmpl   $0x0,(%eax)
40e086:	75 12                	jne    0x40e09a
40e088:	ff 37                	push   (%edi)
40e08a:	e8 cf 14 01 00       	call   0x41f55e
40e08f:	ff 77 0c             	push   0xc(%edi)
40e092:	e8 c7 14 01 00       	call   0x41f55e
40e097:	83 c4 08             	add    $0x8,%esp
40e09a:	57                   	push   %edi
40e09b:	e8 be 14 01 00       	call   0x41f55e
40e0a0:	83 c4 04             	add    $0x4,%esp
40e0a3:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
40e0aa:	8b 46 0c             	mov    0xc(%esi),%eax
40e0ad:	83 f8 05             	cmp    $0x5,%eax
40e0b0:	7d 10                	jge    0x40e0c2
40e0b2:	5f                   	pop    %edi
40e0b3:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
40e0ba:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
40e0c0:	5e                   	pop    %esi
40e0c1:	c3                   	ret
40e0c2:	83 e8 05             	sub    $0x5,%eax
40e0c5:	83 f8 0a             	cmp    $0xa,%eax
40e0c8:	77 e8                	ja     0x40e0b2
40e0ca:	ff 24 85 e8 e0 40 00 	jmp    *0x40e0e8(,%eax,4)
40e0d1:	8b ce                	mov    %esi,%ecx
40e0d3:	e8 e6 fb 00 00       	call   0x41dcbe
40e0d8:	5f                   	pop    %edi
40e0d9:	c7 46 0c 01 00 00 00 	movl   $0x1,0xc(%esi)
40e0e0:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
40e0e6:	5e                   	pop    %esi
40e0e7:	c3                   	ret
40e0e8:	d1 e0                	shl    $1,%eax
40e0ea:	40                   	inc    %eax
40e0eb:	00 b2 e0 40 00 b2    	add    %dh,-0x4dffbf20(%edx)
40e0f1:	e0 40                	loopne 0x40e133
40e0f3:	00 ec                	add    %ch,%ah
40e0f5:	44                   	inc    %esp
40e0f6:	47                   	inc    %edi
40e0f7:	00 b2 e0 40 00 0c    	add    %dh,0xc0040e0(%edx)
40e0fd:	45                   	inc    %ebp
40e0fe:	47                   	inc    %edi
40e0ff:	00 21                	add    %ah,(%ecx)
40e101:	45                   	inc    %ebp
40e102:	47                   	inc    %edi
40e103:	00 3a                	add    %bh,(%edx)
40e105:	45                   	inc    %ebp
40e106:	47                   	inc    %edi
40e107:	00 64 45 47          	add    %ah,0x47(%ebp,%eax,2)
40e10b:	00 64 45 47          	add    %ah,0x47(%ebp,%eax,2)
40e10f:	00 4f 45             	add    %cl,0x45(%edi)
40e112:	47                   	inc    %edi
40e113:	00 cc                	add    %cl,%ah
40e115:	cc                   	int3
40e116:	cc                   	int3
40e117:	cc                   	int3
40e118:	cc                   	int3
40e119:	cc                   	int3
40e11a:	cc                   	int3
40e11b:	cc                   	int3
40e11c:	cc                   	int3
40e11d:	cc                   	int3
40e11e:	cc                   	int3
40e11f:	cc                   	int3
40e120:	55                   	push   %ebp
40e121:	8b ec                	mov    %esp,%ebp
40e123:	83 ec 2c             	sub    $0x2c,%esp
40e126:	80 b9 69 01 00 00 00 	cmpb   $0x0,0x169(%ecx)
40e12d:	53                   	push   %ebx
40e12e:	8d 91 60 01 00 00    	lea    0x160(%ecx),%edx
40e134:	56                   	push   %esi
40e135:	57                   	push   %edi
40e136:	c7 45 d8 00 00 00 00 	movl   $0x0,-0x28(%ebp)
40e13d:	c7 45 e0 00 00 00 00 	movl   $0x0,-0x20(%ebp)
40e144:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
40e14b:	89 55 fc             	mov    %edx,-0x4(%ebp)
40e14e:	0f 85 c2 9a 06 00    	jne    0x477c16
40e154:	8b 5a 04             	mov    0x4(%edx),%ebx
40e157:	83 7b 2c 08          	cmpl   $0x8,0x2c(%ebx)
40e15b:	8b 7b 0c             	mov    0xc(%ebx),%edi
40e15e:	89 7d f8             	mov    %edi,-0x8(%ebp)
40e161:	0f 84 ba 9a 06 00    	je     0x477c21
40e167:	8b 43 1c             	mov    0x1c(%ebx),%eax
40e16a:	83 f8 05             	cmp    $0x5,%eax
40e16d:	0f 84 e7 9a 06 00    	je     0x477c5a
40e173:	83 f8 0f             	cmp    $0xf,%eax
40e176:	0f 84 6a 9b 06 00    	je     0x477ce6
40e17c:	8b 47 0c             	mov    0xc(%edi),%eax
40e17f:	8d 73 20             	lea    0x20(%ebx),%esi
40e182:	83 f8 01             	cmp    $0x1,%eax
40e185:	0f 85 8a 01 00 00    	jne    0x40e315
40e18b:	8b 46 0c             	mov    0xc(%esi),%eax