436a38:	50                   	push   %eax
436a39:	6a 00                	push   $0x0
436a3b:	8d 44 24 08          	lea    0x8(%esp),%eax
436a3f:	50                   	push   %eax
436a40:	e8 57 fd fc ff       	call   0x40679c
436a45:	eb 1b                	jmp    0x436a62
436a47:	8b 43 4c             	mov    0x4c(%ebx),%eax
436a4a:	2b 44 24 1c          	sub    0x1c(%esp),%eax
436a4e:	d1 f8                	sar    $1,%eax
436a50:	79 03                	jns    0x436a55
436a52:	83 d0 00             	adc    $0x0,%eax
436a55:	50                   	push   %eax
436a56:	6a 00                	push   $0x0
436a58:	8d 44 24 08          	lea    0x8(%esp),%eax
436a5c:	50                   	push   %eax
436a5d:	e8 3a fd fc ff       	call   0x40679c
436a62:	8b d4                	mov    %esp,%edx
436a64:	8b cf                	mov    %edi,%ecx
436a66:	8b c3                	mov    %ebx,%eax
436a68:	66 be c6 ff          	mov    $0xffc6,%si
436a6c:	e8 d3 c9 fc ff       	call   0x403444
436a71:	83 c4 30             	add    $0x30,%esp
436a74:	5f                   	pop    %edi
436a75:	5e                   	pop    %esi
436a76:	5b                   	pop    %ebx
436a77:	c3                   	ret
436a78:	53                   	push   %ebx
436a79:	56                   	push   %esi
436a7a:	8b d8                	mov    %eax,%ebx
436a7c:	8b c3                	mov    %ebx,%eax
436a7e:	e8 41 af 00 00       	call   0x4419c4
436a83:	8b c3                	mov    %ebx,%eax
436a85:	66 be c7 ff          	mov    $0xffc7,%si
436a89:	e8 b6 c9 fc ff       	call   0x403444
436a8e:	5e                   	pop    %esi
436a8f:	5b                   	pop    %ebx
436a90:	c3                   	ret
436a91:	8d 40 00             	lea    0x0(%eax),%eax
436a94:	53                   	push   %ebx
436a95:	56                   	push   %esi
436a96:	57                   	push   %edi
436a97:	83 c4 ec             	add    $0xffffffec,%esp
436a9a:	8b f8                	mov    %eax,%edi
436a9c:	f6 47 1c 02          	testb  $0x2,0x1c(%edi)
436aa0:	0f 85 b4 00 00 00    	jne    0x436b5a
436aa6:	80 bf 6d 01 00 00 00 	cmpb   $0x0,0x16d(%edi)
436aad:	0f 84 a7 00 00 00    	je     0x436b5a
436ab3:	8d 54 24 01          	lea    0x1(%esp),%edx
436ab7:	8b c7                	mov    %edi,%eax
436ab9:	8b 08                	mov    (%eax),%ecx
436abb:	ff 51 44             	call   *0x44(%ecx)
436abe:	6a 00                	push   $0x0
436ac0:	e8 d7 fa fc ff       	call   0x40659c
436ac5:	8b d8                	mov    %eax,%ebx
436ac7:	8b d3                	mov    %ebx,%edx
436ac9:	8b 87 60 01 00 00    	mov    0x160(%edi),%eax
436acf:	e8 88 77 fe ff       	call   0x41e25c
436ad4:	33 c0                	xor    %eax,%eax
436ad6:	8a 87 6f 01 00 00    	mov    0x16f(%edi),%al
436adc:	66 8b 0c 45 dc 3a 46 	mov    0x463adc(,%eax,2),%cx
436ae3:	00
436ae4:	66 81 c9 40 04       	or     $0x440,%cx
436ae9:	0f b7 c9             	movzwl %cx,%ecx
436aec:	8d 54 24 01          	lea    0x1(%esp),%edx
436af0:	8b c7                	mov    %edi,%eax
436af2:	66 be c6 ff          	mov    $0xffc6,%si
436af6:	e8 49 c9 fc ff       	call   0x403444
436afb:	33 d2                	xor    %edx,%edx
436afd:	8b 87 60 01 00 00    	mov    0x160(%edi),%eax
436b03:	e8 54 77 fe ff       	call   0x41e25c
436b08:	53                   	push   %ebx
436b09:	6a 00                	push   $0x0
436b0b:	e8 dc fc fc ff       	call   0x4067ec
436b10:	8b 5f 40             	mov    0x40(%edi),%ebx
436b13:	8a 87 6c 01 00 00    	mov    0x16c(%edi),%al
436b19:	88 04 24             	mov    %al,(%esp)
436b1c:	8b c7                	mov    %edi,%eax
436b1e:	66 be c8 ff          	mov    $0xffc8,%si
436b22:	e8 1d c9 fc ff       	call   0x403444
436b27:	84 c0                	test   %al,%al
436b29:	74 07                	je     0x436b32
436b2b:	8b c4                	mov    %esp,%eax
436b2d:	e8 62 5b 00 00       	call   0x43c694
436b32:	80 3c 24 01          	cmpb   $0x1,(%esp)
436b36:	75 09                	jne    0x436b41
436b38:	8b 47 48             	mov    0x48(%edi),%eax
436b3b:	2b 44 24 09          	sub    0x9(%esp),%eax
436b3f:	03 d8                	add    %eax,%ebx
436b41:	8b 44 24 09          	mov    0x9(%esp),%eax
436b45:	50                   	push   %eax
436b46:	8b 44 24 11          	mov    0x11(%esp),%eax
436b4a:	50                   	push   %eax
436b4b:	8b 4f 44             	mov    0x44(%edi),%ecx
436b4e:	8b d3                	mov    %ebx,%edx
436b50:	8b c7                	mov    %edi,%eax
436b52:	8b 18                	mov    (%eax),%ebx
436b54:	ff 93 84 00 00 00    	call   *0x84(%ebx)
436b5a:	83 c4 14             	add    $0x14,%esp
436b5d:	5f                   	pop    %edi
436b5e:	5e                   	pop    %esi
436b5f:	5b                   	pop    %ebx
436b60:	c3                   	ret
436b61:	8d 40 00             	lea    0x0(%eax),%eax
436b64:	56                   	push   %esi
436b65:	8b f0                	mov    %eax,%esi
436b67:	3a 96 6c 01 00 00    	cmp    0x16c(%esi),%dl
436b6d:	74 0d                	je     0x436b7c
436b6f:	88 96 6c 01 00 00    	mov    %dl,0x16c(%esi)
436b75:	8b c6                	mov    %esi,%eax
436b77:	8b 10                	mov    (%eax),%edx
436b79:	ff 52 7c             	call   *0x7c(%edx)
436b7c:	5e                   	pop    %esi
436b7d:	c3                   	ret
436b7e:	8b c0                	mov    %eax,%eax
436b80:	56                   	push   %esi
436b81:	3a 90 6d 01 00 00    	cmp    0x16d(%eax),%dl
436b87:	74 0f                	je     0x436b98
436b89:	88 90 6d 01 00 00    	mov    %dl,0x16d(%eax)
436b8f:	66 be c7 ff          	mov    $0xffc7,%si
436b93:	e8 ac c8 fc ff       	call   0x403444
436b98:	5e                   	pop    %esi
436b99:	c3                   	ret
436b9a:	8b c0                	mov    %eax,%eax
436b9c:	f6 40 50 40          	testb  $0x40,0x50(%eax)
436ba0:	0f 95 c0             	setne  %al
436ba3:	34 01                	xor    $0x1,%al
436ba5:	c3                   	ret
436ba6:	8b c0                	mov    %eax,%eax
436ba8:	89 90 68 01 00 00    	mov    %edx,0x168(%eax)
436bae:	85 d2                	test   %edx,%edx
436bb0:	74 06                	je     0x436bb8
436bb2:	92                   	xchg   %eax,%edx
436bb3:	e8 f4 33 fe ff       	call   0x419fac
436bb8:	c3                   	ret
436bb9:	8d 40 00             	lea    0x0(%eax),%eax
436bbc:	56                   	push   %esi
436bbd:	8b f0                	mov    %eax,%esi
436bbf:	3a 96 70 01 00 00    	cmp    0x170(%esi),%dl
436bc5:	74 0d                	je     0x436bd4
436bc7:	88 96 70 01 00 00    	mov    %dl,0x170(%esi)
436bcd:	8b c6                	mov    %esi,%eax
436bcf:	8b 10                	mov    (%eax),%edx
436bd1:	ff 52 7c             	call   *0x7c(%edx)
436bd4:	5e                   	pop    %esi
436bd5:	c3                   	ret
436bd6:	8b c0                	mov    %eax,%eax
436bd8:	53                   	push   %ebx
436bd9:	56                   	push   %esi
436bda:	8b da                	mov    %edx,%ebx
436bdc:	8b f0                	mov    %eax,%esi
436bde:	8b c6                	mov    %esi,%eax
436be0:	e8 b7 ff ff ff       	call   0x436b9c
436be5:	3a d8                	cmp    %al,%bl
436be7:	74 25                	je     0x436c0e
436be9:	84 db                	test   %bl,%bl
436beb:	74 0f                	je     0x436bfc
436bed:	a1 18 6c 43 00       	mov    0x436c18,%eax
436bf2:	f7 d0                	not    %eax
436bf4:	23 46 50             	and    0x50(%esi),%eax
436bf7:	89 46 50             	mov    %eax,0x50(%esi)
436bfa:	eb 0b                	jmp    0x436c07
436bfc:	a1 18 6c 43 00       	mov    0x436c18,%eax
436c01:	0b 46 50             	or     0x50(%esi),%eax
436c04:	89 46 50             	mov    %eax,0x50(%esi)
436c07:	8b c6                	mov    %esi,%eax
436c09:	8b 10                	mov    (%eax),%edx
436c0b:	ff 52 7c             	call   *0x7c(%edx)
436c0e:	c6 86 88 01 00 00 01 	movb   $0x1,0x188(%esi)
436c15:	5e                   	pop    %esi
436c16:	5b                   	pop    %ebx
436c17:	c3                   	ret
436c18:	40                   	inc    %eax
436c19:	00 00                	add    %al,(%eax)
436c1b:	00 56 8b             	add    %dl,-0x75(%esi)
436c1e:	f0 3a 96 6e 01 00 00 	lock cmp 0x16e(%esi),%dl
436c25:	74 0d                	je     0x436c34
436c27:	88 96 6e 01 00 00    	mov    %dl,0x16e(%esi)
436c2d:	8b c6                	mov    %esi,%eax
436c2f:	8b 10                	mov    (%eax),%edx
436c31:	ff 52 7c             	call   *0x7c(%edx)
436c34:	5e                   	pop    %esi
436c35:	c3                   	ret
436c36:	8b c0                	mov    %eax,%eax
436c38:	56                   	push   %esi
436c39:	57                   	push   %edi
436c3a:	8b f8                	mov    %eax,%edi
436c3c:	3a 97 6f 01 00 00    	cmp    0x16f(%edi),%dl
436c42:	74 18                	je     0x436c5c
436c44:	88 97 6f 01 00 00    	mov    %dl,0x16f(%edi)
436c4a:	8b c7                	mov    %edi,%eax
436c4c:	66 be c7 ff          	mov    $0xffc7,%si
436c50:	e8 ef c7 fc ff       	call   0x403444
436c55:	8b c7                	mov    %edi,%eax
436c57:	8b 10                	mov    (%eax),%edx
436c59:	ff 52 7c             	call   *0x7c(%edx)
436c5c:	5f                   	pop    %edi
436c5d:	5e                   	pop    %esi
436c5e:	c3                   	ret
436c5f:	90                   	nop
436c60:	53                   	push   %ebx
436c61:	56                   	push   %esi
436c62:	57                   	push   %edi
436c63:	8b d9                	mov    %ecx,%ebx
436c65:	8b f2                	mov    %edx,%esi
436c67:	8b f8                	mov    %eax,%edi
436c69:	8b cb                	mov    %ebx,%ecx
436c6b:	8b d6                	mov    %esi,%edx
436c6d:	8b c7                	mov    %edi,%eax
436c6f:	e8 64 81 00 00       	call   0x43edd8
436c74:	80 fb 01             	cmp    $0x1,%bl
436c77:	75 10                	jne    0x436c89
436c79:	3b b7 68 01 00 00    	cmp    0x168(%edi),%esi
436c7f:	75 08                	jne    0x436c89
436c81:	33 c0                	xor    %eax,%eax
436c83:	89 87 68 01 00 00    	mov    %eax,0x168(%edi)
436c89:	5f                   	pop    %edi
436c8a:	5e                   	pop    %esi
436c8b:	5b                   	pop    %ebx
436c8c:	c3                   	ret
436c8d:	8d 40 00             	lea    0x0(%eax),%eax
436c90:	53                   	push   %ebx
436c91:	56                   	push   %esi
436c92:	8b d8                	mov    %eax,%ebx
436c94:	8b c3                	mov    %ebx,%eax
436c96:	8b 10                	mov    (%eax),%edx
436c98:	ff 52 7c             	call   *0x7c(%edx)
436c9b:	8b c3                	mov    %ebx,%eax
436c9d:	66 be c7 ff          	mov    $0xffc7,%si
436ca1:	e8 9e c7 fc ff       	call   0x403444
436ca6:	5e                   	pop    %esi
436ca7:	5b                   	pop    %ebx
436ca8:	c3                   	ret
436ca9:	8d 40 00             	lea    0x0(%eax),%eax
436cac:	56                   	push   %esi
436cad:	8b f0                	mov    %eax,%esi
436caf:	8b c6                	mov    %esi,%eax
436cb1:	e8 1a a8 00 00       	call   0x4414d0
436cb6:	8b c6                	mov    %esi,%eax
436cb8:	66 be c7 ff          	mov    $0xffc7,%si
436cbc:	e8 83 c7 fc ff       	call   0x403444
436cc1:	5e                   	pop    %esi
436cc2:	c3                   	ret
436cc3:	90                   	nop
436cc4:	55                   	push   %ebp
436cc5:	8b ec                	mov    %esp,%ebp
436cc7:	6a 00                	push   $0x0
436cc9:	53                   	push   %ebx
436cca:	56                   	push   %esi
436ccb:	57                   	push   %edi
436ccc:	8b fa                	mov    %edx,%edi
436cce:	8b d8                	mov    %eax,%ebx
436cd0:	33 c0                	xor    %eax,%eax
436cd2:	55                   	push   %ebp
436cd3:	68 51 6d 43 00       	push   $0x436d51
436cd8:	64 ff 30             	push   %fs:(%eax)
436cdb:	64 89 20             	mov    %esp,%fs:(%eax)
436cde:	83 bb 68 01 00 00 00 	cmpl   $0x0,0x168(%ebx)
436ce5:	74 54                	je     0x436d3b
436ce7:	8b c3                	mov    %ebx,%eax
436ce9:	8b 10                	mov    (%eax),%edx
436ceb:	ff 52 50             	call   *0x50(%edx)
436cee:	84 c0                	test   %al,%al
436cf0:	74 49                	je     0x436d3b
436cf2:	80 bb 70 01 00 00 00 	cmpb   $0x0,0x170(%ebx)
436cf9:	74 40                	je     0x436d3b
436cfb:	8d 55 fc             	lea    -0x4(%ebp),%edx
436cfe:	8b c3                	mov    %ebx,%eax
436d00:	e8 03 8c 00 00       	call   0x43f908
436d05:	8b 55 fc             	mov    -0x4(%ebp),%edx
436d08:	66 8b 47 04          	mov    0x4(%edi),%ax
436d0c:	e8 33 fb 01 00       	call   0x456844
436d11:	84 c0                	test   %al,%al
436d13:	74 26                	je     0x436d3b
436d15:	8b 9b 68 01 00 00    	mov    0x168(%ebx),%ebx
436d1b:	8b c3                	mov    %ebx,%eax
436d1d:	66 be b8 ff          	mov    $0xffb8,%si
436d21:	e8 1e c7 fc ff       	call   0x403444
436d26:	84 c0                	test   %al,%al
436d28:	74 11                	je     0x436d3b
436d2a:	8b c3                	mov    %ebx,%eax
436d2c:	8b 10                	mov    (%eax),%edx
436d2e:	ff 92 c4 00 00 00    	call   *0xc4(%edx)
436d34:	c7 47 0c 01 00 00 00 	movl   $0x1,0xc(%edi)
436d3b:	33 c0                	xor    %eax,%eax
436d3d:	5a                   	pop    %edx
436d3e:	59                   	pop    %ecx
436d3f:	59                   	pop    %ecx
436d40:	64 89 10             	mov    %edx,%fs:(%eax)
436d43:	68 58 6d 43 00       	push   $0x436d58
436d48:	8d 45 fc             	lea    -0x4(%ebp),%eax
436d4b:	e8 48 d2 fc ff       	call   0x403f98
436d50:	c3                   	ret
436d51:	e9 46 cc fc ff       	jmp    0x40399c
436d56:	eb f0                	jmp    0x436d48
436d58:	5f                   	pop    %edi
436d59:	5e                   	pop    %esi
436d5a:	5b                   	pop    %ebx
436d5b:	59                   	pop    %ecx
436d5c:	5d                   	pop    %ebp
436d5d:	c3                   	ret
436d5e:	8b c0                	mov    %eax,%eax
436d60:	53                   	push   %ebx
436d61:	8b d8                	mov    %eax,%ebx
436d63:	8b c3                	mov    %ebx,%eax
436d65:	e8 ca a8 00 00       	call   0x441634
436d6a:	66 83 bb 82 01 00 00 	cmpw   $0x0,0x182(%ebx)
436d71:	00
436d72:	74 0e                	je     0x436d82
436d74:	8b d3                	mov    %ebx,%edx
436d76:	8b 83 84 01 00 00    	mov    0x184(%ebx),%eax
436d7c:	ff 93 80 01 00 00    	call   *0x180(%ebx)
436d82:	5b                   	pop    %ebx
436d83:	c3                   	ret
436d84:	53                   	push   %ebx
436d85:	8b d8                	mov    %eax,%ebx
436d87:	8b c3                	mov    %ebx,%eax
436d89:	e8 be a8 00 00       	call   0x44164c
436d8e:	66 83 bb 7a 01 00 00 	cmpw   $0x0,0x17a(%ebx)
436d95:	00
436d96:	74 0e                	je     0x436da6
436d98:	8b d3                	mov    %ebx,%edx
436d9a:	8b 83 7c 01 00 00    	mov    0x17c(%ebx),%eax
436da0:	ff 93 78 01 00 00    	call   *0x178(%ebx)
436da6:	5b                   	pop    %ebx
436da7:	c3                   	ret
436da8:	53                   	push   %ebx
436da9:	56                   	push   %esi
436daa:	8b f2                	mov    %edx,%esi
436dac:	8b d8                	mov    %eax,%ebx
436dae:	8b d6                	mov    %esi,%edx
436db0:	8b c3                	mov    %ebx,%eax
436db2:	e8 31 b0 00 00       	call   0x441de8
436db7:	8b c6                	mov    %esi,%eax
436db9:	8b 15 a0 54 43 00    	mov    0x4354a0,%edx
436dbf:	e8 34 c6 fc ff       	call   0x4033f8
436dc4:	89 43 28             	mov    %eax,0x28(%ebx)
436dc7:	5e                   	pop    %esi
436dc8:	5b                   	pop    %ebx
436dc9:	c3                   	ret
436dca:	8b c0                	mov    %eax,%eax
436dcc:	53                   	push   %ebx
436dcd:	8b d8                	mov    %eax,%ebx
436dcf:	8b c3                	mov    %ebx,%eax
436dd1:	e8 82 4e 01 00       	call   0x44bc58
436dd6:	84 c0                	test   %al,%al
436dd8:	74 20                	je     0x436dfa
436dda:	8b 43 28             	mov    0x28(%ebx),%eax
436ddd:	8b 10                	mov    (%eax),%edx
436ddf:	ff 92 c8 00 00 00    	call   *0xc8(%edx)
436de5:	50                   	push   %eax