436a56:	74 0e                	je     0x436a66
436a58:	ff 15 b4 21 45 00    	call   *0x4521b4
436a5e:	3b 05 64 1a 45 00    	cmp    0x451a64,%eax
436a64:	75 41                	jne    0x436aa7
436a66:	e8 c5 36 ff ff       	call   0x42a130
436a6b:	85 c0                	test   %eax,%eax
436a6d:	74 03                	je     0x436a72
436a6f:	ff 40 18             	incl   0x18(%eax)
436a72:	ff 74 24 0c          	push   0xc(%esp)
436a76:	56                   	push   %esi
436a77:	53                   	push   %ebx
436a78:	68 cc 26 41 00       	push   $0x4126cc
436a7d:	e8 4e 41 ff ff       	call   0x42abd0
436a82:	83 c4 10             	add    $0x10,%esp
436a85:	8b d0                	mov    %eax,%edx
436a87:	b9 29 00 00 00       	mov    $0x29,%ecx
436a8c:	e8 4f 3f ff ff       	call   0x42a9e0
436a91:	e8 9a 36 ff ff       	call   0x42a130
436a96:	85 c0                	test   %eax,%eax
436a98:	74 0d                	je     0x436aa7
436a9a:	83 40 18 ff          	addl   $0xffffffff,0x18(%eax)
436a9e:	75 07                	jne    0x436aa7
436aa0:	8b c8                	mov    %eax,%ecx
436aa2:	e8 a9 35 ff ff       	call   0x42a050
436aa7:	83 7c 24 0c 00       	cmpl   $0x0,0xc(%esp)
436aac:	0f 84 b9 01 00 00    	je     0x436c6b
436ab2:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
436ab8:	8b 4f 0c             	mov    0xc(%edi),%ecx
436abb:	8b 70 10             	mov    0x10(%eax),%esi
436abe:	33 c0                	xor    %eax,%eax
436ac0:	03 47 08             	add    0x8(%edi),%eax
436ac3:	89 74 24 18          	mov    %esi,0x18(%esp)
436ac7:	83 d1 00             	adc    $0x0,%ecx
436aca:	89 44 24 10          	mov    %eax,0x10(%esp)
436ace:	83 7f 1c 00          	cmpl   $0x0,0x1c(%edi)
436ad2:	89 4c 24 0c          	mov    %ecx,0xc(%esp)
436ad6:	75 0a                	jne    0x436ae2
436ad8:	83 7f 7c 00          	cmpl   $0x0,0x7c(%edi)
436adc:	75 04                	jne    0x436ae2
436ade:	33 ff                	xor    %edi,%edi
436ae0:	eb 09                	jmp    0x436aeb
436ae2:	8b cf                	mov    %edi,%ecx
436ae4:	e8 87 17 00 00       	call   0x438270
436ae9:	8b f8                	mov    %eax,%edi
436aeb:	8b 16                	mov    (%esi),%edx
436aed:	8d 84 24 80 04 00 00 	lea    0x480(%esp),%eax
436af4:	50                   	push   %eax
436af5:	8b 72 08             	mov    0x8(%edx),%esi
436af8:	8b ce                	mov    %esi,%ecx
436afa:	ff 15 84 23 45 00    	call   *0x452384
436b00:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
436b04:	ff d6                	call   *%esi
436b06:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
436b0a:	8b 44 24 10          	mov    0x10(%esp),%eax
436b0e:	51                   	push   %ecx
436b0f:	50                   	push   %eax
436b10:	51                   	push   %ecx
436b11:	50                   	push   %eax
436b12:	68 bc 19 41 00       	push   $0x4119bc
436b17:	8d 84 24 14 02 00 00 	lea    0x214(%esp),%eax
436b1e:	68 80 00 00 00       	push   $0x80
436b23:	50                   	push   %eax
436b24:	e8 77 23 ff ff       	call   0x428ea0
436b29:	83 c4 1c             	add    $0x1c,%esp
436b2c:	8d 84 24 80 02 00 00 	lea    0x280(%esp),%eax
436b33:	57                   	push   %edi
436b34:	57                   	push   %edi
436b35:	68 e4 19 41 00       	push   $0x4119e4
436b3a:	68 80 00 00 00       	push   $0x80
436b3f:	50                   	push   %eax
436b40:	e8 5b 23 ff ff       	call   0x428ea0
436b45:	8b c3                	mov    %ebx,%eax
436b47:	b9 77 be 9f 1a       	mov    $0x1a9fbe77,%ecx
436b4c:	f7 e1                	mul    %ecx
436b4e:	bf 2f dd 24 06       	mov    $0x624dd2f,%edi
436b53:	83 c4 14             	add    $0x14,%esp
436b56:	89 44 24 60          	mov    %eax,0x60(%esp)
436b5a:	8b f2                	mov    %edx,%esi
436b5c:	8b c3                	mov    %ebx,%eax
436b5e:	f7 e7                	mul    %edi
436b60:	8b f8                	mov    %eax,%edi
436b62:	89 54 24 18          	mov    %edx,0x18(%esp)
436b66:	8b 44 24 14          	mov    0x14(%esp),%eax
436b6a:	f7 e1                	mul    %ecx
436b6c:	8b c8                	mov    %eax,%ecx
436b6e:	8b da                	mov    %edx,%ebx
436b70:	8b 44 24 14          	mov    0x14(%esp),%eax
436b74:	ba 2f dd 24 06       	mov    $0x624dd2f,%edx
436b79:	f7 e2                	mul    %edx
436b7b:	03 ce                	add    %esi,%ecx
436b7d:	89 44 24 0c          	mov    %eax,0xc(%esp)
436b81:	83 d3 00             	adc    $0x0,%ebx
436b84:	89 54 24 10          	mov    %edx,0x10(%esp)
436b88:	8b 54 24 0c          	mov    0xc(%esp),%edx
436b8c:	03 f9                	add    %ecx,%edi
436b8e:	8b 4c 24 18          	mov    0x18(%esp),%ecx
436b92:	83 d1 00             	adc    $0x0,%ecx
436b95:	89 7c 24 60          	mov    %edi,0x60(%esp)
436b99:	33 c0                	xor    %eax,%eax
436b9b:	03 d9                	add    %ecx,%ebx
436b9d:	8b 4c 24 20          	mov    0x20(%esp),%ecx
436ba1:	13 c0                	adc    %eax,%eax
436ba3:	03 d3                	add    %ebx,%edx
436ba5:	8b 5c 24 10          	mov    0x10(%esp),%ebx
436ba9:	13 d8                	adc    %eax,%ebx
436bab:	8b 44 24 14          	mov    0x14(%esp),%eax
436baf:	2b ca                	sub    %edx,%ecx
436bb1:	1b c3                	sbb    %ebx,%eax
436bb3:	0f ac c1 01          	shrd   $0x1,%eax,%ecx
436bb7:	d1 e8                	shr    $1,%eax
436bb9:	03 ca                	add    %edx,%ecx
436bbb:	13 c3                	adc    %ebx,%eax
436bbd:	0f ac c1 09          	shrd   $0x9,%eax,%ecx
436bc1:	c1 e8 09             	shr    $0x9,%eax
436bc4:	50                   	push   %eax
436bc5:	51                   	push   %ecx
436bc6:	68 f0 26 41 00       	push   $0x4126f0
436bcb:	8d 84 24 0c 03 00 00 	lea    0x30c(%esp),%eax
436bd2:	68 80 00 00 00       	push   $0x80
436bd7:	50                   	push   %eax
436bd8:	e8 c3 22 ff ff       	call   0x428ea0
436bdd:	83 c4 14             	add    $0x14,%esp
436be0:	e8 1b 68 ff ff       	call   0x42d400
436be5:	8b 7c 24 2c          	mov    0x2c(%esp),%edi
436be9:	8b f0                	mov    %eax,%esi
436beb:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
436bf1:	8b 48 18             	mov    0x18(%eax),%ecx
436bf4:	83 79 1c 00          	cmpl   $0x0,0x1c(%ecx)
436bf8:	74 51                	je     0x436c4b
436bfa:	ff 71 28             	push   0x28(%ecx)
436bfd:	8d 84 24 84 03 00 00 	lea    0x384(%esp),%eax
436c04:	68 fc cc 40 00       	push   $0x40ccfc
436c09:	68 80 00 00 00       	push   $0x80
436c0e:	50                   	push   %eax
436c0f:	e8 8c 22 ff ff       	call   0x428ea0
436c14:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
436c1a:	8b 40 18             	mov    0x18(%eax),%eax
436c1d:	2b 70 1c             	sub    0x1c(%eax),%esi
436c20:	b8 d3 4d 62 10       	mov    $0x10624dd3,%eax
436c25:	f7 e6                	mul    %esi
436c27:	8d 84 24 10 04 00 00 	lea    0x410(%esp),%eax
436c2e:	c1 ea 06             	shr    $0x6,%edx
436c31:	52                   	push   %edx
436c32:	68 fc cc 40 00       	push   $0x40ccfc
436c37:	68 80 00 00 00       	push   $0x80
436c3c:	50                   	push   %eax
436c3d:	e8 5e 22 ff ff       	call   0x428ea0
436c42:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
436c48:	83 c4 20             	add    $0x20,%esp
436c4b:	8b 70 18             	mov    0x18(%eax),%esi
436c4e:	e8 ad 67 ff ff       	call   0x42d400
436c53:	89 46 1c             	mov    %eax,0x1c(%esi)
436c56:	8b 44 24 20          	mov    0x20(%esp),%eax
436c5a:	89 46 20             	mov    %eax,0x20(%esi)
436c5d:	8b 44 24 14          	mov    0x14(%esp),%eax
436c61:	89 46 24             	mov    %eax,0x24(%esi)
436c64:	c7 46 28 00 00 00 00 	movl   $0x0,0x28(%esi)
436c6b:	8a 47 2c             	mov    0x2c(%edi),%al
436c6e:	3c 0a                	cmp    $0xa,%al
436c70:	74 04                	je     0x436c76
436c72:	3c 0c                	cmp    $0xc,%al
436c74:	75 39                	jne    0x436caf
436c76:	8b 87 80 00 00 00    	mov    0x80(%edi),%eax
436c7c:	83 c9 ff             	or     $0xffffffff,%ecx
436c7f:	8b 57 44             	mov    0x44(%edi),%edx
436c82:	8b 30                	mov    (%eax),%esi
436c84:	8d 86 8c 03 00 00    	lea    0x38c(%esi),%eax
436c8a:	f0 0f c1 08          	lock xadd %ecx,(%eax)
436c8e:	f6 c2 01             	test   $0x1,%dl
436c91:	74 0f                	je     0x436ca2
436c93:	8b 86 94 03 00 00    	mov    0x394(%esi),%eax
436c99:	48                   	dec    %eax
436c9a:	89 86 94 03 00 00    	mov    %eax,0x394(%esi)
436ca0:	eb 0d                	jmp    0x436caf
436ca2:	8b 86 90 03 00 00    	mov    0x390(%esi),%eax
436ca8:	48                   	dec    %eax
436ca9:	89 86 90 03 00 00    	mov    %eax,0x390(%esi)
436caf:	89 7c 24 14          	mov    %edi,0x14(%esp)
436cb3:	8b f7                	mov    %edi,%esi
436cb5:	eb 09                	jmp    0x436cc0
436cb7:	8d a4 24 00 00 00 00 	lea    0x0(%esp),%esp
436cbe:	8b ff                	mov    %edi,%edi
436cc0:	56                   	push   %esi
436cc1:	8d 8c 24 a4 00 00 00 	lea    0xa4(%esp),%ecx
436cc8:	e8 e3 f0 ff ff       	call   0x435db0
436ccd:	8b 76 1c             	mov    0x1c(%esi),%esi
436cd0:	85 f6                	test   %esi,%esi
436cd2:	75 ec                	jne    0x436cc0
436cd4:	89 74 24 1c          	mov    %esi,0x1c(%esp)
436cd8:	eb 06                	jmp    0x436ce0
436cda:	8d 9b 00 00 00 00    	lea    0x0(%ebx),%ebx
436ce0:	8b 5c 24 14          	mov    0x14(%esp),%ebx
436ce4:	85 db                	test   %ebx,%ebx
436ce6:	0f 84 a1 07 00 00    	je     0x43748d
436cec:	8b 43 1c             	mov    0x1c(%ebx),%eax
436cef:	89 44 24 14          	mov    %eax,0x14(%esp)
436cf3:	8a 43 44             	mov    0x44(%ebx),%al
436cf6:	24 01                	and    $0x1,%al
436cf8:	c7 43 1c 00 00 00 00 	movl   $0x0,0x1c(%ebx)
436cff:	88 44 24 27          	mov    %al,0x27(%esp)
436d03:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
436d09:	8b 48 20             	mov    0x20(%eax),%ecx
436d0c:	89 4c 24 5c          	mov    %ecx,0x5c(%esp)
436d10:	8b 48 24             	mov    0x24(%eax),%ecx
436d13:	8b 00                	mov    (%eax),%eax
436d15:	89 4c 24 60          	mov    %ecx,0x60(%esp)
436d19:	8b 4b 70             	mov    0x70(%ebx),%ecx
436d1c:	89 4c 24 54          	mov    %ecx,0x54(%esp)
436d20:	8b 4b 74             	mov    0x74(%ebx),%ecx
436d23:	8b 40 10             	mov    0x10(%eax),%eax
436d26:	89 4c 24 58          	mov    %ecx,0x58(%esp)
436d2a:	8b 4b 7c             	mov    0x7c(%ebx),%ecx
436d2d:	89 44 24 4c          	mov    %eax,0x4c(%esp)
436d31:	8b 83 94 00 00 00    	mov    0x94(%ebx),%eax
436d37:	89 4c 24 50          	mov    %ecx,0x50(%esp)
436d3b:	89 44 24 48          	mov    %eax,0x48(%esp)
436d3f:	e8 4c 68 ff ff       	call   0x42d590
436d44:	f6 43 44 08          	testb  $0x8,0x44(%ebx)
436d48:	89 44 24 0c          	mov    %eax,0xc(%esp)
436d4c:	89 54 24 10          	mov    %edx,0x10(%esp)
436d50:	74 0d                	je     0x436d5f
436d52:	8b 4b 68             	mov    0x68(%ebx),%ecx
436d55:	81 4b 6c 00 00 01 00 	orl    $0x10000,0x6c(%ebx)
436d5c:	89 4b 68             	mov    %ecx,0x68(%ebx)
436d5f:	83 7c 24 34 00       	cmpl   $0x0,0x34(%esp)
436d64:	74 0d                	je     0x436d73
436d66:	8b 43 68             	mov    0x68(%ebx),%eax
436d69:	81 4b 6c 00 00 08 00 	orl    $0x80000,0x6c(%ebx)
436d70:	89 43 68             	mov    %eax,0x68(%ebx)
436d73:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
436d79:	53                   	push   %ebx
436d7a:	8b 08                	mov    (%eax),%ecx
436d7c:	8b 89 b0 03 00 00    	mov    0x3b0(%ecx),%ecx
436d82:	e8 59 d0 ff ff       	call   0x433de0
436d87:	81 63 44 ff fd ff ff 	andl   $0xfffffdff,0x44(%ebx)
436d8e:	8d 4b 28             	lea    0x28(%ebx),%ecx
436d91:	89 44 24 18          	mov    %eax,0x18(%esp)
436d95:	e8 f6 d9 fe ff       	call   0x424790
436d9a:	85 c0                	test   %eax,%eax
436d9c:	75 0a                	jne    0x436da8
436d9e:	6a ff                	push   $0xffffffff
436da0:	8d 4b 28             	lea    0x28(%ebx),%ecx
436da3:	e8 38 dd fe ff       	call   0x424ae0
436da8:	83 7b 24 00          	cmpl   $0x0,0x24(%ebx)
436dac:	8d 73 24             	lea    0x24(%ebx),%esi
436daf:	76 2d                	jbe    0x436dde
436db1:	83 c8 ff             	or     $0xffffffff,%eax
436db4:	b9 d8 14 45 00       	mov    $0x4514d8,%ecx
436db9:	f0 0f c1 01          	lock xadd %eax,(%ecx)
436dbd:	83 e8 01             	sub    $0x1,%eax
436dc0:	75 0a                	jne    0x436dcc
436dc2:	b9 d0 14 45 00       	mov    $0x4514d0,%ecx
436dc7:	e8 d4 19 00 00       	call   0x4387a0
436dcc:	83 3e 00             	cmpl   $0x0,(%esi)
436dcf:	76 0d                	jbe    0x436dde
436dd1:	8b 06                	mov    (%esi),%eax
436dd3:	33 c9                	xor    %ecx,%ecx
436dd5:	f0 0f b1 0e          	lock cmpxchg %ecx,(%esi)
436dd9:	83 3e 00             	cmpl   $0x0,(%esi)
436ddc:	77 f3                	ja     0x436dd1
436dde:	66 c7 43 2c 0f 00    	movw   $0xf,0x2c(%ebx)
436de4:	8d 4b 28             	lea    0x28(%ebx),%ecx
436de7:	c7 43 40 00 00 00 00 	movl   $0x0,0x40(%ebx)
436dee:	6a 01                	push   $0x1
436df0:	c7 43 30 00 00 00 00 	movl   $0x0,0x30(%ebx)
436df7:	e8 44 e0 fd ff       	call   0x414e40
436dfc:	83 7c 24 18 00       	cmpl   $0x0,0x18(%esp)
436e01:	74 0d                	je     0x436e10
436e03:	8b 43 68             	mov    0x68(%ebx),%eax
436e06:	81 4b 6c 00 00 04 00 	orl    $0x40000,0x6c(%ebx)
436e0d:	89 43 68             	mov    %eax,0x68(%ebx)
436e10:	e8 db 6e 00 00       	call   0x43dcf0
436e15:	83 c0 10             	add    $0x10,%eax
436e18:	74 73                	je     0x436e8d
436e1a:	e8 d1 6e 00 00       	call   0x43dcf0
436e1f:	f6 40 10 02          	testb  $0x2,0x10(%eax)
436e23:	74 68                	je     0x436e8d
436e25:	8b 83 80 00 00 00    	mov    0x80(%ebx),%eax
436e2b:	8b 10                	mov    (%eax),%edx
436e2d:	83 ba 2c 03 00 00 00 	cmpl   $0x0,0x32c(%edx)
436e34:	8b 82 b0 03 00 00    	mov    0x3b0(%edx),%eax
436e3a:	8b 70 40             	mov    0x40(%eax),%esi
436e3d:	75 1a                	jne    0x436e59
436e3f:	83 ba 34 03 00 00 0c 	cmpl   $0xc,0x334(%edx)
436e46:	72 11                	jb     0x436e59
436e48:	80 ba 38 03 00 00 00 	cmpb   $0x0,0x338(%edx)
436e4f:	75 08                	jne    0x436e59
436e51:	8b 0d 70 12 45 00    	mov    0x451270,%ecx
436e57:	eb 09                	jmp    0x436e62
436e59:	33 c9                	xor    %ecx,%ecx
436e5b:	83 fe 0a             	cmp    $0xa,%esi
436e5e:	0f 9d c1             	setge  %cl
436e61:	41                   	inc    %ecx
436e62:	39 8a 90 03 00 00    	cmp    %ecx,0x390(%edx)
436e68:	7e 04                	jle    0x436e6e
436e6a:	33 c9                	xor    %ecx,%ecx
436e6c:	eb 08                	jmp    0x436e76
436e6e:	8b 82 90 03 00 00    	mov    0x390(%edx),%eax
436e74:	2b c8                	sub    %eax,%ecx
436e76:	3b f1                	cmp    %ecx,%esi
436e78:	7c 02                	jl     0x436e7c
436e7a:	8b f1                	mov    %ecx,%esi
436e7c:	85 f6                	test   %esi,%esi
436e7e:	7e 0d                	jle    0x436e8d
436e80:	8b 43 68             	mov    0x68(%ebx),%eax
436e83:	81 4b 6c 00 00 02 00 	orl    $0x20000,0x6c(%ebx)
436e8a:	89 43 68             	mov    %eax,0x68(%ebx)
436e8d:	8b 44 24 30          	mov    0x30(%esp),%eax
436e91:	85 c0                	test   %eax,%eax
436e93:	74 04                	je     0x436e99
436e95:	8b c8                	mov    %eax,%ecx
436e97:	eb 2c                	jmp    0x436ec5
436e99:	8b 54 24 38          	mov    0x38(%esp),%edx
436e9d:	33 c9                	xor    %ecx,%ecx
436e9f:	03 54 24 3c          	add    0x3c(%esp),%edx
436ea3:	8b 73 7c             	mov    0x7c(%ebx),%esi
436ea6:	13 4c 24 40          	adc    0x40(%esp),%ecx
436eaa:	33 c0                	xor    %eax,%eax
436eac:	03 73 70             	add    0x70(%ebx),%esi
436eaf:	13 43 74             	adc    0x74(%ebx),%eax
436eb2:	3b c1                	cmp    %ecx,%eax
436eb4:	77 0a                	ja     0x436ec0
436eb6:	72 04                	jb     0x436ebc
436eb8:	3b f2                	cmp    %edx,%esi
436eba:	77 04                	ja     0x436ec0
436ebc:	33 c9                	xor    %ecx,%ecx
436ebe:	eb 05                	jmp    0x436ec5
436ec0:	b9 26 00 00 00       	mov    $0x26,%ecx
436ec5:	68 28 25 00 00       	push   $0x2528
436eca:	ba 60 19 41 00       	mov    $0x411960,%edx
436ecf:	e8 ac 05 01 00       	call   0x447480
436ed4:	83 7c 24 34 00       	cmpl   $0x0,0x34(%esp)
436ed9:	89 44 24 20          	mov    %eax,0x20(%esp)
436edd:	74 53                	je     0x436f32
436edf:	85 c0                	test   %eax,%eax
436ee1:	78 4f                	js     0x436f32
436ee3:	8b 4b 68             	mov    0x68(%ebx),%ecx
436ee6:	83 e1 08             	and    $0x8,%ecx
436ee9:	83 c9 00             	or     $0x0,%ecx
436eec:	74 44                	je     0x436f32
436eee:	e8 fd 6d 00 00       	call   0x43dcf0
436ef3:	83 c0 10             	add    $0x10,%eax
436ef6:	74 0a                	je     0x436f02
436ef8:	e8 f3 6d 00 00       	call   0x43dcf0
436efd:	83 c0 14             	add    $0x14,%eax
436f00:	eb 02                	jmp    0x436f04
436f02:	33 c0                	xor    %eax,%eax
436f04:	81 3d 30 1a 45 00 aa 	cmpl   $0xfaa,0x451a30
436f0b:	0f 00 00
436f0e:	c7 00 60 19 41 00    	movl   $0x411960,(%eax)