4358cc:	e8 6f 2c 00 00       	call   0x438540
4358d1:	83 3d 6c 1a 45 00 00 	cmpl   $0x0,0x451a6c
4358d8:	89 44 24 38          	mov    %eax,0x38(%esp)
4358dc:	8b 44 24 18          	mov    0x18(%esp),%eax
4358e0:	89 44 24 2c          	mov    %eax,0x2c(%esp)
4358e4:	8b 44 24 1c          	mov    0x1c(%esp),%eax
4358e8:	89 54 24 3c          	mov    %edx,0x3c(%esp)
4358ec:	8b 54 24 14          	mov    0x14(%esp),%edx
4358f0:	89 44 24 40          	mov    %eax,0x40(%esp)
4358f4:	8b 44 24 20          	mov    0x20(%esp),%eax
4358f8:	89 5c 24 30          	mov    %ebx,0x30(%esp)
4358fc:	89 44 24 44          	mov    %eax,0x44(%esp)
435900:	88 54 24 10          	mov    %dl,0x10(%esp)
435904:	89 74 24 34          	mov    %esi,0x34(%esp)
435908:	75 33                	jne    0x43593d
43590a:	83 3d 64 f0 44 00 01 	cmpl   $0x1,0x44f064
435911:	75 2a                	jne    0x43593d
435913:	8d 44 24 38          	lea    0x38(%esp),%eax
435917:	50                   	push   %eax
435918:	8d 44 24 30          	lea    0x30(%esp),%eax
43591c:	50                   	push   %eax
43591d:	8d 44 24 38          	lea    0x38(%esp),%eax
435921:	50                   	push   %eax
435922:	8d 44 24 4c          	lea    0x4c(%esp),%eax
435926:	50                   	push   %eax
435927:	8d 44 24 20          	lea    0x20(%esp),%eax
43592b:	50                   	push   %eax
43592c:	8d 44 24 48          	lea    0x48(%esp),%eax
435930:	50                   	push   %eax
435931:	6a 06                	push   $0x6
435933:	6a 48                	push   $0x48
435935:	e8 36 1a 01 00       	call   0x447370
43593a:	83 c4 20             	add    $0x20,%esp
43593d:	5f                   	pop    %edi
43593e:	5e                   	pop    %esi
43593f:	8b c3                	mov    %ebx,%eax
435941:	5b                   	pop    %ebx
435942:	8b e5                	mov    %ebp,%esp
435944:	5d                   	pop    %ebp
435945:	c3                   	ret
435946:	cc                   	int3
435947:	cc                   	int3
435948:	cc                   	int3
435949:	cc                   	int3
43594a:	cc                   	int3
43594b:	cc                   	int3
43594c:	cc                   	int3
43594d:	cc                   	int3
43594e:	cc                   	int3
43594f:	cc                   	int3
435950:	8b ff                	mov    %edi,%edi
435952:	55                   	push   %ebp
435953:	8b ec                	mov    %esp,%ebp
435955:	83 ec 24             	sub    $0x24,%esp
435958:	53                   	push   %ebx
435959:	56                   	push   %esi
43595a:	57                   	push   %edi
43595b:	e8 30 7c ff ff       	call   0x42d590
435960:	33 f6                	xor    %esi,%esi
435962:	89 45 f8             	mov    %eax,-0x8(%ebp)
435965:	89 55 f4             	mov    %edx,-0xc(%ebp)
435968:	bf 94 ff ff ff       	mov    $0xffffff94,%edi
43596d:	33 db                	xor    %ebx,%ebx
43596f:	89 7d fc             	mov    %edi,-0x4(%ebp)
435972:	b8 f0 14 45 00       	mov    $0x4514f0,%eax
435977:	85 f6                	test   %esi,%esi
435979:	75 10                	jne    0x43598b
43597b:	e8 80 78 ff ff       	call   0x42d200
435980:	8b 35 e8 14 45 00    	mov    0x4514e8,%esi
435986:	e9 76 01 00 00       	jmp    0x435b01
43598b:	8b c8                	mov    %eax,%ecx
43598d:	e8 1e 74 ff ff       	call   0x42cdb0
435992:	8b ce                	mov    %esi,%ecx
435994:	8b 76 04             	mov    0x4(%esi),%esi
435997:	e8 c4 99 ff ff       	call   0x42f360
43599c:	a1 f0 14 45 00       	mov    0x4514f0,%eax
4359a1:	25 ff 7f 00 00       	and    $0x7fff,%eax
4359a6:	3d ff 7f 00 00       	cmp    $0x7fff,%eax
4359ab:	75 17                	jne    0x4359c4
4359ad:	68 4f 1d 00 00       	push   $0x1d4f
4359b2:	68 44 18 41 00       	push   $0x411844
4359b7:	68 18 18 41 00       	push   $0x411818
4359bc:	e8 cf 28 ff ff       	call   0x428290
4359c1:	83 c4 0c             	add    $0xc,%esp
4359c4:	a1 f0 14 45 00       	mov    0x4514f0,%eax
4359c9:	25 00 00 ff ff       	and    $0xffff0000,%eax
4359ce:	3d 00 00 ff ff       	cmp    $0xffff0000,%eax
4359d3:	75 17                	jne    0x4359ec
4359d5:	68 50 1d 00 00       	push   $0x1d50
4359da:	68 44 18 41 00       	push   $0x411844
4359df:	68 6c 18 41 00       	push   $0x41186c
4359e4:	e8 a7 28 ff ff       	call   0x428290
4359e9:	83 c4 0c             	add    $0xc,%esp
4359ec:	bf 01 00 ff ff       	mov    $0xffff0001,%edi
4359f1:	b8 f0 14 45 00       	mov    $0x4514f0,%eax
4359f6:	f0 0f c1 38          	lock xadd %edi,(%eax)
4359fa:	a1 f0 14 45 00       	mov    0x4514f0,%eax
4359ff:	25 ff 7f 00 00       	and    $0x7fff,%eax
435a04:	3d ff 7f 00 00       	cmp    $0x7fff,%eax
435a09:	75 17                	jne    0x435a22
435a0b:	68 4f 1d 00 00       	push   $0x1d4f
435a10:	68 44 18 41 00       	push   $0x411844
435a15:	68 18 18 41 00       	push   $0x411818
435a1a:	e8 71 28 ff ff       	call   0x428290
435a1f:	83 c4 0c             	add    $0xc,%esp
435a22:	a1 f0 14 45 00       	mov    0x4514f0,%eax
435a27:	25 00 00 ff ff       	and    $0xffff0000,%eax
435a2c:	3d 00 00 ff ff       	cmp    $0xffff0000,%eax
435a31:	75 17                	jne    0x435a4a
435a33:	68 50 1d 00 00       	push   $0x1d50
435a38:	68 44 18 41 00       	push   $0x411844
435a3d:	68 6c 18 41 00       	push   $0x41186c
435a42:	e8 49 28 ff ff       	call   0x428290
435a47:	83 c4 0c             	add    $0xc,%esp
435a4a:	81 ff 00 00 02 00    	cmp    $0x20000,%edi
435a50:	72 5c                	jb     0x435aae
435a52:	a1 f0 14 45 00       	mov    0x4514f0,%eax
435a57:	25 ff 7f 00 00       	and    $0x7fff,%eax
435a5c:	3d ff 7f 00 00       	cmp    $0x7fff,%eax
435a61:	75 17                	jne    0x435a7a
435a63:	68 4f 1d 00 00       	push   $0x1d4f
435a68:	68 44 18 41 00       	push   $0x411844
435a6d:	68 18 18 41 00       	push   $0x411818
435a72:	e8 19 28 ff ff       	call   0x428290
435a77:	83 c4 0c             	add    $0xc,%esp
435a7a:	a1 f0 14 45 00       	mov    0x4514f0,%eax
435a7f:	25 00 00 ff ff       	and    $0xffff0000,%eax
435a84:	3d 00 00 ff ff       	cmp    $0xffff0000,%eax
435a89:	75 17                	jne    0x435aa2
435a8b:	68 50 1d 00 00       	push   $0x1d50
435a90:	68 44 18 41 00       	push   $0x411844
435a95:	68 6c 18 41 00       	push   $0x41186c
435a9a:	e8 f1 27 ff ff       	call   0x428290
435a9f:	83 c4 0c             	add    $0xc,%esp
435aa2:	6a 01                	push   $0x1
435aa4:	b9 fc 14 45 00       	mov    $0x4514fc,%ecx
435aa9:	e8 92 f3 fd ff       	call   0x414e40
435aae:	a1 f0 14 45 00       	mov    0x4514f0,%eax
435ab3:	25 ff 7f 00 00       	and    $0x7fff,%eax
435ab8:	3d ff 7f 00 00       	cmp    $0x7fff,%eax
435abd:	75 17                	jne    0x435ad6
435abf:	68 4f 1d 00 00       	push   $0x1d4f
435ac4:	68 44 18 41 00       	push   $0x411844
435ac9:	68 18 18 41 00       	push   $0x411818
435ace:	e8 bd 27 ff ff       	call   0x428290
435ad3:	83 c4 0c             	add    $0xc,%esp
435ad6:	a1 f0 14 45 00       	mov    0x4514f0,%eax
435adb:	25 00 00 ff ff       	and    $0xffff0000,%eax
435ae0:	3d 00 00 ff ff       	cmp    $0xffff0000,%eax
435ae5:	75 17                	jne    0x435afe
435ae7:	68 50 1d 00 00       	push   $0x1d50
435aec:	68 44 18 41 00       	push   $0x411844
435af1:	68 6c 18 41 00       	push   $0x41186c
435af6:	e8 95 27 ff ff       	call   0x428290
435afb:	83 c4 0c             	add    $0xc,%esp
435afe:	8b 7d fc             	mov    -0x4(%ebp),%edi
435b01:	85 f6                	test   %esi,%esi
435b03:	74 0c                	je     0x435b11
435b05:	b9 01 00 00 00       	mov    $0x1,%ecx
435b0a:	8d 46 0c             	lea    0xc(%esi),%eax
435b0d:	f0 0f c1 08          	lock xadd %ecx,(%eax)
435b11:	e8 0a 76 ff ff       	call   0x42d120
435b16:	85 f6                	test   %esi,%esi
435b18:	74 11                	je     0x435b2b
435b1a:	33 d2                	xor    %edx,%edx
435b1c:	8b ce                	mov    %esi,%ecx
435b1e:	e8 1d fb ff ff       	call   0x435640
435b23:	8b f8                	mov    %eax,%edi
435b25:	43                   	inc    %ebx
435b26:	e9 44 fe ff ff       	jmp    0x43596f
435b2b:	e8 00 7a ff ff       	call   0x42d530
435b30:	52                   	push   %edx
435b31:	50                   	push   %eax
435b32:	e8 59 7a ff ff       	call   0x42d590
435b37:	2b 45 f8             	sub    -0x8(%ebp),%eax
435b3a:	1b 55 f4             	sbb    -0xc(%ebp),%edx
435b3d:	52                   	push   %edx
435b3e:	50                   	push   %eax
435b3f:	e8 fc 29 00 00       	call   0x438540
435b44:	83 3d 6c 1a 45 00 00 	cmpl   $0x0,0x451a6c
435b4b:	89 45 e0             	mov    %eax,-0x20(%ebp)
435b4e:	89 55 e4             	mov    %edx,-0x1c(%ebp)
435b51:	89 5d f0             	mov    %ebx,-0x10(%ebp)
435b54:	89 7d ec             	mov    %edi,-0x14(%ebp)
435b57:	75 21                	jne    0x435b7a
435b59:	83 3d 64 f0 44 00 01 	cmpl   $0x1,0x44f064
435b60:	75 18                	jne    0x435b7a
435b62:	8d 45 e0             	lea    -0x20(%ebp),%eax
435b65:	50                   	push   %eax
435b66:	8d 45 f0             	lea    -0x10(%ebp),%eax
435b69:	50                   	push   %eax
435b6a:	8d 45 ec             	lea    -0x14(%ebp),%eax
435b6d:	50                   	push   %eax
435b6e:	6a 03                	push   $0x3
435b70:	6a 49                	push   $0x49
435b72:	e8 f9 17 01 00       	call   0x447370
435b77:	83 c4 14             	add    $0x14,%esp
435b7a:	5f                   	pop    %edi
435b7b:	5e                   	pop    %esi
435b7c:	5b                   	pop    %ebx
435b7d:	8b e5                	mov    %ebp,%esp
435b7f:	5d                   	pop    %ebp
435b80:	c3                   	ret
435b81:	cc                   	int3
435b82:	cc                   	int3
435b83:	cc                   	int3
435b84:	cc                   	int3
435b85:	cc                   	int3
435b86:	cc                   	int3
435b87:	cc                   	int3
435b88:	cc                   	int3
435b89:	cc                   	int3
435b8a:	cc                   	int3
435b8b:	cc                   	int3
435b8c:	cc                   	int3
435b8d:	cc                   	int3
435b8e:	cc                   	int3
435b8f:	cc                   	int3
435b90:	8b ff                	mov    %edi,%edi
435b92:	55                   	push   %ebp
435b93:	8b ec                	mov    %esp,%ebp
435b95:	83 e4 f8             	and    $0xfffffff8,%esp
435b98:	83 3d 6c 1a 45 00 00 	cmpl   $0x0,0x451a6c
435b9f:	75 15                	jne    0x435bb6
435ba1:	83 3d 64 f0 44 00 01 	cmpl   $0x1,0x44f064
435ba8:	75 0c                	jne    0x435bb6
435baa:	6a 00                	push   $0x0
435bac:	6a 47                	push   $0x47
435bae:	e8 bd 17 01 00       	call   0x447370
435bb3:	83 c4 08             	add    $0x8,%esp
435bb6:	e8 35 81 00 00       	call   0x43dcf0
435bbb:	83 48 10 02          	orl    $0x2,0x10(%eax)
435bbf:	e8 8c fd ff ff       	call   0x435950
435bc4:	e8 27 81 00 00       	call   0x43dcf0
435bc9:	83 60 10 fd          	andl   $0xfffffffd,0x10(%eax)
435bcd:	8b e5                	mov    %ebp,%esp
435bcf:	5d                   	pop    %ebp
435bd0:	c2 10 00             	ret    $0x10
435bd3:	cc                   	int3
435bd4:	cc                   	int3
435bd5:	cc                   	int3
435bd6:	cc                   	int3
435bd7:	cc                   	int3
435bd8:	cc                   	int3
435bd9:	cc                   	int3
435bda:	cc                   	int3
435bdb:	cc                   	int3
435bdc:	cc                   	int3
435bdd:	cc                   	int3
435bde:	cc                   	int3
435bdf:	cc                   	int3
435be0:	8b ff                	mov    %edi,%edi
435be2:	55                   	push   %ebp
435be3:	8b ec                	mov    %esp,%ebp
435be5:	81 ec b4 04 00 00    	sub    $0x4b4,%esp
435beb:	a1 e4 f8 44 00       	mov    0x44f8e4,%eax
435bf0:	33 c5                	xor    %ebp,%eax
435bf2:	89 45 fc             	mov    %eax,-0x4(%ebp)
435bf5:	53                   	push   %ebx
435bf6:	56                   	push   %esi
435bf7:	57                   	push   %edi
435bf8:	8b 7d 08             	mov    0x8(%ebp),%edi
435bfb:	8d 8d 70 fb ff ff    	lea    -0x490(%ebp),%ecx
435c01:	51                   	push   %ecx
435c02:	89 95 64 fb ff ff    	mov    %edx,-0x49c(%ebp)
435c08:	8b 07                	mov    (%edi),%eax
435c0a:	8b 70 08             	mov    0x8(%eax),%esi
435c0d:	8b ce                	mov    %esi,%ecx
435c0f:	ff 15 84 23 45 00    	call   *0x452384
435c15:	8b cf                	mov    %edi,%ecx
435c17:	ff d6                	call   *%esi
435c19:	8b 4d 10             	mov    0x10(%ebp),%ecx
435c1c:	8b 45 0c             	mov    0xc(%ebp),%eax
435c1f:	51                   	push   %ecx
435c20:	50                   	push   %eax
435c21:	51                   	push   %ecx
435c22:	50                   	push   %eax
435c23:	68 bc 19 41 00       	push   $0x4119bc
435c28:	8d 85 78 ff ff ff    	lea    -0x88(%ebp),%eax
435c2e:	68 80 00 00 00       	push   $0x80
435c33:	50                   	push   %eax
435c34:	e8 67 32 ff ff       	call   0x428ea0
435c39:	8b 45 14             	mov    0x14(%ebp),%eax
435c3c:	83 c4 1c             	add    $0x1c,%esp
435c3f:	50                   	push   %eax
435c40:	50                   	push   %eax
435c41:	68 e4 19 41 00       	push   $0x4119e4
435c46:	8d 85 f8 fe ff ff    	lea    -0x108(%ebp),%eax
435c4c:	68 80 00 00 00       	push   $0x80
435c51:	50                   	push   %eax
435c52:	e8 49 32 ff ff       	call   0x428ea0
435c57:	8b 45 20             	mov    0x20(%ebp),%eax
435c5a:	bb 77 be 9f 1a       	mov    $0x1a9fbe77,%ebx
435c5f:	f7 e3                	mul    %ebx
435c61:	bf 2f dd 24 06       	mov    $0x624dd2f,%edi
435c66:	83 c4 14             	add    $0x14,%esp
435c69:	89 85 58 fb ff ff    	mov    %eax,-0x4a8(%ebp)
435c6f:	8b f2                	mov    %edx,%esi
435c71:	8b 45 20             	mov    0x20(%ebp),%eax
435c74:	f7 e7                	mul    %edi
435c76:	8b f8                	mov    %eax,%edi
435c78:	89 95 68 fb ff ff    	mov    %edx,-0x498(%ebp)
435c7e:	8b 45 24             	mov    0x24(%ebp),%eax
435c81:	f7 e3                	mul    %ebx
435c83:	8b c8                	mov    %eax,%ecx
435c85:	8b da                	mov    %edx,%ebx
435c87:	8b 45 24             	mov    0x24(%ebp),%eax
435c8a:	ba 2f dd 24 06       	mov    $0x624dd2f,%edx
435c8f:	f7 e2                	mul    %edx
435c91:	03 ce                	add    %esi,%ecx
435c93:	89 85 5c fb ff ff    	mov    %eax,-0x4a4(%ebp)
435c99:	83 d3 00             	adc    $0x0,%ebx
435c9c:	03 f9                	add    %ecx,%edi
435c9e:	8b 8d 68 fb ff ff    	mov    -0x498(%ebp),%ecx
435ca4:	83 d1 00             	adc    $0x0,%ecx
435ca7:	89 bd 50 fb ff ff    	mov    %edi,-0x4b0(%ebp)
435cad:	8b 7d 24             	mov    0x24(%ebp),%edi
435cb0:	33 c0                	xor    %eax,%eax
435cb2:	03 d9                	add    %ecx,%ebx
435cb4:	8b 8d 5c fb ff ff    	mov    -0x4a4(%ebp),%ecx
435cba:	13 c0                	adc    %eax,%eax
435cbc:	03 cb                	add    %ebx,%ecx
435cbe:	8b 5d 20             	mov    0x20(%ebp),%ebx
435cc1:	13 d0                	adc    %eax,%edx
435cc3:	2b d9                	sub    %ecx,%ebx
435cc5:	1b fa                	sbb    %edx,%edi
435cc7:	0f ac fb 01          	shrd   $0x1,%edi,%ebx
435ccb:	d1 ef                	shr    $1,%edi
435ccd:	03 d9                	add    %ecx,%ebx
435ccf:	b9 e8 03 00 00       	mov    $0x3e8,%ecx
435cd4:	13 fa                	adc    %edx,%edi
435cd6:	0f ac fb 09          	shrd   $0x9,%edi,%ebx
435cda:	c1 ef 09             	shr    $0x9,%edi
435cdd:	8b c7                	mov    %edi,%eax
435cdf:	f7 e1                	mul    %ecx
435ce1:	8b f0                	mov    %eax,%esi
435ce3:	8b c3                	mov    %ebx,%eax
435ce5:	f7 e1                	mul    %ecx
435ce7:	03 f2                	add    %edx,%esi
435ce9:	8b 55 20             	mov    0x20(%ebp),%edx
435cec:	8b 4d 24             	mov    0x24(%ebp),%ecx
435cef:	2b d0                	sub    %eax,%edx
435cf1:	8d 85 78 fe ff ff    	lea    -0x188(%ebp),%eax
435cf7:	1b ce                	sbb    %esi,%ecx
435cf9:	51                   	push   %ecx
435cfa:	52                   	push   %edx
435cfb:	57                   	push   %edi
435cfc:	53                   	push   %ebx
435cfd:	68 fc 26 41 00       	push   $0x4126fc
435d02:	68 80 00 00 00       	push   $0x80