408d66:	8d 45 fc             	lea    -0x4(%ebp),%eax
408d69:	50                   	push   %eax
408d6a:	6a 03                	push   $0x3
408d6c:	68 9c 16 43 00       	push   $0x43169c
408d71:	ff 15 04 12 43 00    	call   *0x431204
408d77:	83 c4 0c             	add    $0xc,%esp
408d7a:	6a 00                	push   $0x0
408d7c:	ff 75 08             	push   0x8(%ebp)
408d7f:	8d 4d ec             	lea    -0x14(%ebp),%ecx
408d82:	89 45 fc             	mov    %eax,-0x4(%ebp)
408d85:	c7 45 ec 0c 16 43 00 	movl   $0x43160c,-0x14(%ebp)
408d8c:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
408d93:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
408d9a:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
408da1:	e8 9a 04 00 00       	call   0x409240
408da6:	8d 4d ec             	lea    -0x14(%ebp),%ecx
408da9:	e8 32 07 00 00       	call   0x4094e0
408dae:	8b 75 f4             	mov    -0xc(%ebp),%esi
408db1:	6a 00                	push   $0x0
408db3:	56                   	push   %esi
408db4:	ff 15 4c 11 43 00    	call   *0x43114c
408dba:	85 c0                	test   %eax,%eax
408dbc:	75 11                	jne    0x408dcf
408dbe:	ff 15 08 11 43 00    	call   *0x431108
408dc4:	3d b7 00 00 00       	cmp    $0xb7,%eax
408dc9:	74 04                	je     0x408dcf
408dcb:	32 db                	xor    %bl,%bl
408dcd:	eb 02                	jmp    0x408dd1
408dcf:	b3 01                	mov    $0x1,%bl
408dd1:	8b 45 f0             	mov    -0x10(%ebp),%eax
408dd4:	85 c0                	test   %eax,%eax
408dd6:	74 09                	je     0x408de1
408dd8:	50                   	push   %eax
408dd9:	e8 12 dc ff ff       	call   0x4069f0
408dde:	83 c4 04             	add    $0x4,%esp
408de1:	85 f6                	test   %esi,%esi
408de3:	74 09                	je     0x408dee
408de5:	56                   	push   %esi
408de6:	e8 05 dc ff ff       	call   0x4069f0
408deb:	83 c4 04             	add    $0x4,%esp
408dee:	8b 45 f8             	mov    -0x8(%ebp),%eax
408df1:	85 c0                	test   %eax,%eax
408df3:	74 09                	je     0x408dfe
408df5:	50                   	push   %eax
408df6:	e8 f5 db ff ff       	call   0x4069f0
408dfb:	83 c4 04             	add    $0x4,%esp
408dfe:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408e01:	85 c9                	test   %ecx,%ecx
408e03:	74 0a                	je     0x408e0f
408e05:	51                   	push   %ecx
408e06:	ff 15 00 12 43 00    	call   *0x431200
408e0c:	83 c4 04             	add    $0x4,%esp
408e0f:	5e                   	pop    %esi
408e10:	8a c3                	mov    %bl,%al
408e12:	5b                   	pop    %ebx
408e13:	8b e5                	mov    %ebp,%esp
408e15:	5d                   	pop    %ebp
408e16:	c3                   	ret
408e17:	cc                   	int3
408e18:	cc                   	int3
408e19:	cc                   	int3
408e1a:	cc                   	int3
408e1b:	cc                   	int3
408e1c:	cc                   	int3
408e1d:	cc                   	int3
408e1e:	cc                   	int3
408e1f:	cc                   	int3
408e20:	8b 41 08             	mov    0x8(%ecx),%eax
408e23:	8b 00                	mov    (%eax),%eax
408e25:	c1 e8 04             	shr    $0x4,%eax
408e28:	24 01                	and    $0x1,%al
408e2a:	c3                   	ret
408e2b:	cc                   	int3
408e2c:	cc                   	int3
408e2d:	cc                   	int3
408e2e:	cc                   	int3
408e2f:	cc                   	int3
408e30:	55                   	push   %ebp
408e31:	8b ec                	mov    %esp,%ebp
408e33:	ff 75 08             	push   0x8(%ebp)
408e36:	e8 65 07 00 00       	call   0x4095a0
408e3b:	83 c4 04             	add    $0x4,%esp
408e3e:	84 c0                	test   %al,%al
408e40:	75 24                	jne    0x408e66
408e42:	ff 75 08             	push   0x8(%ebp)
408e45:	e8 26 00 00 00       	call   0x408e70
408e4a:	83 c4 04             	add    $0x4,%esp
408e4d:	84 c0                	test   %al,%al
408e4f:	74 15                	je     0x408e66
408e51:	ff 75 08             	push   0x8(%ebp)
408e54:	e8 e7 05 00 00       	call   0x409440
408e59:	ff 75 08             	push   0x8(%ebp)
408e5c:	e8 3f 07 00 00       	call   0x4095a0
408e61:	83 c4 08             	add    $0x8,%esp
408e64:	5d                   	pop    %ebp
408e65:	c3                   	ret
408e66:	b0 01                	mov    $0x1,%al
408e68:	5d                   	pop    %ebp
408e69:	c3                   	ret
408e6a:	cc                   	int3
408e6b:	cc                   	int3
408e6c:	cc                   	int3
408e6d:	cc                   	int3
408e6e:	cc                   	int3
408e6f:	cc                   	int3
408e70:	55                   	push   %ebp
408e71:	8b ec                	mov    %esp,%ebp
408e73:	83 ec 10             	sub    $0x10,%esp
408e76:	53                   	push   %ebx
408e77:	56                   	push   %esi
408e78:	6a 00                	push   $0x0
408e7a:	ff 75 08             	push   0x8(%ebp)
408e7d:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408e80:	c7 45 f0 0c 16 43 00 	movl   $0x43160c,-0x10(%ebp)
408e87:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
408e8e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
408e95:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
408e9c:	e8 9f 03 00 00       	call   0x409240
408ea1:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408ea4:	e8 37 06 00 00       	call   0x4094e0
408ea9:	8b 75 f8             	mov    -0x8(%ebp),%esi
408eac:	56                   	push   %esi
408ead:	ff 15 64 11 43 00    	call   *0x431164
408eb3:	83 f8 ff             	cmp    $0xffffffff,%eax
408eb6:	8b 45 f4             	mov    -0xc(%ebp),%eax
408eb9:	0f 95 c3             	setne  %bl
408ebc:	85 c0                	test   %eax,%eax
408ebe:	74 09                	je     0x408ec9
408ec0:	50                   	push   %eax
408ec1:	e8 2a db ff ff       	call   0x4069f0
408ec6:	83 c4 04             	add    $0x4,%esp
408ec9:	85 f6                	test   %esi,%esi
408ecb:	74 09                	je     0x408ed6
408ecd:	56                   	push   %esi
408ece:	e8 1d db ff ff       	call   0x4069f0
408ed3:	83 c4 04             	add    $0x4,%esp
408ed6:	8b 4d fc             	mov    -0x4(%ebp),%ecx
408ed9:	85 c9                	test   %ecx,%ecx
408edb:	74 09                	je     0x408ee6
408edd:	51                   	push   %ecx
408ede:	e8 0d db ff ff       	call   0x4069f0
408ee3:	83 c4 04             	add    $0x4,%esp
408ee6:	5e                   	pop    %esi
408ee7:	8a c3                	mov    %bl,%al
408ee9:	5b                   	pop    %ebx
408eea:	8b e5                	mov    %ebp,%esp
408eec:	5d                   	pop    %ebp
408eed:	c3                   	ret
408eee:	cc                   	int3
408eef:	cc                   	int3
408ef0:	55                   	push   %ebp
408ef1:	8b ec                	mov    %esp,%ebp
408ef3:	83 ec 10             	sub    $0x10,%esp
408ef6:	53                   	push   %ebx
408ef7:	56                   	push   %esi
408ef8:	6a 00                	push   $0x0
408efa:	ff 75 08             	push   0x8(%ebp)
408efd:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408f00:	c7 45 f0 0c 16 43 00 	movl   $0x43160c,-0x10(%ebp)
408f07:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
408f0e:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
408f15:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
408f1c:	e8 1f 03 00 00       	call   0x409240
408f21:	8d 4d f0             	lea    -0x10(%ebp),%ecx
408f24:	e8 b7 05 00 00       	call   0x4094e0
408f29:	8b 75 f8             	mov    -0x8(%ebp),%esi
408f2c:	56                   	push   %esi
408f2d:	ff 15 64 11 43 00    	call   *0x431164
408f33:	83 f8 ff             	cmp    $0xffffffff,%eax
408f36:	74 08                	je     0x408f40
408f38:	a8 10                	test   $0x10,%al
408f3a:	74 04                	je     0x408f40
408f3c:	b3 01                	mov    $0x1,%bl
408f3e:	eb 02                	jmp    0x408f42
408f40:	32 db                	xor    %bl,%bl
408f42:	8b 45 f4             	mov    -0xc(%ebp),%eax
408f45:	85 c0                	test   %eax,%eax
408f47:	74 09                	je     0x408f52
408f49:	50                   	push   %eax
408f4a:	e8 a1 da ff ff       	call   0x4069f0
408f4f:	83 c4 04             	add    $0x4,%esp
408f52:	85 f6                	test   %esi,%esi
408f54:	74 09                	je     0x408f5f
408f56:	56                   	push   %esi
408f57:	e8 94 da ff ff       	call   0x4069f0
408f5c:	83 c4 04             	add    $0x4,%esp
408f5f:	8b 45 fc             	mov    -0x4(%ebp),%eax
408f62:	85 c0                	test   %eax,%eax
408f64:	74 09                	je     0x408f6f
408f66:	50                   	push   %eax
408f67:	e8 84 da ff ff       	call   0x4069f0
408f6c:	83 c4 04             	add    $0x4,%esp
408f6f:	5e                   	pop    %esi
408f70:	8a c3                	mov    %bl,%al
408f72:	5b                   	pop    %ebx
408f73:	8b e5                	mov    %ebp,%esp
408f75:	5d                   	pop    %ebp
408f76:	c3                   	ret
408f77:	cc                   	int3
408f78:	cc                   	int3
408f79:	cc                   	int3
408f7a:	cc                   	int3
408f7b:	cc                   	int3
408f7c:	cc                   	int3
408f7d:	cc                   	int3
408f7e:	cc                   	int3
408f7f:	cc                   	int3
408f80:	cc                   	int3
408f81:	cc                   	int3
408f82:	cc                   	int3
408f83:	cc                   	int3
408f84:	cc                   	int3
408f85:	cc                   	int3
408f86:	cc                   	int3
408f87:	cc                   	int3
408f88:	cc                   	int3
408f89:	cc                   	int3
408f8a:	cc                   	int3
408f8b:	cc                   	int3
408f8c:	cc                   	int3
408f8d:	cc                   	int3
408f8e:	cc                   	int3
408f8f:	cc                   	int3
408f90:	56                   	push   %esi
408f91:	8b f1                	mov    %ecx,%esi
408f93:	80 3e 00             	cmpb   $0x0,(%esi)
408f96:	74 04                	je     0x408f9c
408f98:	32 c0                	xor    %al,%al
408f9a:	5e                   	pop    %esi
408f9b:	c3                   	ret
408f9c:	80 7e 01 00          	cmpb   $0x0,0x1(%esi)
408fa0:	75 08                	jne    0x408faa
408fa2:	c6 46 01 01          	movb   $0x1,0x1(%esi)
408fa6:	b0 01                	mov    $0x1,%al
408fa8:	5e                   	pop    %esi
408fa9:	c3                   	ret
408faa:	53                   	push   %ebx
408fab:	8b 1d 40 12 43 00    	mov    0x431240,%ebx
408fb1:	57                   	push   %edi
408fb2:	8d 7e 0c             	lea    0xc(%esi),%edi
408fb5:	eb 09                	jmp    0x408fc0
408fb7:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
408fbe:	8b ff                	mov    %edi,%edi
408fc0:	ff 76 08             	push   0x8(%esi)
408fc3:	ff 76 04             	push   0x4(%esi)
408fc6:	ff 15 5c 11 43 00    	call   *0x43115c
408fcc:	85 c0                	test   %eax,%eax
408fce:	74 51                	je     0x409021
408fd0:	8b 46 08             	mov    0x8(%esi),%eax
408fd3:	6a 02                	push   $0x2
408fd5:	68 10 04 00 00       	push   $0x410
408fda:	83 c0 2c             	add    $0x2c,%eax
408fdd:	57                   	push   %edi
408fde:	50                   	push   %eax
408fdf:	ff d3                	call   *%ebx
408fe1:	83 c4 10             	add    $0x10,%esp
408fe4:	85 c0                	test   %eax,%eax
408fe6:	74 1c                	je     0x409004
408fe8:	80 3f 2e             	cmpb   $0x2e,(%edi)
408feb:	75 11                	jne    0x408ffe
408fed:	8a 47 01             	mov    0x1(%edi),%al
408ff0:	84 c0                	test   %al,%al
408ff2:	74 cc                	je     0x408fc0
408ff4:	3c 2e                	cmp    $0x2e,%al
408ff6:	75 06                	jne    0x408ffe
408ff8:	80 7f 02 00          	cmpb   $0x0,0x2(%edi)
408ffc:	74 c2                	je     0x408fc0
408ffe:	5f                   	pop    %edi
408fff:	5b                   	pop    %ebx
409000:	b0 01                	mov    $0x1,%al
409002:	5e                   	pop    %esi
409003:	c3                   	ret
409004:	68 b8 16 43 00       	push   $0x4316b8
409009:	68 ed 14 00 00       	push   $0x14ed
40900e:	68 40 16 43 00       	push   $0x431640
409013:	ff 15 f8 11 43 00    	call   *0x4311f8
409019:	83 c4 0c             	add    $0xc,%esp
40901c:	84 c0                	test   %al,%al
40901e:	75 01                	jne    0x409021
409020:	cc                   	int3
409021:	5f                   	pop    %edi
409022:	5b                   	pop    %ebx
409023:	c6 06 01             	movb   $0x1,(%esi)
409026:	32 c0                	xor    %al,%al
409028:	5e                   	pop    %esi
409029:	c3                   	ret
40902a:	cc                   	int3
40902b:	cc                   	int3
40902c:	cc                   	int3
40902d:	cc                   	int3
40902e:	cc                   	int3
40902f:	cc                   	int3
409030:	8d 41 0c             	lea    0xc(%ecx),%eax
409033:	c3                   	ret
409034:	cc                   	int3
409035:	cc                   	int3
409036:	cc                   	int3
409037:	cc                   	int3
409038:	cc                   	int3
409039:	cc                   	int3
40903a:	cc                   	int3
40903b:	cc                   	int3
40903c:	cc                   	int3
40903d:	cc                   	int3
40903e:	cc                   	int3
40903f:	cc                   	int3
409040:	55                   	push   %ebp
409041:	8b ec                	mov    %esp,%ebp
409043:	83 ec 18             	sub    $0x18,%esp
409046:	53                   	push   %ebx
409047:	56                   	push   %esi
409048:	57                   	push   %edi
409049:	6a 00                	push   $0x0
40904b:	ff 75 08             	push   0x8(%ebp)
40904e:	8d 4d e8             	lea    -0x18(%ebp),%ecx
409051:	c7 45 e8 0c 16 43 00 	movl   $0x43160c,-0x18(%ebp)
409058:	c7 45 ec 00 00 00 00 	movl   $0x0,-0x14(%ebp)
40905f:	c7 45 f4 00 00 00 00 	movl   $0x0,-0xc(%ebp)
409066:	c7 45 f0 00 00 00 00 	movl   $0x0,-0x10(%ebp)
40906d:	e8 ce 01 00 00       	call   0x409240
409072:	8d 4d e8             	lea    -0x18(%ebp),%ecx
409075:	e8 66 04 00 00       	call   0x4094e0
40907a:	8b 5d f0             	mov    -0x10(%ebp),%ebx
40907d:	6a 00                	push   $0x0
40907f:	68 00 00 00 02       	push   $0x2000000
409084:	6a 03                	push   $0x3
409086:	6a 00                	push   $0x0
409088:	6a 03                	push   $0x3
40908a:	68 00 00 00 80       	push   $0x80000000
40908f:	53                   	push   %ebx
409090:	ff 15 38 11 43 00    	call   *0x431138
409096:	8b f8                	mov    %eax,%edi
409098:	83 ff ff             	cmp    $0xffffffff,%edi
40909b:	74 46                	je     0x4090e3
40909d:	8d 45 f8             	lea    -0x8(%ebp),%eax
4090a0:	50                   	push   %eax
4090a1:	6a 00                	push   $0x0
4090a3:	6a 00                	push   $0x0
4090a5:	57                   	push   %edi
4090a6:	ff 15 6c 11 43 00    	call   *0x43116c
4090ac:	57                   	push   %edi
4090ad:	8b f0                	mov    %eax,%esi
4090af:	ff 15 20 10 43 00    	call   *0x431020
4090b5:	85 f6                	test   %esi,%esi
4090b7:	74 2a                	je     0x4090e3
4090b9:	8b 45 fc             	mov    -0x4(%ebp),%eax
4090bc:	33 c9                	xor    %ecx,%ecx
4090be:	03 4d f8             	add    -0x8(%ebp),%ecx
4090c1:	6a 00                	push   $0x0
4090c3:	83 d0 00             	adc    $0x0,%eax