408dbf:	53                   	push   %ebx
408dc0:	8b 5d 08             	mov    0x8(%ebp),%ebx
408dc3:	56                   	push   %esi
408dc4:	57                   	push   %edi
408dc5:	68 08 02 00 00       	push   $0x208
408dca:	33 ff                	xor    %edi,%edi
408dcc:	21 3b                	and    %edi,(%ebx)
408dce:	6a 08                	push   $0x8
408dd0:	ff 15 e0 60 41 00    	call   *0x4160e0
408dd6:	50                   	push   %eax
408dd7:	ff 15 dc 60 41 00    	call   *0x4160dc
408ddd:	8b f0                	mov    %eax,%esi
408ddf:	85 f6                	test   %esi,%esi
408de1:	75 1d                	jne    0x408e00
408de3:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
408de8:	57                   	push   %edi
408de9:	68 d8 2c 40 00       	push   $0x402cd8
408dee:	6a 34                	push   $0x34
408df0:	68 00 2d 40 00       	push   $0x402d00
408df5:	51                   	push   %ecx
408df6:	e8 d7 81 00 00       	call   0x410fd2
408dfb:	e9 83 00 00 00       	jmp    0x408e83
408e00:	68 04 01 00 00       	push   $0x104
408e05:	56                   	push   %esi
408e06:	68 2e 01 00 00       	push   $0x12e
408e0b:	6a 00                	push   $0x0
408e0d:	ff 15 cc 60 41 00    	call   *0x4160cc
408e13:	50                   	push   %eax
408e14:	ff 15 e0 61 41 00    	call   *0x4161e0
408e1a:	85 c0                	test   %eax,%eax
408e1c:	75 4d                	jne    0x408e6b
408e1e:	50                   	push   %eax
408e1f:	68 d8 2c 40 00       	push   $0x402cd8
408e24:	6a 3c                	push   $0x3c
408e26:	68 00 2d 40 00       	push   $0x402d00
408e2b:	51                   	push   %ecx
408e2c:	e8 a1 81 00 00       	call   0x410fd2
408e31:	bf 04 01 00 00       	mov    $0x104,%edi
408e36:	57                   	push   %edi
408e37:	6a 00                	push   $0x0
408e39:	56                   	push   %esi
408e3a:	e8 b2 9c 00 00       	call   0x412af1
408e3f:	83 c4 0c             	add    $0xc,%esp
408e42:	8b d7                	mov    %edi,%edx
408e44:	8b ce                	mov    %esi,%ecx
408e46:	68 9c 2e 40 00       	push   $0x402e9c
408e4b:	e8 70 0b 00 00       	call   0x4099c0
408e50:	8b f8                	mov    %eax,%edi
408e52:	85 ff                	test   %edi,%edi
408e54:	79 15                	jns    0x408e6b
408e56:	57                   	push   %edi
408e57:	68 d8 2c 40 00       	push   $0x402cd8
408e5c:	6a 41                	push   $0x41
408e5e:	68 00 2d 40 00       	push   $0x402d00
408e63:	51                   	push   %ecx
408e64:	e8 69 81 00 00       	call   0x410fd2
408e69:	eb 04                	jmp    0x408e6f
408e6b:	89 33                	mov    %esi,(%ebx)
408e6d:	33 f6                	xor    %esi,%esi
408e6f:	85 f6                	test   %esi,%esi
408e71:	74 10                	je     0x408e83
408e73:	56                   	push   %esi
408e74:	6a 00                	push   $0x0
408e76:	ff 15 e0 60 41 00    	call   *0x4160e0
408e7c:	50                   	push   %eax
408e7d:	ff 15 e4 60 41 00    	call   *0x4160e4
408e83:	8b c7                	mov    %edi,%eax
408e85:	5f                   	pop    %edi
408e86:	5e                   	pop    %esi
408e87:	5b                   	pop    %ebx
408e88:	5d                   	pop    %ebp
408e89:	c2 04 00             	ret    $0x4
408e8c:	8b ff                	mov    %edi,%edi
408e8e:	55                   	push   %ebp
408e8f:	8b ec                	mov    %esp,%ebp
408e91:	83 ec 20             	sub    $0x20,%esp
408e94:	53                   	push   %ebx
408e95:	56                   	push   %esi
408e96:	57                   	push   %edi
408e97:	89 4d f8             	mov    %ecx,-0x8(%ebp)
408e9a:	33 f6                	xor    %esi,%esi
408e9c:	21 75 fc             	and    %esi,-0x4(%ebp)
408e9f:	33 db                	xor    %ebx,%ebx
408ea1:	b9 e9 fd 00 00       	mov    $0xfde9,%ecx
408ea6:	89 55 ec             	mov    %edx,-0x14(%ebp)
408ea9:	33 ff                	xor    %edi,%edi
408eab:	8b c2                	mov    %edx,%eax
408ead:	3b d1                	cmp    %ecx,%edx
408eaf:	0f 94 c3             	sete   %bl
408eb2:	2b c1                	sub    %ecx,%eax
408eb4:	4b                   	dec    %ebx
408eb5:	8d 4d fc             	lea    -0x4(%ebp),%ecx
408eb8:	81 e3 80 03 00 00    	and    $0x380,%ebx
408ebe:	83 eb 80             	sub    $0xffffff80,%ebx
408ec1:	f7 d8                	neg    %eax
408ec3:	1b c0                	sbb    %eax,%eax
408ec5:	23 c1                	and    %ecx,%eax
408ec7:	8b 4d f8             	mov    -0x8(%ebp),%ecx
408eca:	50                   	push   %eax
408ecb:	89 45 f4             	mov    %eax,-0xc(%ebp)
408ece:	33 c0                	xor    %eax,%eax
408ed0:	50                   	push   %eax
408ed1:	50                   	push   %eax
408ed2:	50                   	push   %eax
408ed3:	6a ff                	push   $0xffffffff
408ed5:	51                   	push   %ecx
408ed6:	53                   	push   %ebx
408ed7:	52                   	push   %edx
408ed8:	ff 15 e8 60 41 00    	call   *0x4160e8
408ede:	89 45 f0             	mov    %eax,-0x10(%ebp)
408ee1:	85 c0                	test   %eax,%eax
408ee3:	75 1c                	jne    0x408f01
408ee5:	50                   	push   %eax
408ee6:	68 50 2d 40 00       	push   $0x402d50
408eeb:	6a 71                	push   $0x71
408eed:	68 00 2d 40 00       	push   $0x402d00
408ef2:	51                   	push   %ecx
408ef3:	e8 da 80 00 00       	call   0x410fd2
408ef8:	c7 45 fc 01 00 00 00 	movl   $0x1,-0x4(%ebp)
408eff:	eb 75                	jmp    0x408f76
408f01:	50                   	push   %eax
408f02:	6a 08                	push   $0x8
408f04:	ff 15 e0 60 41 00    	call   *0x4160e0
408f0a:	50                   	push   %eax
408f0b:	ff 15 dc 60 41 00    	call   *0x4160dc
408f11:	8b f0                	mov    %eax,%esi
408f13:	89 75 e8             	mov    %esi,-0x18(%ebp)
408f16:	85 f6                	test   %esi,%esi
408f18:	75 1a                	jne    0x408f34
408f1a:	bf 0e 00 07 80       	mov    $0x8007000e,%edi
408f1f:	57                   	push   %edi
408f20:	68 50 2d 40 00       	push   $0x402d50
408f25:	6a 76                	push   $0x76
408f27:	68 00 2d 40 00       	push   $0x402d00
408f2c:	51                   	push   %ecx
408f2d:	e8 a0 80 00 00       	call   0x410fd2
408f32:	eb 67                	jmp    0x408f9b
408f34:	ff 75 f4             	push   -0xc(%ebp)
408f37:	6a 00                	push   $0x0
408f39:	ff 75 f0             	push   -0x10(%ebp)
408f3c:	56                   	push   %esi
408f3d:	6a ff                	push   $0xffffffff
408f3f:	ff 75 f8             	push   -0x8(%ebp)
408f42:	53                   	push   %ebx
408f43:	ff 75 ec             	push   -0x14(%ebp)
408f46:	ff 15 e8 60 41 00    	call   *0x4160e8
408f4c:	85 c0                	test   %eax,%eax
408f4e:	75 1e                	jne    0x408f6e
408f50:	50                   	push   %eax
408f51:	68 50 2d 40 00       	push   $0x402d50
408f56:	68 83 00 00 00       	push   $0x83
408f5b:	68 00 2d 40 00       	push   $0x402d00
408f60:	51                   	push   %ecx
408f61:	e8 6c 80 00 00       	call   0x410fd2
408f66:	33 c0                	xor    %eax,%eax
408f68:	40                   	inc    %eax
408f69:	89 45 fc             	mov    %eax,-0x4(%ebp)
408f6c:	eb 03                	jmp    0x408f71
408f6e:	8b 45 fc             	mov    -0x4(%ebp),%eax
408f71:	83 f8 01             	cmp    $0x1,%eax
408f74:	75 07                	jne    0x408f7d
408f76:	33 ff                	xor    %edi,%edi
408f78:	47                   	inc    %edi
408f79:	33 c0                	xor    %eax,%eax
408f7b:	eb 05                	jmp    0x408f82
408f7d:	8b 45 e8             	mov    -0x18(%ebp),%eax
408f80:	33 f6                	xor    %esi,%esi
408f82:	8b 4d 08             	mov    0x8(%ebp),%ecx
408f85:	89 01                	mov    %eax,(%ecx)
408f87:	85 f6                	test   %esi,%esi
408f89:	74 10                	je     0x408f9b
408f8b:	56                   	push   %esi
408f8c:	6a 00                	push   $0x0
408f8e:	ff 15 e0 60 41 00    	call   *0x4160e0
408f94:	50                   	push   %eax
408f95:	ff 15 e4 60 41 00    	call   *0x4160e4
408f9b:	8b c7                	mov    %edi,%eax
408f9d:	5f                   	pop    %edi
408f9e:	5e                   	pop    %esi
408f9f:	5b                   	pop    %ebx
408fa0:	c9                   	leave
408fa1:	c2 04 00             	ret    $0x4
408fa4:	8b ff                	mov    %edi,%edi
408fa6:	56                   	push   %esi
408fa7:	8b f1                	mov    %ecx,%esi
408fa9:	83 be 2c 04 00 00 00 	cmpl   $0x0,0x42c(%esi)
408fb0:	74 09                	je     0x408fbb
408fb2:	8d 46 04             	lea    0x4(%esi),%eax
408fb5:	50                   	push   %eax
408fb6:	e8 55 02 00 00       	call   0x409210
408fbb:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
408fbf:	74 09                	je     0x408fca
408fc1:	ff 76 0c             	push   0xc(%esi)
408fc4:	ff 15 d0 60 41 00    	call   *0x4160d0
408fca:	ff b6 38 04 00 00    	push   0x438(%esi)
408fd0:	ff 15 b8 61 41 00    	call   *0x4161b8
408fd6:	ff b6 34 04 00 00    	push   0x434(%esi)
408fdc:	ff 15 b8 61 41 00    	call   *0x4161b8
408fe2:	ff b6 30 04 00 00    	push   0x430(%esi)
408fe8:	ff 15 b8 61 41 00    	call   *0x4161b8
408fee:	5e                   	pop    %esi
408fef:	c3                   	ret
408ff0:	8b ff                	mov    %edi,%edi
408ff2:	55                   	push   %ebp
408ff3:	8b ec                	mov    %esp,%ebp
408ff5:	81 ec 10 02 00 00    	sub    $0x210,%esp
408ffb:	a1 f4 51 41 00       	mov    0x4151f4,%eax
409000:	33 c5                	xor    %ebp,%eax
409002:	89 45 fc             	mov    %eax,-0x4(%ebp)
409005:	53                   	push   %ebx
409006:	56                   	push   %esi
409007:	8b 75 08             	mov    0x8(%ebp),%esi
40900a:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
409010:	57                   	push   %edi
409011:	68 08 02 00 00       	push   $0x208
409016:	33 ff                	xor    %edi,%edi
409018:	89 b5 f0 fd ff ff    	mov    %esi,-0x210(%ebp)
40901e:	57                   	push   %edi
40901f:	50                   	push   %eax
409020:	8b d9                	mov    %ecx,%ebx
409022:	e8 ca 9a 00 00       	call   0x412af1
409027:	83 c4 0c             	add    $0xc,%esp
40902a:	85 f6                	test   %esi,%esi
40902c:	75 20                	jne    0x40904e
40902e:	bf 03 40 00 80       	mov    $0x80004003,%edi
409033:	57                   	push   %edi
409034:	68 74 2d 40 00       	push   $0x402d74
409039:	68 c4 00 00 00       	push   $0xc4
40903e:	68 00 2d 40 00       	push   $0x402d00
409043:	51                   	push   %ecx
409044:	e8 89 7f 00 00       	call   0x410fd2
409049:	e9 de 00 00 00       	jmp    0x40912c
40904e:	89 3e                	mov    %edi,(%esi)
409050:	89 bb 28 04 00 00    	mov    %edi,0x428(%ebx)
409056:	39 bb 2c 04 00 00    	cmp    %edi,0x42c(%ebx)
40905c:	74 13                	je     0x409071
40905e:	8d 43 04             	lea    0x4(%ebx),%eax
409061:	8b 08                	mov    (%eax),%ecx
409063:	50                   	push   %eax
409064:	8b 71 38             	mov    0x38(%ecx),%esi
409067:	8b ce                	mov    %esi,%ecx
409069:	ff 15 28 63 41 00    	call   *0x416328
40906f:	ff d6                	call   *%esi
409071:	39 7b 0c             	cmp    %edi,0xc(%ebx)
409074:	74 12                	je     0x409088
409076:	ff 73 0c             	push   0xc(%ebx)
409079:	ff 15 d0 60 41 00    	call   *0x4160d0
40907f:	89 7b 10             	mov    %edi,0x10(%ebx)
409082:	89 7b 14             	mov    %edi,0x14(%ebx)
409085:	89 7b 0c             	mov    %edi,0xc(%ebx)
409088:	57                   	push   %edi
409089:	6a 25                	push   $0x25
40908b:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
409091:	50                   	push   %eax
409092:	57                   	push   %edi
409093:	ff 15 c8 61 41 00    	call   *0x4161c8
409099:	85 c0                	test   %eax,%eax
40909b:	75 12                	jne    0x4090af
40909d:	bf 05 40 00 80       	mov    $0x80004005,%edi
4090a2:	57                   	push   %edi
4090a3:	68 74 2d 40 00       	push   $0x402d74
4090a8:	68 e4 00 00 00       	push   $0xe4
4090ad:	eb 8f                	jmp    0x40903e
4090af:	68 a0 2d 40 00       	push   $0x402da0
4090b4:	ba 04 01 00 00       	mov    $0x104,%edx
4090b9:	8d 8d f4 fd ff ff    	lea    -0x20c(%ebp),%ecx
4090bf:	e8 3e 08 00 00       	call   0x409902
4090c4:	85 c0                	test   %eax,%eax
4090c6:	79 15                	jns    0x4090dd
4090c8:	bf 05 40 00 80       	mov    $0x80004005,%edi
4090cd:	57                   	push   %edi
4090ce:	68 74 2d 40 00       	push   $0x402d74
4090d3:	68 ec 00 00 00       	push   $0xec
4090d8:	e9 61 ff ff ff       	jmp    0x40903e
4090dd:	8d 85 f4 fd ff ff    	lea    -0x20c(%ebp),%eax
4090e3:	50                   	push   %eax
4090e4:	ff 15 ec 60 41 00    	call   *0x4160ec
4090ea:	8b f0                	mov    %eax,%esi
4090ec:	85 f6                	test   %esi,%esi
4090ee:	75 1d                	jne    0x40910d
4090f0:	57                   	push   %edi
4090f1:	68 74 2d 40 00       	push   $0x402d74
4090f6:	68 f7 00 00 00       	push   $0xf7
4090fb:	68 00 2d 40 00       	push   $0x402d00
409100:	51                   	push   %ecx
409101:	e8 cc 7e 00 00       	call   0x410fd2
409106:	bf 05 40 00 80       	mov    $0x80004005,%edi
40910b:	eb 1f                	jmp    0x40912c
40910d:	68 b8 2d 40 00       	push   $0x402db8
409112:	56                   	push   %esi
409113:	ff 15 70 61 41 00    	call   *0x416170
409119:	85 c0                	test   %eax,%eax
40911b:	74 03                	je     0x409120
40911d:	89 73 0c             	mov    %esi,0xc(%ebx)
409120:	8b 85 f0 fd ff ff    	mov    -0x210(%ebp),%eax
409126:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
40912c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
40912f:	8b c7                	mov    %edi,%eax
409131:	5f                   	pop    %edi
409132:	5e                   	pop    %esi
409133:	33 cd                	xor    %ebp,%ecx
409135:	5b                   	pop    %ebx
409136:	e8 b5 8e 00 00       	call   0x411ff0
40913b:	c9                   	leave
40913c:	c2 04 00             	ret    $0x4
40913f:	cc                   	int3
409140:	8b ff                	mov    %edi,%edi
409142:	55                   	push   %ebp
409143:	8b ec                	mov    %esp,%ebp
409145:	51                   	push   %ecx
409146:	56                   	push   %esi
409147:	8b 75 0c             	mov    0xc(%ebp),%esi
40914a:	85 f6                	test   %esi,%esi
40914c:	75 20                	jne    0x40916e
40914e:	56                   	push   %esi
40914f:	68 c4 2d 40 00       	push   $0x402dc4
409154:	68 2b 01 00 00       	push   $0x12b
409159:	68 00 2d 40 00       	push   $0x402d00
40915e:	51                   	push   %ecx
40915f:	e8 6e 7e 00 00       	call   0x410fd2
409164:	b8 03 40 00 80       	mov    $0x80004003,%eax
409169:	e9 8e 00 00 00       	jmp    0x4091fc
40916e:	53                   	push   %ebx
40916f:	57                   	push   %edi
409170:	8b 7d 08             	mov    0x8(%ebp),%edi
409173:	33 c0                	xor    %eax,%eax
409175:	89 06                	mov    %eax,(%esi)
409177:	bb 05 40 00 80       	mov    $0x80004005,%ebx
40917c:	39 87 28 04 00 00    	cmp    %eax,0x428(%edi)
409182:	74 2b                	je     0x4091af
409184:	bf 00 2d 40 00       	mov    $0x402d00,%edi
409189:	57                   	push   %edi
40918a:	68 3a 01 00 00       	push   $0x13a
40918f:	68 f8 2a 40 00       	push   $0x402af8
409194:	e8 84 7d 00 00       	call   0x410f1d
409199:	57                   	push   %edi
40919a:	68 3d 01 00 00       	push   $0x13d
40919f:	33 db                	xor    %ebx,%ebx
4091a1:	21 1e                	and    %ebx,(%esi)
4091a3:	68 68 2c 40 00       	push   $0x402c68
4091a8:	e8 70 7d 00 00       	call   0x410f1d
4091ad:	eb 49                	jmp    0x4091f8
4091af:	39 47 08             	cmp    %eax,0x8(%edi)
4091b2:	75 36                	jne    0x4091ea
4091b4:	89 45 fc             	mov    %eax,-0x4(%ebp)
4091b7:	8d 4f fc             	lea    -0x4(%edi),%ecx
4091ba:	8d 45 fc             	lea    -0x4(%ebp),%eax
4091bd:	50                   	push   %eax
4091be:	e8 2d fe ff ff       	call   0x408ff0
4091c3:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)