437da7:	85 c0                	test   %eax,%eax
437da9:	74 d9                	je     0x437d84
437dab:	c7 00 01 00 00 00    	movl   $0x1,(%eax)
437db1:	eb d1                	jmp    0x437d84
437db3:	8d 4d 0c             	lea    0xc(%ebp),%ecx
437db6:	89 75 0c             	mov    %esi,0xc(%ebp)
437db9:	51                   	push   %ecx
437dba:	56                   	push   %esi
437dbb:	57                   	push   %edi
437dbc:	53                   	push   %ebx
437dbd:	6a 01                	push   $0x1
437dbf:	8d 4d 14             	lea    0x14(%ebp),%ecx
437dc2:	51                   	push   %ecx
437dc3:	56                   	push   %esi
437dc4:	ff 70 04             	push   0x4(%eax)
437dc7:	ff 15 ac f1 48 00    	call   *0x48f1ac
437dcd:	8b c8                	mov    %eax,%ecx
437dcf:	85 c9                	test   %ecx,%ecx
437dd1:	74 10                	je     0x437de3
437dd3:	39 75 0c             	cmp    %esi,0xc(%ebp)
437dd6:	75 9a                	jne    0x437d72
437dd8:	8b 45 08             	mov    0x8(%ebp),%eax
437ddb:	85 c0                	test   %eax,%eax
437ddd:	74 a5                	je     0x437d84
437ddf:	89 08                	mov    %ecx,(%eax)
437de1:	eb a1                	jmp    0x437d84
437de3:	ff 15 40 f3 48 00    	call   *0x48f340
437de9:	83 f8 7a             	cmp    $0x7a,%eax
437dec:	75 84                	jne    0x437d72
437dee:	85 db                	test   %ebx,%ebx
437df0:	74 0f                	je     0x437e01
437df2:	85 ff                	test   %edi,%edi
437df4:	74 0b                	je     0x437e01
437df6:	57                   	push   %edi
437df7:	56                   	push   %esi
437df8:	53                   	push   %ebx
437df9:	e8 22 b2 fe ff       	call   0x423020
437dfe:	83 c4 0c             	add    $0xc,%esp
437e01:	e8 62 0f ff ff       	call   0x428d68
437e06:	6a 22                	push   $0x22
437e08:	5e                   	pop    %esi
437e09:	89 30                	mov    %esi,(%eax)
437e0b:	e8 e6 11 ff ff       	call   0x428ff6
437e10:	e9 6f ff ff ff       	jmp    0x437d84
437e15:	55                   	push   %ebp
437e16:	8b ec                	mov    %esp,%ebp
437e18:	6a 00                	push   $0x0
437e1a:	ff 75 14             	push   0x14(%ebp)
437e1d:	ff 75 10             	push   0x10(%ebp)
437e20:	ff 75 0c             	push   0xc(%ebp)
437e23:	ff 75 08             	push   0x8(%ebp)
437e26:	e8 c6 fe ff ff       	call   0x437cf1
437e2b:	83 c4 14             	add    $0x14,%esp
437e2e:	5d                   	pop    %ebp
437e2f:	c3                   	ret
437e30:	53                   	push   %ebx
437e31:	8b dc                	mov    %esp,%ebx
437e33:	51                   	push   %ecx
437e34:	51                   	push   %ecx
437e35:	83 e4 f0             	and    $0xfffffff0,%esp
437e38:	83 c4 04             	add    $0x4,%esp
437e3b:	55                   	push   %ebp
437e3c:	8b 6b 04             	mov    0x4(%ebx),%ebp
437e3f:	89 6c 24 04          	mov    %ebp,0x4(%esp)
437e43:	8b ec                	mov    %esp,%ebp
437e45:	81 ec 88 00 00 00    	sub    $0x88,%esp
437e4b:	a1 50 fd 4b 00       	mov    0x4bfd50,%eax
437e50:	33 c5                	xor    %ebp,%eax
437e52:	89 45 fc             	mov    %eax,-0x4(%ebp)
437e55:	8b 43 10             	mov    0x10(%ebx),%eax
437e58:	56                   	push   %esi
437e59:	8b 73 0c             	mov    0xc(%ebx),%esi
437e5c:	57                   	push   %edi
437e5d:	0f b7 08             	movzwl (%eax),%ecx
437e60:	89 8d 7c ff ff ff    	mov    %ecx,-0x84(%ebp)
437e66:	8b 06                	mov    (%esi),%eax
437e68:	48                   	dec    %eax
437e69:	74 2b                	je     0x437e96
437e6b:	48                   	dec    %eax
437e6c:	74 24                	je     0x437e92
437e6e:	48                   	dec    %eax
437e6f:	74 1d                	je     0x437e8e
437e71:	48                   	dec    %eax
437e72:	74 16                	je     0x437e8a
437e74:	48                   	dec    %eax
437e75:	74 1f                	je     0x437e96
437e77:	48                   	dec    %eax
437e78:	48                   	dec    %eax
437e79:	74 07                	je     0x437e82
437e7b:	48                   	dec    %eax
437e7c:	75 7a                	jne    0x437ef8
437e7e:	6a 10                	push   $0x10
437e80:	eb 16                	jmp    0x437e98
437e82:	c7 06 01 00 00 00    	movl   $0x1,(%esi)
437e88:	eb 6e                	jmp    0x437ef8
437e8a:	6a 12                	push   $0x12
437e8c:	eb 0a                	jmp    0x437e98
437e8e:	6a 11                	push   $0x11
437e90:	eb 06                	jmp    0x437e98
437e92:	6a 04                	push   $0x4
437e94:	eb 02                	jmp    0x437e98
437e96:	6a 08                	push   $0x8
437e98:	5f                   	pop    %edi
437e99:	51                   	push   %ecx
437e9a:	8d 46 18             	lea    0x18(%esi),%eax
437e9d:	50                   	push   %eax
437e9e:	57                   	push   %edi
437e9f:	e8 6e 4c ff ff       	call   0x42cb12
437ea4:	83 c4 0c             	add    $0xc,%esp
437ea7:	85 c0                	test   %eax,%eax
437ea9:	75 47                	jne    0x437ef2
437eab:	8b 4b 08             	mov    0x8(%ebx),%ecx
437eae:	83 f9 10             	cmp    $0x10,%ecx
437eb1:	74 10                	je     0x437ec3
437eb3:	83 f9 16             	cmp    $0x16,%ecx
437eb6:	74 0b                	je     0x437ec3
437eb8:	83 f9 1d             	cmp    $0x1d,%ecx
437ebb:	74 06                	je     0x437ec3
437ebd:	83 65 c0 fe          	andl   $0xfffffffe,-0x40(%ebp)
437ec1:	eb 12                	jmp    0x437ed5
437ec3:	8b 45 c0             	mov    -0x40(%ebp),%eax
437ec6:	dd 46 10             	fldl   0x10(%esi)
437ec9:	83 e0 e3             	and    $0xffffffe3,%eax
437ecc:	83 c8 03             	or     $0x3,%eax
437ecf:	dd 5d b0             	fstpl  -0x50(%ebp)
437ed2:	89 45 c0             	mov    %eax,-0x40(%ebp)
437ed5:	8d 46 18             	lea    0x18(%esi),%eax
437ed8:	50                   	push   %eax
437ed9:	8d 46 08             	lea    0x8(%esi),%eax
437edc:	50                   	push   %eax
437edd:	51                   	push   %ecx
437ede:	57                   	push   %edi
437edf:	8d 85 7c ff ff ff    	lea    -0x84(%ebp),%eax
437ee5:	50                   	push   %eax
437ee6:	8d 45 80             	lea    -0x80(%ebp),%eax
437ee9:	50                   	push   %eax
437eea:	e8 51 4e ff ff       	call   0x42cd40
437eef:	83 c4 18             	add    $0x18,%esp
437ef2:	8b 8d 7c ff ff ff    	mov    -0x84(%ebp),%ecx
437ef8:	68 ff ff 00 00       	push   $0xffff
437efd:	51                   	push   %ecx
437efe:	e8 97 52 ff ff       	call   0x42d19a
437f03:	83 3e 08             	cmpl   $0x8,(%esi)
437f06:	59                   	pop    %ecx
437f07:	59                   	pop    %ecx
437f08:	74 14                	je     0x437f1e
437f0a:	83 3d fc 03 4c 00 00 	cmpl   $0x0,0x4c03fc
437f11:	75 0b                	jne    0x437f1e
437f13:	56                   	push   %esi
437f14:	e8 92 fd ff ff       	call   0x437cab
437f19:	59                   	pop    %ecx
437f1a:	85 c0                	test   %eax,%eax
437f1c:	75 08                	jne    0x437f26
437f1e:	ff 36                	push   (%esi)
437f20:	e8 21 51 ff ff       	call   0x42d046
437f25:	59                   	pop    %ecx
437f26:	8b 4d fc             	mov    -0x4(%ebp),%ecx
437f29:	5f                   	pop    %edi
437f2a:	33 cd                	xor    %ebp,%ecx
437f2c:	5e                   	pop    %esi
437f2d:	e8 04 49 ff ff       	call   0x42c836
437f32:	8b e5                	mov    %ebp,%esp
437f34:	5d                   	pop    %ebp
437f35:	8b e3                	mov    %ebx,%esp
437f37:	5b                   	pop    %ebx
437f38:	c3                   	ret
437f39:	55                   	push   %ebp
437f3a:	8b ec                	mov    %esp,%ebp
437f3c:	51                   	push   %ecx
437f3d:	51                   	push   %ecx
437f3e:	dd 45 08             	fldl   0x8(%ebp)
437f41:	d9 fc                	frndint
437f43:	dd 5d f8             	fstpl  -0x8(%ebp)
437f46:	dd 45 f8             	fldl   -0x8(%ebp)
437f49:	8b e5                	mov    %ebp,%esp
437f4b:	5d                   	pop    %ebp
437f4c:	c3                   	ret
437f4d:	55                   	push   %ebp
437f4e:	8b ec                	mov    %esp,%ebp
437f50:	83 ec 18             	sub    $0x18,%esp
437f53:	e8 41 21 ff ff       	call   0x42a099
437f58:	85 c0                	test   %eax,%eax
437f5a:	74 57                	je     0x437fb3
437f5c:	68 7c 0e 4a 00       	push   $0x4a0e7c
437f61:	68 70 33 49 00       	push   $0x493370
437f66:	ff 15 b8 f1 48 00    	call   *0x48f1b8
437f6c:	50                   	push   %eax
437f6d:	ff 15 a0 f1 48 00    	call   *0x48f1a0
437f73:	8b c8                	mov    %eax,%ecx
437f75:	85 c9                	test   %ecx,%ecx
437f77:	75 05                	jne    0x437f7e
437f79:	83 c8 ff             	or     $0xffffffff,%eax
437f7c:	eb 53                	jmp    0x437fd1
437f7e:	8b 45 1c             	mov    0x1c(%ebp),%eax
437f81:	83 65 f4 00          	andl   $0x0,-0xc(%ebp)
437f85:	83 65 fc 00          	andl   $0x0,-0x4(%ebp)
437f89:	89 45 ec             	mov    %eax,-0x14(%ebp)
437f8c:	8b 45 20             	mov    0x20(%ebp),%eax
437f8f:	89 45 f0             	mov    %eax,-0x10(%ebp)
437f92:	8b 45 14             	mov    0x14(%ebp),%eax
437f95:	89 45 f8             	mov    %eax,-0x8(%ebp)
437f98:	8d 45 e8             	lea    -0x18(%ebp),%eax
437f9b:	50                   	push   %eax
437f9c:	ff 75 18             	push   0x18(%ebp)
437f9f:	c7 45 e8 18 00 00 00 	movl   $0x18,-0x18(%ebp)
437fa6:	ff 75 10             	push   0x10(%ebp)
437fa9:	ff 75 0c             	push   0xc(%ebp)
437fac:	ff 75 08             	push   0x8(%ebp)
437faf:	ff d1                	call   *%ecx
437fb1:	eb 1e                	jmp    0x437fd1
437fb3:	8b 45 1c             	mov    0x1c(%ebp),%eax
437fb6:	0b 45 20             	or     0x20(%ebp),%eax
437fb9:	6a 00                	push   $0x0
437fbb:	50                   	push   %eax
437fbc:	ff 75 18             	push   0x18(%ebp)
437fbf:	ff 75 14             	push   0x14(%ebp)
437fc2:	ff 75 10             	push   0x10(%ebp)
437fc5:	ff 75 0c             	push   0xc(%ebp)
437fc8:	ff 75 08             	push   0x8(%ebp)
437fcb:	ff 15 d4 f1 48 00    	call   *0x48f1d4
437fd1:	8b e5                	mov    %ebp,%esp
437fd3:	5d                   	pop    %ebp
437fd4:	c3                   	ret
437fd5:	6a 14                	push   $0x14
437fd7:	68 b0 c0 4b 00       	push   $0x4bc0b0
437fdc:	e8 5f 0b ff ff       	call   0x428b40
437fe1:	33 c9                	xor    %ecx,%ecx
437fe3:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
437fe6:	89 4d e0             	mov    %ecx,-0x20(%ebp)
437fe9:	33 c0                	xor    %eax,%eax
437feb:	8b 75 18             	mov    0x18(%ebp),%esi
437fee:	85 f6                	test   %esi,%esi
437ff0:	0f 95 c0             	setne  %al
437ff3:	85 c0                	test   %eax,%eax
437ff5:	75 13                	jne    0x43800a
437ff7:	e8 6c 0d ff ff       	call   0x428d68
437ffc:	6a 16                	push   $0x16
437ffe:	5e                   	pop    %esi
437fff:	89 30                	mov    %esi,(%eax)
438001:	e8 f0 0f ff ff       	call   0x428ff6
438006:	8b c6                	mov    %esi,%eax
438008:	eb 5c                	jmp    0x438066
43800a:	83 0e ff             	orl    $0xffffffff,(%esi)
43800d:	33 c0                	xor    %eax,%eax
43800f:	39 45 08             	cmp    %eax,0x8(%ebp)
438012:	0f 95 c0             	setne  %al
438015:	85 c0                	test   %eax,%eax
438017:	74 de                	je     0x437ff7
438019:	39 4d 1c             	cmp    %ecx,0x1c(%ebp)
43801c:	74 0f                	je     0x43802d
43801e:	8b 45 14             	mov    0x14(%ebp),%eax
438021:	25 7f fe ff ff       	and    $0xfffffe7f,%eax
438026:	f7 d8                	neg    %eax
438028:	1b c0                	sbb    %eax,%eax
43802a:	40                   	inc    %eax
43802b:	74 ca                	je     0x437ff7
43802d:	89 4d fc             	mov    %ecx,-0x4(%ebp)
438030:	ff 75 1c             	push   0x1c(%ebp)
438033:	ff 75 14             	push   0x14(%ebp)
438036:	ff 75 10             	push   0x10(%ebp)
438039:	ff 75 0c             	push   0xc(%ebp)
43803c:	ff 75 08             	push   0x8(%ebp)
43803f:	56                   	push   %esi
438040:	8d 45 e0             	lea    -0x20(%ebp),%eax
438043:	50                   	push   %eax
438044:	e8 55 00 00 00       	call   0x43809e
438049:	83 c4 1c             	add    $0x1c,%esp
43804c:	8b f8                	mov    %eax,%edi
43804e:	89 7d e4             	mov    %edi,-0x1c(%ebp)
438051:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
438058:	e8 15 00 00 00       	call   0x438072
43805d:	85 ff                	test   %edi,%edi
43805f:	74 03                	je     0x438064
438061:	83 0e ff             	orl    $0xffffffff,(%esi)
438064:	8b c7                	mov    %edi,%eax
438066:	e8 1a 0b ff ff       	call   0x428b85
43806b:	c3                   	ret
43806c:	8b 75 18             	mov    0x18(%ebp),%esi
43806f:	8b 7d e4             	mov    -0x1c(%ebp),%edi
438072:	83 7d e0 00          	cmpl   $0x0,-0x20(%ebp)
438076:	74 25                	je     0x43809d
438078:	85 ff                	test   %edi,%edi
43807a:	74 19                	je     0x438095
43807c:	8b 0e                	mov    (%esi),%ecx
43807e:	8b c1                	mov    %ecx,%eax
438080:	c1 f8 05             	sar    $0x5,%eax
438083:	83 e1 1f             	and    $0x1f,%ecx
438086:	c1 e1 06             	shl    $0x6,%ecx
438089:	8b 04 85 e0 49 4c 00 	mov    0x4c49e0(,%eax,4),%eax
438090:	80 64 08 04 fe       	andb   $0xfe,0x4(%eax,%ecx,1)
438095:	ff 36                	push   (%esi)
438097:	e8 50 57 ff ff       	call   0x42d7ec
43809c:	59                   	pop    %ecx
43809d:	c3                   	ret
43809e:	55                   	push   %ebp
43809f:	8b ec                	mov    %esp,%ebp
4380a1:	83 ec 38             	sub    $0x38,%esp
4380a4:	53                   	push   %ebx
4380a5:	33 db                	xor    %ebx,%ebx
4380a7:	c7 45 c8 0c 00 00 00 	movl   $0xc,-0x38(%ebp)
4380ae:	f6 45 14 80          	testb  $0x80,0x14(%ebp)
4380b2:	57                   	push   %edi
4380b3:	89 5d e0             	mov    %ebx,-0x20(%ebp)
4380b6:	88 5d fe             	mov    %bl,-0x2(%ebp)
4380b9:	89 5d cc             	mov    %ebx,-0x34(%ebp)
4380bc:	74 09                	je     0x4380c7
4380be:	89 5d d0             	mov    %ebx,-0x30(%ebp)
4380c1:	c6 45 ff 10          	movb   $0x10,-0x1(%ebp)
4380c5:	eb 0a                	jmp    0x4380d1
4380c7:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
4380ce:	88 5d ff             	mov    %bl,-0x1(%ebp)
4380d1:	8d 45 e0             	lea    -0x20(%ebp),%eax
4380d4:	50                   	push   %eax
4380d5:	e8 40 c6 fe ff       	call   0x42471a
4380da:	59                   	pop    %ecx
4380db:	85 c0                	test   %eax,%eax
4380dd:	0f 85 03 07 00 00    	jne    0x4387e6
4380e3:	8b 4d 14             	mov    0x14(%ebp),%ecx
4380e6:	b8 00 80 00 00       	mov    $0x8000,%eax
4380eb:	85 c8                	test   %ecx,%eax
4380ed:	75 11                	jne    0x438100
4380ef:	f7 c1 00 40 07 00    	test   $0x74000,%ecx
4380f5:	75 05                	jne    0x4380fc
4380f7:	39 45 e0             	cmp    %eax,-0x20(%ebp)
4380fa:	74 04                	je     0x438100
4380fc:	80 4d ff 80          	orb    $0x80,-0x1(%ebp)
438100:	8b c1                	mov    %ecx,%eax
438102:	ba 00 00 00 c0       	mov    $0xc0000000,%edx
438107:	83 e0 03             	and    $0x3,%eax
43810a:	2b c3                	sub    %ebx,%eax
43810c:	74 48                	je     0x438156
43810e:	48                   	dec    %eax
43810f:	74 2a                	je     0x43813b
438111:	48                   	dec    %eax
438112:	74 23                	je     0x438137
438114:	e8 1b 0c ff ff       	call   0x428d34
438119:	89 18                	mov    %ebx,(%eax)
43811b:	8b 45 0c             	mov    0xc(%ebp),%eax
43811e:	83 08 ff             	orl    $0xffffffff,(%eax)
438121:	e8 42 0c ff ff       	call   0x428d68
438126:	6a 16                	push   $0x16
438128:	5b                   	pop    %ebx
438129:	89 18                	mov    %ebx,(%eax)
43812b:	e8 c6 0e ff ff       	call   0x428ff6
438130:	8b c3                	mov    %ebx,%eax
438132:	e9 91 01 00 00       	jmp    0x4382c8
438137:	8b fa                	mov    %edx,%edi
438139:	eb 20                	jmp    0x43815b
43813b:	f6 c1 08             	test   $0x8,%cl
43813e:	74 0f                	je     0x43814f