403c82:	6a 00                	push   $0x0
403c84:	6a 00                	push   $0x0
403c86:	56                   	push   %esi
403c87:	57                   	push   %edi
403c88:	89 45 f0             	mov    %eax,-0x10(%ebp)
403c8b:	e8 40 e6 00 00       	call   0x4122d0
403c90:	8b 7d e4             	mov    -0x1c(%ebp),%edi
403c93:	83 c4 50             	add    $0x50,%esp
403c96:	8b f0                	mov    %eax,%esi
403c98:	85 ff                	test   %edi,%edi
403c9a:	0f 84 9e 00 00 00    	je     0x403d3e
403ca0:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
403ca4:	0f 84 94 00 00 00    	je     0x403d3e
403caa:	85 f6                	test   %esi,%esi
403cac:	0f 84 8c 00 00 00    	je     0x403d3e
403cb2:	e8 b9 3c 01 00       	call   0x417970
403cb7:	50                   	push   %eax
403cb8:	6a 00                	push   $0x0
403cba:	e8 d1 3c 01 00       	call   0x417990
403cbf:	8b 40 28             	mov    0x28(%eax),%eax
403cc2:	50                   	push   %eax
403cc3:	8d 8d dc fe ff ff    	lea    -0x124(%ebp),%ecx
403cc9:	51                   	push   %ecx
403cca:	e8 31 4d 01 00       	call   0x418a00
403ccf:	83 c4 10             	add    $0x10,%esp
403cd2:	8d 55 e8             	lea    -0x18(%ebp),%edx
403cd5:	52                   	push   %edx
403cd6:	8d 85 dc fe ff ff    	lea    -0x124(%ebp),%eax
403cdc:	50                   	push   %eax
403cdd:	ff d6                	call   *%esi
403cdf:	89 45 ec             	mov    %eax,-0x14(%ebp)
403ce2:	85 c0                	test   %eax,%eax
403ce4:	74 58                	je     0x403d3e
403ce6:	8b 4d e8             	mov    -0x18(%ebp),%ecx
403ce9:	81 c3 b0 20 01 00    	add    $0x120b0,%ebx
403cef:	53                   	push   %ebx
403cf0:	50                   	push   %eax
403cf1:	51                   	push   %ecx
403cf2:	8d 95 dc fe ff ff    	lea    -0x124(%ebp),%edx
403cf8:	52                   	push   %edx
403cf9:	ff 55 f0             	call   *-0x10(%ebp)
403cfc:	85 c0                	test   %eax,%eax
403cfe:	74 3e                	je     0x403d3e
403d00:	8d 45 ec             	lea    -0x14(%ebp),%eax
403d03:	50                   	push   %eax
403d04:	8d 4d e0             	lea    -0x20(%ebp),%ecx
403d07:	51                   	push   %ecx
403d08:	8d 55 08             	lea    0x8(%ebp),%edx
403d0b:	52                   	push   %edx
403d0c:	53                   	push   %ebx
403d0d:	66 c7 45 08 5c 00    	movw   $0x5c,0x8(%ebp)
403d13:	c7 45 ec 34 00 00 00 	movl   $0x34,-0x14(%ebp)
403d1a:	ff d7                	call   *%edi
403d1c:	85 c0                	test   %eax,%eax
403d1e:	74 1e                	je     0x403d3e
403d20:	8b 45 e0             	mov    -0x20(%ebp),%eax
403d23:	8b 48 10             	mov    0x10(%eax),%ecx
403d26:	81 e1 00 00 ff ff    	and    $0xffff0000,%ecx
403d2c:	ba 00 00 3c 00       	mov    $0x3c0000,%edx
403d31:	3b d1                	cmp    %ecx,%edx
403d33:	5f                   	pop    %edi
403d34:	1b c0                	sbb    %eax,%eax
403d36:	5e                   	pop    %esi
403d37:	f7 d8                	neg    %eax
403d39:	5b                   	pop    %ebx
403d3a:	8b e5                	mov    %ebp,%esp
403d3c:	5d                   	pop    %ebp
403d3d:	c3                   	ret
403d3e:	5f                   	pop    %edi
403d3f:	5e                   	pop    %esi
403d40:	33 c0                	xor    %eax,%eax
403d42:	5b                   	pop    %ebx
403d43:	8b e5                	mov    %ebp,%esp
403d45:	5d                   	pop    %ebp
403d46:	c3                   	ret
403d47:	42                   	inc    %edx
403d48:	e5 6a                	in     $0x6a,%eax
403d4a:	85 66 9a             	test   %esp,-0x66(%esi)
403d4d:	25 fd 3a 55 8b       	and    $0x8b553afd,%eax
403d52:	ec                   	in     (%dx),%al
403d53:	8b 45 08             	mov    0x8(%ebp),%eax
403d56:	56                   	push   %esi
403d57:	57                   	push   %edi
403d58:	8b 7d 0c             	mov    0xc(%ebp),%edi
403d5b:	8a 0f                	mov    (%edi),%cl
403d5d:	33 f6                	xor    %esi,%esi
403d5f:	80 f9 ff             	cmp    $0xff,%cl
403d62:	74 02                	je     0x403d66
403d64:	89 30                	mov    %esi,(%eax)
403d66:	80 f9 8b             	cmp    $0x8b,%cl
403d69:	74 03                	je     0x403d6e
403d6b:	89 70 04             	mov    %esi,0x4(%eax)
403d6e:	80 f9 56             	cmp    $0x56,%cl
403d71:	74 03                	je     0x403d76
403d73:	89 70 08             	mov    %esi,0x8(%eax)
403d76:	80 f9 ff             	cmp    $0xff,%cl
403d79:	74 03                	je     0x403d7e
403d7b:	89 70 0c             	mov    %esi,0xc(%eax)
403d7e:	39 30                	cmp    %esi,(%eax)
403d80:	75 15                	jne    0x403d97
403d82:	39 70 04             	cmp    %esi,0x4(%eax)
403d85:	75 10                	jne    0x403d97
403d87:	39 70 08             	cmp    %esi,0x8(%eax)
403d8a:	75 0b                	jne    0x403d97
403d8c:	39 70 0c             	cmp    %esi,0xc(%eax)
403d8f:	75 06                	jne    0x403d97
403d91:	5f                   	pop    %edi
403d92:	33 c0                	xor    %eax,%eax
403d94:	5e                   	pop    %esi
403d95:	5d                   	pop    %ebp
403d96:	c3                   	ret
403d97:	8a 4f 01             	mov    0x1(%edi),%cl
403d9a:	80 f9 75             	cmp    $0x75,%cl
403d9d:	74 02                	je     0x403da1
403d9f:	89 30                	mov    %esi,(%eax)
403da1:	80 f9 4d             	cmp    $0x4d,%cl
403da4:	74 03                	je     0x403da9
403da6:	89 70 04             	mov    %esi,0x4(%eax)
403da9:	80 f9 8b             	cmp    $0x8b,%cl
403dac:	74 03                	je     0x403db1
403dae:	89 70 08             	mov    %esi,0x8(%eax)
403db1:	80 f9 75             	cmp    $0x75,%cl
403db4:	74 03                	je     0x403db9
403db6:	89 70 0c             	mov    %esi,0xc(%eax)
403db9:	39 30                	cmp    %esi,(%eax)
403dbb:	75 0f                	jne    0x403dcc
403dbd:	39 70 04             	cmp    %esi,0x4(%eax)
403dc0:	75 0a                	jne    0x403dcc
403dc2:	39 70 08             	cmp    %esi,0x8(%eax)
403dc5:	75 05                	jne    0x403dcc
403dc7:	39 70 0c             	cmp    %esi,0xc(%eax)
403dca:	74 c5                	je     0x403d91
403dcc:	8a 4f 02             	mov    0x2(%edi),%cl
403dcf:	80 f9 10             	cmp    $0x10,%cl
403dd2:	74 02                	je     0x403dd6
403dd4:	89 30                	mov    %esi,(%eax)
403dd6:	80 f9 08             	cmp    $0x8,%cl
403dd9:	74 03                	je     0x403dde
403ddb:	89 70 04             	mov    %esi,0x4(%eax)
403dde:	80 f9 75             	cmp    $0x75,%cl
403de1:	74 03                	je     0x403de6
403de3:	89 70 08             	mov    %esi,0x8(%eax)
403de6:	80 f9 10             	cmp    $0x10,%cl
403de9:	74 03                	je     0x403dee
403deb:	89 70 0c             	mov    %esi,0xc(%eax)
403dee:	39 30                	cmp    %esi,(%eax)
403df0:	75 0f                	jne    0x403e01
403df2:	39 70 04             	cmp    %esi,0x4(%eax)
403df5:	75 0a                	jne    0x403e01
403df7:	39 70 08             	cmp    %esi,0x8(%eax)
403dfa:	75 05                	jne    0x403e01
403dfc:	39 70 0c             	cmp    %esi,0xc(%eax)
403dff:	74 90                	je     0x403d91
403e01:	8a 4f 03             	mov    0x3(%edi),%cl
403e04:	80 f9 8b             	cmp    $0x8b,%cl
403e07:	74 02                	je     0x403e0b
403e09:	89 30                	mov    %esi,(%eax)
403e0b:	80 f9 83             	cmp    $0x83,%cl
403e0e:	74 03                	je     0x403e13
403e10:	89 70 04             	mov    %esi,0x4(%eax)
403e13:	80 f9 08             	cmp    $0x8,%cl
403e16:	74 03                	je     0x403e1b
403e18:	89 70 08             	mov    %esi,0x8(%eax)
403e1b:	80 f9 ff             	cmp    $0xff,%cl
403e1e:	74 03                	je     0x403e23
403e20:	89 70 0c             	mov    %esi,0xc(%eax)
403e23:	39 30                	cmp    %esi,(%eax)
403e25:	75 13                	jne    0x403e3a
403e27:	39 70 04             	cmp    %esi,0x4(%eax)
403e2a:	75 0e                	jne    0x403e3a
403e2c:	39 70 08             	cmp    %esi,0x8(%eax)
403e2f:	75 09                	jne    0x403e3a
403e31:	39 70 0c             	cmp    %esi,0xc(%eax)
403e34:	0f 84 57 ff ff ff    	je     0x403d91
403e3a:	8a 4f 04             	mov    0x4(%edi),%cl
403e3d:	80 f9 4d             	cmp    $0x4d,%cl
403e40:	74 02                	je     0x403e44
403e42:	89 30                	mov    %esi,(%eax)
403e44:	80 f9 79             	cmp    $0x79,%cl
403e47:	74 03                	je     0x403e4c
403e49:	89 70 04             	mov    %esi,0x4(%eax)
403e4c:	80 f9 83             	cmp    $0x83,%cl
403e4f:	74 03                	je     0x403e54
403e51:	89 70 08             	mov    %esi,0x8(%eax)
403e54:	80 f9 75             	cmp    $0x75,%cl
403e57:	74 03                	je     0x403e5c
403e59:	89 70 0c             	mov    %esi,0xc(%eax)
403e5c:	39 30                	cmp    %esi,(%eax)
403e5e:	75 13                	jne    0x403e73
403e60:	39 70 04             	cmp    %esi,0x4(%eax)
403e63:	75 0e                	jne    0x403e73
403e65:	39 70 08             	cmp    %esi,0x8(%eax)
403e68:	75 09                	jne    0x403e73
403e6a:	39 70 0c             	cmp    %esi,0xc(%eax)
403e6d:	0f 84 1e ff ff ff    	je     0x403d91
403e73:	8a 4f 05             	mov    0x5(%edi),%cl
403e76:	80 f9 08             	cmp    $0x8,%cl
403e79:	74 02                	je     0x403e7d
403e7b:	89 30                	mov    %esi,(%eax)
403e7d:	80 f9 24             	cmp    $0x24,%cl
403e80:	74 03                	je     0x403e85
403e82:	89 70 04             	mov    %esi,0x4(%eax)
403e85:	80 f9 7e             	cmp    $0x7e,%cl
403e88:	74 03                	je     0x403e8d
403e8a:	89 70 08             	mov    %esi,0x8(%eax)
403e8d:	80 f9 0c             	cmp    $0xc,%cl
403e90:	74 03                	je     0x403e95
403e92:	89 70 0c             	mov    %esi,0xc(%eax)
403e95:	39 30                	cmp    %esi,(%eax)
403e97:	75 13                	jne    0x403eac
403e99:	39 70 04             	cmp    %esi,0x4(%eax)
403e9c:	75 0e                	jne    0x403eac
403e9e:	39 70 08             	cmp    %esi,0x8(%eax)
403ea1:	75 09                	jne    0x403eac
403ea3:	39 70 0c             	cmp    %esi,0xc(%eax)
403ea6:	0f 84 e5 fe ff ff    	je     0x403d91
403eac:	8a 4f 06             	mov    0x6(%edi),%cl
403eaf:	80 f9 ff             	cmp    $0xff,%cl
403eb2:	74 02                	je     0x403eb6
403eb4:	89 30                	mov    %esi,(%eax)
403eb6:	80 f9 24             	cmp    $0x24,%cl
403eb9:	74 03                	je     0x403ebe
403ebb:	89 70 08             	mov    %esi,0x8(%eax)
403ebe:	80 f9 6a             	cmp    $0x6a,%cl
403ec1:	74 03                	je     0x403ec6
403ec3:	89 70 0c             	mov    %esi,0xc(%eax)
403ec6:	39 30                	cmp    %esi,(%eax)
403ec8:	75 13                	jne    0x403edd
403eca:	39 70 04             	cmp    %esi,0x4(%eax)
403ecd:	75 0e                	jne    0x403edd
403ecf:	39 70 08             	cmp    %esi,0x8(%eax)
403ed2:	75 09                	jne    0x403edd
403ed4:	39 70 0c             	cmp    %esi,0xc(%eax)
403ed7:	0f 84 b4 fe ff ff    	je     0x403d91
403edd:	8a 4f 07             	mov    0x7(%edi),%cl
403ee0:	80 f9 75             	cmp    $0x75,%cl
403ee3:	74 05                	je     0x403eea
403ee5:	89 30                	mov    %esi,(%eax)
403ee7:	89 70 04             	mov    %esi,0x4(%eax)
403eea:	80 f9 17             	cmp    $0x17,%cl
403eed:	74 03                	je     0x403ef2
403eef:	89 70 0c             	mov    %esi,0xc(%eax)
403ef2:	39 30                	cmp    %esi,(%eax)
403ef4:	75 13                	jne    0x403f09
403ef6:	39 70 04             	cmp    %esi,0x4(%eax)
403ef9:	75 0e                	jne    0x403f09
403efb:	39 70 08             	cmp    %esi,0x8(%eax)
403efe:	75 09                	jne    0x403f09
403f00:	39 70 0c             	cmp    %esi,0xc(%eax)
403f03:	0f 84 88 fe ff ff    	je     0x403d91
403f09:	8a 4f 08             	mov    0x8(%edi),%cl
403f0c:	80 f9 0c             	cmp    $0xc,%cl
403f0f:	74 02                	je     0x403f13
403f11:	89 30                	mov    %esi,(%eax)
403f13:	80 f9 23             	cmp    $0x23,%cl
403f16:	74 03                	je     0x403f1b
403f18:	89 70 04             	mov    %esi,0x4(%eax)
403f1b:	80 f9 75             	cmp    $0x75,%cl
403f1e:	74 03                	je     0x403f23
403f20:	89 70 08             	mov    %esi,0x8(%eax)
403f23:	80 f9 ff             	cmp    $0xff,%cl
403f26:	74 03                	je     0x403f2b
403f28:	89 70 0c             	mov    %esi,0xc(%eax)
403f2b:	39 30                	cmp    %esi,(%eax)
403f2d:	75 13                	jne    0x403f42
403f2f:	39 70 04             	cmp    %esi,0x4(%eax)
403f32:	75 0e                	jne    0x403f42
403f34:	39 70 08             	cmp    %esi,0x8(%eax)
403f37:	75 09                	jne    0x403f42
403f39:	39 70 0c             	cmp    %esi,0xc(%eax)
403f3c:	0f 84 4f fe ff ff    	je     0x403d91
403f42:	8a 4f 09             	mov    0x9(%edi),%cl
403f45:	80 f9 6a             	cmp    $0x6a,%cl
403f48:	74 02                	je     0x403f4c
403f4a:	89 30                	mov    %esi,(%eax)
403f4c:	80 f9 68             	cmp    $0x68,%cl
403f4f:	74 03                	je     0x403f54
403f51:	89 70 04             	mov    %esi,0x4(%eax)
403f54:	80 f9 23             	cmp    $0x23,%cl
403f57:	74 03                	je     0x403f5c
403f59:	89 70 08             	mov    %esi,0x8(%eax)
403f5c:	80 f9 75             	cmp    $0x75,%cl
403f5f:	74 03                	je     0x403f64
403f61:	89 70 0c             	mov    %esi,0xc(%eax)
403f64:	39 30                	cmp    %esi,(%eax)
403f66:	75 13                	jne    0x403f7b
403f68:	39 70 04             	cmp    %esi,0x4(%eax)
403f6b:	75 0e                	jne    0x403f7b
403f6d:	39 70 08             	cmp    %esi,0x8(%eax)
403f70:	75 09                	jne    0x403f7b
403f72:	39 70 0c             	cmp    %esi,0xc(%eax)
403f75:	0f 84 16 fe ff ff    	je     0x403d91
403f7b:	8a 4f 0a             	mov    0xa(%edi),%cl
403f7e:	80 f9 17             	cmp    $0x17,%cl
403f81:	74 02                	je     0x403f85
403f83:	89 30                	mov    %esi,(%eax)
403f85:	80 f9 94             	cmp    $0x94,%cl
403f88:	74 03                	je     0x403f8d
403f8a:	89 70 04             	mov    %esi,0x4(%eax)
403f8d:	80 f9 68             	cmp    $0x68,%cl
403f90:	74 03                	je     0x403f95
403f92:	89 70 08             	mov    %esi,0x8(%eax)
403f95:	80 f9 08             	cmp    $0x8,%cl
403f98:	74 03                	je     0x403f9d
403f9a:	89 70 0c             	mov    %esi,0xc(%eax)
403f9d:	39 30                	cmp    %esi,(%eax)
403f9f:	75 13                	jne    0x403fb4
403fa1:	39 70 04             	cmp    %esi,0x4(%eax)
403fa4:	75 0e                	jne    0x403fb4
403fa6:	39 70 08             	cmp    %esi,0x8(%eax)
403fa9:	75 09                	jne    0x403fb4
403fab:	39 70 0c             	cmp    %esi,0xc(%eax)
403fae:	0f 84 dd fd ff ff    	je     0x403d91
403fb4:	8a 4f 0b             	mov    0xb(%edi),%cl
403fb7:	80 f9 5a             	cmp    $0x5a,%cl
403fba:	74 02                	je     0x403fbe
403fbc:	89 30                	mov    %esi,(%eax)
403fbe:	80 f9 03             	cmp    $0x3,%cl
403fc1:	74 03                	je     0x403fc6
403fc3:	89 70 04             	mov    %esi,0x4(%eax)
403fc6:	80 f9 8e             	cmp    $0x8e,%cl
403fc9:	74 03                	je     0x403fce
403fcb:	89 70 08             	mov    %esi,0x8(%eax)
403fce:	80 f9 e8             	cmp    $0xe8,%cl
403fd1:	74 03                	je     0x403fd6
403fd3:	89 70 0c             	mov    %esi,0xc(%eax)
403fd6:	39 30                	cmp    %esi,(%eax)
403fd8:	75 13                	jne    0x403fed
403fda:	39 70 04             	cmp    %esi,0x4(%eax)
403fdd:	75 0e                	jne    0x403fed
403fdf:	39 70 08             	cmp    %esi,0x8(%eax)
403fe2:	75 09                	jne    0x403fed
403fe4:	39 70 0c             	cmp    %esi,0xc(%eax)
403fe7:	0f 84 a4 fd ff ff    	je     0x403d91
403fed:	8a 4f 0c             	mov    0xc(%edi),%cl
403ff0:	80 f9 e8             	cmp    $0xe8,%cl
403ff3:	74 02                	je     0x403ff7
403ff5:	89 30                	mov    %esi,(%eax)
403ff7:	80 f9 03             	cmp    $0x3,%cl
403ffa:	74 03                	je     0x403fff
403ffc:	89 70 08             	mov    %esi,0x8(%eax)
403fff:	8b 10                	mov    (%eax),%edx
404001:	3b d6                	cmp    %esi,%edx
404003:	75 4b                	jne    0x404050
404005:	8b 48 04             	mov    0x4(%eax),%ecx
404008:	3b ce                	cmp    %esi,%ecx
40400a:	75 44                	jne    0x404050
40400c:	39 70 08             	cmp    %esi,0x8(%eax)
40400f:	75 09                	jne    0x40401a
404011:	39 70 0c             	cmp    %esi,0xc(%eax)