407de9:	88 9c 24 17 03 00 00 	mov    %bl,0x317(%esp)
407df0:	8d 50 01             	lea    0x1(%eax),%edx
407df3:	8a 08                	mov    (%eax),%cl
407df5:	40                   	inc    %eax
407df6:	3a cb                	cmp    %bl,%cl
407df8:	75 f9                	jne    0x407df3
407dfa:	2b c2                	sub    %edx,%eax
407dfc:	ba 00 00 01 00       	mov    $0x10000,%edx
407e01:	2b d0                	sub    %eax,%edx
407e03:	52                   	push   %edx
407e04:	8d 84 24 18 02 00 00 	lea    0x218(%esp),%eax
407e0b:	50                   	push   %eax
407e0c:	8d 8c 24 28 05 00 00 	lea    0x528(%esp),%ecx
407e13:	51                   	push   %ecx
407e14:	e8 b7 ad 02 00       	call   0x432bd0
407e19:	88 9c 24 2b 05 01 00 	mov    %bl,0x1052b(%esp)
407e20:	8b 36                	mov    (%esi),%esi
407e22:	83 c4 0c             	add    $0xc,%esp
407e25:	3b f3                	cmp    %ebx,%esi
407e27:	75 97                	jne    0x407dc0
407e29:	8d 84 24 20 05 00 00 	lea    0x520(%esp),%eax
407e30:	8d 50 01             	lea    0x1(%eax),%edx
407e33:	8a 08                	mov    (%eax),%cl
407e35:	40                   	inc    %eax
407e36:	3a cb                	cmp    %bl,%cl
407e38:	75 f9                	jne    0x407e33
407e3a:	2b c2                	sub    %edx,%eax
407e3c:	3d fe ff 00 00       	cmp    $0xfffe,%eax
407e41:	76 0e                	jbe    0x407e51
407e43:	5e                   	pop    %esi
407e44:	b8 7a 00 00 00       	mov    $0x7a,%eax
407e49:	5b                   	pop    %ebx
407e4a:	81 c4 18 05 01 00    	add    $0x10518,%esp
407e50:	c3                   	ret
407e51:	68 c4 c9 45 00       	push   $0x45c9c4
407e56:	68 10 a4 00 00       	push   $0xa410
407e5b:	8d 54 24 14          	lea    0x14(%esp),%edx
407e5f:	52                   	push   %edx
407e60:	68 b0 c9 45 00       	push   $0x45c9b0
407e65:	8d 84 24 28 03 00 00 	lea    0x328(%esp),%eax
407e6c:	68 04 01 00 00       	push   $0x104
407e71:	50                   	push   %eax
407e72:	e8 e8 87 02 00       	call   0x43065f
407e77:	8d 94 24 30 03 00 00 	lea    0x330(%esp),%edx
407e7e:	33 c9                	xor    %ecx,%ecx
407e80:	52                   	push   %edx
407e81:	66 89 8c 24 3a 05 00 	mov    %cx,0x53a(%esp)
407e88:	00
407e89:	e8 52 b7 ff ff       	call   0x4035e0
407e8e:	8d 44 24 24          	lea    0x24(%esp),%eax
407e92:	50                   	push   %eax
407e93:	8d 8c 24 40 05 00 00 	lea    0x540(%esp),%ecx
407e9a:	51                   	push   %ecx
407e9b:	8d 94 24 3c 03 00 00 	lea    0x33c(%esp),%edx
407ea2:	52                   	push   %edx
407ea3:	e8 c8 d2 ff ff       	call   0x405170
407ea8:	83 c4 28             	add    $0x28,%esp
407eab:	3b c3                	cmp    %ebx,%eax
407ead:	75 36                	jne    0x407ee5
407eaf:	8d 44 24 0c          	lea    0xc(%esp),%eax
407eb3:	8d 50 02             	lea    0x2(%eax),%edx
407eb6:	66 8b 08             	mov    (%eax),%cx
407eb9:	83 c0 02             	add    $0x2,%eax
407ebc:	66 3b cb             	cmp    %bx,%cx
407ebf:	75 f5                	jne    0x407eb6
407ec1:	2b c2                	sub    %edx,%eax
407ec3:	8b 94 24 24 05 01 00 	mov    0x10524(%esp),%edx
407eca:	d1 f8                	sar    $1,%eax
407ecc:	8d 44 00 02          	lea    0x2(%eax,%eax,1),%eax
407ed0:	50                   	push   %eax
407ed1:	8d 4c 24 10          	lea    0x10(%esp),%ecx
407ed5:	51                   	push   %ecx
407ed6:	6a 01                	push   $0x1
407ed8:	53                   	push   %ebx
407ed9:	68 7c c9 45 00       	push   $0x45c97c
407ede:	52                   	push   %edx
407edf:	ff 15 b8 33 47 00    	call   *0x4733b8
407ee5:	5e                   	pop    %esi
407ee6:	5b                   	pop    %ebx
407ee7:	81 c4 18 05 01 00    	add    $0x10518,%esp
407eed:	c3                   	ret
407eee:	cc                   	int3
407eef:	cc                   	int3
407ef0:	8b 44 24 04          	mov    0x4(%esp),%eax
407ef4:	85 c0                	test   %eax,%eax
407ef6:	74 4d                	je     0x407f45
407ef8:	8b 40 14             	mov    0x14(%eax),%eax
407efb:	85 c0                	test   %eax,%eax
407efd:	74 46                	je     0x407f45
407eff:	b9 7c c9 45 00       	mov    $0x45c97c,%ecx
407f04:	66 8b 10             	mov    (%eax),%dx
407f07:	66 3b 11             	cmp    (%ecx),%dx
407f0a:	75 28                	jne    0x407f34
407f0c:	66 85 d2             	test   %dx,%dx
407f0f:	74 15                	je     0x407f26
407f11:	66 8b 50 02          	mov    0x2(%eax),%dx
407f15:	66 3b 51 02          	cmp    0x2(%ecx),%dx
407f19:	75 19                	jne    0x407f34
407f1b:	83 c0 04             	add    $0x4,%eax
407f1e:	83 c1 04             	add    $0x4,%ecx
407f21:	66 85 d2             	test   %dx,%dx
407f24:	75 de                	jne    0x407f04
407f26:	33 c0                	xor    %eax,%eax
407f28:	f7 d8                	neg    %eax
407f2a:	1b c0                	sbb    %eax,%eax
407f2c:	f7 d0                	not    %eax
407f2e:	25 e0 7c 40 00       	and    $0x407ce0,%eax
407f33:	c3                   	ret
407f34:	1b c0                	sbb    %eax,%eax
407f36:	83 d8 ff             	sbb    $0xffffffff,%eax
407f39:	f7 d8                	neg    %eax
407f3b:	1b c0                	sbb    %eax,%eax
407f3d:	f7 d0                	not    %eax
407f3f:	25 e0 7c 40 00       	and    $0x407ce0,%eax
407f44:	c3                   	ret
407f45:	33 c0                	xor    %eax,%eax
407f47:	c3                   	ret
407f48:	cc                   	int3
407f49:	cc                   	int3
407f4a:	cc                   	int3
407f4b:	cc                   	int3
407f4c:	cc                   	int3
407f4d:	cc                   	int3
407f4e:	cc                   	int3
407f4f:	cc                   	int3
407f50:	51                   	push   %ecx
407f51:	53                   	push   %ebx
407f52:	55                   	push   %ebp
407f53:	8b 6c 24 14          	mov    0x14(%esp),%ebp
407f57:	56                   	push   %esi
407f58:	57                   	push   %edi
407f59:	8b 7d 14             	mov    0x14(%ebp),%edi
407f5c:	33 f6                	xor    %esi,%esi
407f5e:	c7 44 24 10 00 00 00 	movl   $0x0,0x10(%esp)
407f65:	00
407f66:	85 ff                	test   %edi,%edi
407f68:	75 0a                	jne    0x407f74
407f6a:	8b 5c 24 18          	mov    0x18(%esp),%ebx
407f6e:	89 5c 24 10          	mov    %ebx,0x10(%esp)
407f72:	eb 70                	jmp    0x407fe4
407f74:	55                   	push   %ebp
407f75:	e8 76 ff ff ff       	call   0x407ef0
407f7a:	83 c4 04             	add    $0x4,%esp
407f7d:	85 c0                	test   %eax,%eax
407f7f:	74 3b                	je     0x407fbc
407f81:	8b 7c 24 20          	mov    0x20(%esp),%edi
407f85:	8b 5c 24 18          	mov    0x18(%esp),%ebx
407f89:	57                   	push   %edi
407f8a:	55                   	push   %ebp
407f8b:	53                   	push   %ebx
407f8c:	ff d0                	call   *%eax
407f8e:	8b f0                	mov    %eax,%esi
407f90:	83 c4 0c             	add    $0xc,%esp
407f93:	85 f6                	test   %esi,%esi
407f95:	0f 85 50 01 00 00    	jne    0x4080eb
407f9b:	8b 45 00             	mov    0x0(%ebp),%eax
407f9e:	85 c0                	test   %eax,%eax
407fa0:	0f 84 45 01 00 00    	je     0x4080eb
407fa6:	57                   	push   %edi
407fa7:	50                   	push   %eax
407fa8:	53                   	push   %ebx
407fa9:	e8 a2 ff ff ff       	call   0x407f50
407fae:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
407fb2:	83 c4 0c             	add    $0xc,%esp
407fb5:	8b f0                	mov    %eax,%esi
407fb7:	e9 12 01 00 00       	jmp    0x4080ce
407fbc:	8b 44 24 18          	mov    0x18(%esp),%eax
407fc0:	68 0e 00 02 00       	push   $0x2000e
407fc5:	6a 00                	push   $0x0
407fc7:	57                   	push   %edi
407fc8:	50                   	push   %eax
407fc9:	8d 4c 24 20          	lea    0x20(%esp),%ecx
407fcd:	51                   	push   %ecx
407fce:	e8 1d df ff ff       	call   0x405ef0
407fd3:	8b f0                	mov    %eax,%esi
407fd5:	83 c4 14             	add    $0x14,%esp
407fd8:	85 f6                	test   %esi,%esi
407fda:	0f 85 0b 01 00 00    	jne    0x4080eb
407fe0:	8b 5c 24 10          	mov    0x10(%esp),%ebx
407fe4:	8b 6d 0c             	mov    0xc(%ebp),%ebp
407fe7:	85 ed                	test   %ebp,%ebp
407fe9:	0f 84 98 00 00 00    	je     0x408087
407fef:	90                   	nop
407ff0:	8b 7d 08             	mov    0x8(%ebp),%edi
407ff3:	b9 34 ce 45 00       	mov    $0x45ce34,%ecx
407ff8:	8b c7                	mov    %edi,%eax
407ffa:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
408000:	66 8b 10             	mov    (%eax),%dx
408003:	66 3b 11             	cmp    (%ecx),%dx
408006:	75 1e                	jne    0x408026
408008:	66 85 d2             	test   %dx,%dx
40800b:	74 15                	je     0x408022
40800d:	66 8b 50 02          	mov    0x2(%eax),%dx
408011:	66 3b 51 02          	cmp    0x2(%ecx),%dx
408015:	75 0f                	jne    0x408026
408017:	83 c0 04             	add    $0x4,%eax
40801a:	83 c1 04             	add    $0x4,%ecx
40801d:	66 85 d2             	test   %dx,%dx
408020:	75 de                	jne    0x408000
408022:	33 c0                	xor    %eax,%eax
408024:	eb 05                	jmp    0x40802b
408026:	1b c0                	sbb    %eax,%eax
408028:	83 d8 ff             	sbb    $0xffffffff,%eax
40802b:	8b 55 04             	mov    0x4(%ebp),%edx
40802e:	85 c0                	test   %eax,%eax
408030:	75 0c                	jne    0x40803e
408032:	52                   	push   %edx
408033:	53                   	push   %ebx
408034:	ff 15 b0 33 47 00    	call   *0x4733b0
40803a:	33 f6                	xor    %esi,%esi
40803c:	eb 3a                	jmp    0x408078
40803e:	85 ff                	test   %edi,%edi
408040:	74 28                	je     0x40806a
408042:	8b c7                	mov    %edi,%eax
408044:	8d 70 02             	lea    0x2(%eax),%esi
408047:	66 8b 08             	mov    (%eax),%cx
40804a:	83 c0 02             	add    $0x2,%eax
40804d:	66 85 c9             	test   %cx,%cx
408050:	75 f5                	jne    0x408047
408052:	2b c6                	sub    %esi,%eax
408054:	d1 f8                	sar    $1,%eax
408056:	8d 44 00 02          	lea    0x2(%eax,%eax,1),%eax
40805a:	50                   	push   %eax
40805b:	57                   	push   %edi
40805c:	6a 01                	push   $0x1
40805e:	6a 00                	push   $0x0
408060:	52                   	push   %edx
408061:	53                   	push   %ebx
408062:	ff 15 b8 33 47 00    	call   *0x4733b8
408068:	eb 08                	jmp    0x408072
40806a:	52                   	push   %edx
40806b:	53                   	push   %ebx
40806c:	ff 15 b0 33 47 00    	call   *0x4733b0
408072:	8b f0                	mov    %eax,%esi
408074:	85 f6                	test   %esi,%esi
408076:	75 6f                	jne    0x4080e7
408078:	8b 6d 00             	mov    0x0(%ebp),%ebp
40807b:	8b 5c 24 10          	mov    0x10(%esp),%ebx
40807f:	85 ed                	test   %ebp,%ebp
408081:	0f 85 69 ff ff ff    	jne    0x407ff0
408087:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
40808b:	8b 41 04             	mov    0x4(%ecx),%eax
40808e:	85 c0                	test   %eax,%eax
408090:	74 19                	je     0x4080ab
408092:	51                   	push   %ecx
408093:	50                   	push   %eax
408094:	53                   	push   %ebx
408095:	e8 b6 fe ff ff       	call   0x407f50
40809a:	8b f0                	mov    %eax,%esi
40809c:	83 c4 0c             	add    $0xc,%esp
40809f:	85 f6                	test   %esi,%esi
4080a1:	75 44                	jne    0x4080e7
4080a3:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4080a7:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
4080ab:	8b 01                	mov    (%ecx),%eax
4080ad:	85 c0                	test   %eax,%eax
4080af:	74 19                	je     0x4080ca
4080b1:	8b 4c 24 20          	mov    0x20(%esp),%ecx
4080b5:	8b 54 24 18          	mov    0x18(%esp),%edx
4080b9:	51                   	push   %ecx
4080ba:	50                   	push   %eax
4080bb:	52                   	push   %edx
4080bc:	e8 8f fe ff ff       	call   0x407f50
4080c1:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
4080c5:	83 c4 0c             	add    $0xc,%esp
4080c8:	8b f0                	mov    %eax,%esi
4080ca:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4080ce:	85 db                	test   %ebx,%ebx
4080d0:	74 0d                	je     0x4080df
4080d2:	83 7d 14 00          	cmpl   $0x0,0x14(%ebp)
4080d6:	74 07                	je     0x4080df
4080d8:	53                   	push   %ebx
4080d9:	ff 15 68 33 47 00    	call   *0x473368
4080df:	5f                   	pop    %edi
4080e0:	8b c6                	mov    %esi,%eax
4080e2:	5e                   	pop    %esi
4080e3:	5d                   	pop    %ebp
4080e4:	5b                   	pop    %ebx
4080e5:	59                   	pop    %ecx
4080e6:	c3                   	ret
4080e7:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
4080eb:	8b 5c 24 10          	mov    0x10(%esp),%ebx
4080ef:	eb dd                	jmp    0x4080ce
4080f1:	cc                   	int3
4080f2:	cc                   	int3
4080f3:	cc                   	int3
4080f4:	cc                   	int3
4080f5:	cc                   	int3
4080f6:	cc                   	int3
4080f7:	cc                   	int3
4080f8:	cc                   	int3
4080f9:	cc                   	int3
4080fa:	cc                   	int3
4080fb:	cc                   	int3
4080fc:	cc                   	int3
4080fd:	cc                   	int3
4080fe:	cc                   	int3
4080ff:	cc                   	int3
408100:	81 ec 0c 02 00 00    	sub    $0x20c,%esp
408106:	68 04 01 00 00       	push   $0x104
40810b:	8d 44 24 08          	lea    0x8(%esp),%eax
40810f:	68 34 c9 45 00       	push   $0x45c934
408114:	50                   	push   %eax
408115:	e8 90 89 02 00       	call   0x430aaa
40811a:	8d 4c 24 10          	lea    0x10(%esp),%ecx
40811e:	51                   	push   %ecx
40811f:	e8 6c dd ff ff       	call   0x405e90
408124:	83 c4 10             	add    $0x10,%esp
408127:	6a 00                	push   $0x0
408129:	8d 54 24 04          	lea    0x4(%esp),%edx
40812d:	52                   	push   %edx
40812e:	6a 00                	push   $0x0
408130:	e8 db ad ff ff       	call   0x402f10
408135:	0d 0e 00 02 00       	or     $0x2000e,%eax
40813a:	50                   	push   %eax
40813b:	6a 00                	push   $0x0
40813d:	6a 00                	push   $0x0
40813f:	6a 00                	push   $0x0
408141:	8d 44 24 20          	lea    0x20(%esp),%eax
408145:	50                   	push   %eax
408146:	68 02 00 00 80       	push   $0x80000002
40814b:	ff 15 6c 33 47 00    	call   *0x47336c
408151:	85 c0                	test   %eax,%eax
408153:	75 45                	jne    0x40819a
408155:	8b 0c 24             	mov    (%esp),%ecx
408158:	56                   	push   %esi
408159:	8b b4 24 14 02 00 00 	mov    0x214(%esp),%esi
408160:	57                   	push   %edi
408161:	50                   	push   %eax
408162:	56                   	push   %esi
408163:	51                   	push   %ecx
408164:	e8 e7 fd ff ff       	call   0x407f50
408169:	8b f8                	mov    %eax,%edi
40816b:	83 c4 0c             	add    $0xc,%esp
40816e:	85 ff                	test   %edi,%edi
408170:	75 19                	jne    0x40818b
408172:	39 46 10             	cmp    %eax,0x10(%esi)
408175:	74 14                	je     0x40818b
408177:	8b 56 14             	mov    0x14(%esi),%edx
40817a:	8b 44 24 08          	mov    0x8(%esp),%eax
40817e:	56                   	push   %esi
40817f:	52                   	push   %edx
408180:	50                   	push   %eax
408181:	e8 ca e9 ff ff       	call   0x406b50
408186:	83 c4 0c             	add    $0xc,%esp
408189:	8b f8                	mov    %eax,%edi
40818b:	8b 4c 24 08          	mov    0x8(%esp),%ecx
40818f:	51                   	push   %ecx
408190:	ff 15 68 33 47 00    	call   *0x473368
408196:	8b c7                	mov    %edi,%eax