42391c:	48                   	dec    %eax
42391d:	74 27                	je     0x423946
42391f:	48                   	dec    %eax
423920:	74 1d                	je     0x42393f
423922:	83 e8 03             	sub    $0x3,%eax
423925:	74 05                	je     0x42392c
423927:	89 7e 1c             	mov    %edi,0x1c(%esi)
42392a:	eb 37                	jmp    0x423963
42392c:	83 3d dc 6d 43 00 00 	cmpl   $0x0,0x436ddc
423933:	6a 15                	push   $0x15
423935:	58                   	pop    %eax
423936:	75 18                	jne    0x423950
423938:	bf 00 80 00 00       	mov    $0x8000,%edi
42393d:	eb 11                	jmp    0x423950
42393f:	b8 91 00 00 00       	mov    $0x91,%eax
423944:	eb 0a                	jmp    0x423950
423946:	b8 90 00 00 00       	mov    $0x90,%eax
42394b:	eb 03                	jmp    0x423950
42394d:	6a 14                	push   $0x14
42394f:	58                   	pop    %eax
423950:	8b 1e                	mov    (%esi),%ebx
423952:	50                   	push   %eax
423953:	ff 15 dc 98 43 00    	call   *0x4398dc
423959:	0f bf c0             	movswl %ax,%eax
42395c:	23 c7                	and    %edi,%eax
42395e:	8b ce                	mov    %esi,%ecx
423960:	50                   	push   %eax
423961:	ff 13                	call   *(%ebx)
423963:	5f                   	pop    %edi
423964:	5e                   	pop    %esi
423965:	5b                   	pop    %ebx
423966:	c2 04 00             	ret    $0x4
423969:	56                   	push   %esi
42396a:	8b f1                	mov    %ecx,%esi
42396c:	e8 91 78 fe ff       	call   0x40b202
423971:	3b c6                	cmp    %esi,%eax
423973:	75 14                	jne    0x423989
423975:	8b 4c 24 08          	mov    0x8(%esp),%ecx
423979:	33 d2                	xor    %edx,%edx
42397b:	39 56 50             	cmp    %edx,0x50(%esi)
42397e:	8b 01                	mov    (%ecx),%eax
423980:	0f 95 c2             	setne  %dl
423983:	52                   	push   %edx
423984:	ff 50 04             	call   *0x4(%eax)
423987:	eb 0b                	jmp    0x423994
423989:	8b 44 24 08          	mov    0x8(%esp),%eax
42398d:	c7 40 1c 01 00 00 00 	movl   $0x1,0x1c(%eax)
423994:	5e                   	pop    %esi
423995:	c2 04 00             	ret    $0x4
423998:	56                   	push   %esi
423999:	8b f1                	mov    %ecx,%esi
42399b:	e8 38 9d ff ff       	call   0x41d6d8
4239a0:	f6 c4 80             	test   $0x80,%ah
4239a3:	74 33                	je     0x4239d8
4239a5:	8b 4e 68             	mov    0x68(%esi),%ecx
4239a8:	85 c9                	test   %ecx,%ecx
4239aa:	74 09                	je     0x4239b5
4239ac:	8b 01                	mov    (%ecx),%eax
4239ae:	ff 50 70             	call   *0x70(%eax)
4239b1:	85 c0                	test   %eax,%eax
4239b3:	75 23                	jne    0x4239d8
4239b5:	8b 06                	mov    (%esi),%eax
4239b7:	8b ce                	mov    %esi,%ecx
4239b9:	ff 90 c4 00 00 00    	call   *0xc4(%eax)
4239bf:	83 7c 24 08 00       	cmpl   $0x0,0x8(%esp)
4239c4:	74 09                	je     0x4239cf
4239c6:	85 c0                	test   %eax,%eax
4239c8:	74 05                	je     0x4239cf
4239ca:	ff 70 1c             	push   0x1c(%eax)
4239cd:	eb 02                	jmp    0x4239d1
4239cf:	6a 00                	push   $0x0
4239d1:	8b ce                	mov    %esi,%ecx
4239d3:	e8 04 00 00 00       	call   0x4239dc
4239d8:	5e                   	pop    %esi
4239d9:	c2 04 00             	ret    $0x4
4239dc:	55                   	push   %ebp
4239dd:	8b ec                	mov    %esp,%ebp
4239df:	81 ec 04 02 00 00    	sub    $0x204,%esp
4239e5:	56                   	push   %esi
4239e6:	57                   	push   %edi
4239e7:	8b f1                	mov    %ecx,%esi
4239e9:	e8 ea 9c ff ff       	call   0x41d6d8
4239ee:	f6 c4 40             	test   $0x40,%ah
4239f1:	74 6d                	je     0x423a60
4239f3:	80 a5 fc fd ff ff 00 	andb   $0x0,-0x204(%ebp)
4239fa:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
4239fe:	8b 3d 48 97 43 00    	mov    0x439748,%edi
423a04:	74 49                	je     0x423a4f
423a06:	ff 75 08             	push   0x8(%ebp)
423a09:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
423a0f:	50                   	push   %eax
423a10:	ff 15 3c 97 43 00    	call   *0x43973c
423a16:	8b 46 40             	mov    0x40(%esi),%eax
423a19:	85 c0                	test   %eax,%eax
423a1b:	7e 24                	jle    0x423a41
423a1d:	50                   	push   %eax
423a1e:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
423a24:	68 38 a3 42 00       	push   $0x42a338
423a29:	50                   	push   %eax
423a2a:	ff 15 40 97 43 00    	call   *0x439740
423a30:	8d 84 05 fc fd ff ff 	lea    -0x204(%ebp,%eax,1),%eax
423a37:	50                   	push   %eax
423a38:	ff 15 b4 98 43 00    	call   *0x4398b4
423a3e:	83 c4 0c             	add    $0xc,%esp
423a41:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
423a47:	68 48 a9 42 00       	push   $0x42a948
423a4c:	50                   	push   %eax
423a4d:	ff d7                	call   *%edi
423a4f:	ff b6 ac 00 00 00    	push   0xac(%esi)
423a55:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
423a5b:	50                   	push   %eax
423a5c:	ff d7                	call   *%edi
423a5e:	eb 64                	jmp    0x423ac4
423a60:	ff b6 ac 00 00 00    	push   0xac(%esi)
423a66:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
423a6c:	50                   	push   %eax
423a6d:	ff 15 3c 97 43 00    	call   *0x43973c
423a73:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
423a77:	74 4b                	je     0x423ac4
423a79:	8b 3d 48 97 43 00    	mov    0x439748,%edi
423a7f:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
423a85:	68 48 a9 42 00       	push   $0x42a948
423a8a:	50                   	push   %eax
423a8b:	ff d7                	call   *%edi
423a8d:	ff 75 08             	push   0x8(%ebp)
423a90:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
423a96:	50                   	push   %eax
423a97:	ff d7                	call   *%edi
423a99:	8b 46 40             	mov    0x40(%esi),%eax
423a9c:	85 c0                	test   %eax,%eax
423a9e:	7e 24                	jle    0x423ac4
423aa0:	50                   	push   %eax
423aa1:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
423aa7:	68 38 a3 42 00       	push   $0x42a338
423aac:	50                   	push   %eax
423aad:	ff 15 40 97 43 00    	call   *0x439740
423ab3:	8d 84 05 fc fd ff ff 	lea    -0x204(%ebp,%eax,1),%eax
423aba:	50                   	push   %eax
423abb:	ff 15 b4 98 43 00    	call   *0x4398b4
423ac1:	83 c4 0c             	add    $0xc,%esp
423ac4:	8d 85 fc fd ff ff    	lea    -0x204(%ebp),%eax
423aca:	50                   	push   %eax
423acb:	ff 76 1c             	push   0x1c(%esi)
423ace:	e8 a1 c5 ff ff       	call   0x420074
423ad3:	5f                   	pop    %edi
423ad4:	5e                   	pop    %esi
423ad5:	c9                   	leave
423ad6:	c2 04 00             	ret    $0x4
423ad9:	83 ec 0c             	sub    $0xc,%esp
423adc:	53                   	push   %ebx
423add:	55                   	push   %ebp
423ade:	56                   	push   %esi
423adf:	8b f1                	mov    %ecx,%esi
423ae1:	57                   	push   %edi
423ae2:	8b 06                	mov    (%esi),%eax
423ae4:	ff 90 c8 00 00 00    	call   *0xc8(%eax)
423aea:	33 db                	xor    %ebx,%ebx
423aec:	89 44 24 18          	mov    %eax,0x18(%esp)
423af0:	39 5c 24 20          	cmp    %ebx,0x20(%esp)
423af4:	74 0d                	je     0x423b03
423af6:	8b 48 68             	mov    0x68(%eax),%ecx
423af9:	3b cb                	cmp    %ebx,%ecx
423afb:	74 06                	je     0x423b03
423afd:	8b 01                	mov    (%ecx),%eax
423aff:	53                   	push   %ebx
423b00:	ff 50 64             	call   *0x64(%eax)
423b03:	8b 6e 70             	mov    0x70(%esi),%ebp
423b06:	8b 7c 24 24          	mov    0x24(%esp),%edi
423b0a:	3b eb                	cmp    %ebx,%ebp
423b0c:	89 5c 24 10          	mov    %ebx,0x10(%esp)
423b10:	74 7b                	je     0x423b8d
423b12:	8b c5                	mov    %ebp,%eax
423b14:	8b 6d 00             	mov    0x0(%ebp),%ebp
423b17:	8b 58 08             	mov    0x8(%eax),%ebx
423b1a:	ff 73 1c             	push   0x1c(%ebx)
423b1d:	ff 15 d8 98 43 00    	call   *0x4398d8
423b23:	0f b7 c0             	movzwl %ax,%eax
423b26:	3d 00 e8 00 00       	cmp    $0xe800,%eax
423b2b:	89 44 24 14          	mov    %eax,0x14(%esp)
423b2f:	72 56                	jb     0x423b87
423b31:	3d 1f e8 00 00       	cmp    $0xe81f,%eax
423b36:	77 4f                	ja     0x423b87
423b38:	6a 01                	push   $0x1
423b3a:	8d 88 00 18 ff ff    	lea    -0xe800(%eax),%ecx
423b40:	58                   	pop    %eax
423b41:	d3 e0                	shl    %cl,%eax
423b43:	8b cb                	mov    %ebx,%ecx
423b45:	89 44 24 24          	mov    %eax,0x24(%esp)
423b49:	8b 03                	mov    (%ebx),%eax
423b4b:	ff 90 d0 00 00 00    	call   *0xd0(%eax)
423b51:	85 c0                	test   %eax,%eax
423b53:	74 08                	je     0x423b5d
423b55:	8b 44 24 24          	mov    0x24(%esp),%eax
423b59:	09 44 24 10          	or     %eax,0x10(%esp)
423b5d:	8b 03                	mov    (%ebx),%eax
423b5f:	8b cb                	mov    %ebx,%ecx
423b61:	ff 90 d8 00 00 00    	call   *0xd8(%eax)
423b67:	85 c0                	test   %eax,%eax
423b69:	74 0a                	je     0x423b75
423b6b:	81 7c 24 14 1f e8 00 	cmpl   $0xe81f,0x14(%esp)
423b72:	00
423b73:	74 12                	je     0x423b87
423b75:	8b 47 08             	mov    0x8(%edi),%eax
423b78:	6a 01                	push   $0x1
423b7a:	23 44 24 28          	and    0x28(%esp),%eax
423b7e:	8b ce                	mov    %esi,%ecx
423b80:	50                   	push   %eax
423b81:	53                   	push   %ebx
423b82:	e8 92 f6 ff ff       	call   0x423219
423b87:	85 ed                	test   %ebp,%ebp
423b89:	75 87                	jne    0x423b12
423b8b:	33 db                	xor    %ebx,%ebx
423b8d:	8b 44 24 10          	mov    0x10(%esp),%eax
423b91:	39 5c 24 20          	cmp    %ebx,0x20(%esp)
423b95:	89 47 08             	mov    %eax,0x8(%edi)
423b98:	0f 84 9c 00 00 00    	je     0x423c3a
423b9e:	8b 47 10             	mov    0x10(%edi),%eax
423ba1:	53                   	push   %ebx
423ba2:	8b ce                	mov    %esi,%ecx
423ba4:	89 86 9c 00 00 00    	mov    %eax,0x9c(%esi)
423baa:	e8 cf e9 ff ff       	call   0x42257e
423baf:	ff 37                	push   (%edi)
423bb1:	8b 2d d0 98 43 00    	mov    0x4398d0,%ebp
423bb7:	ff 76 1c             	push   0x1c(%esi)
423bba:	ff d5                	call   *%ebp
423bbc:	53                   	push   %ebx
423bbd:	50                   	push   %eax
423bbe:	89 44 24 28          	mov    %eax,0x28(%esp)
423bc2:	ff 15 04 98 43 00    	call   *0x439804
423bc8:	ff 76 1c             	push   0x1c(%esi)
423bcb:	ff 15 cc 98 43 00    	call   *0x4398cc
423bd1:	3b c3                	cmp    %ebx,%eax
423bd3:	89 47 04             	mov    %eax,0x4(%edi)
423bd6:	74 1d                	je     0x423bf5
423bd8:	6a 01                	push   $0x1
423bda:	53                   	push   %ebx
423bdb:	ff 76 1c             	push   0x1c(%esi)
423bde:	ff 15 54 99 43 00    	call   *0x439954
423be4:	53                   	push   %ebx
423be5:	ff 76 1c             	push   0x1c(%esi)
423be8:	ff 15 00 98 43 00    	call   *0x439800
423bee:	83 a6 b8 00 00 00 fe 	andl   $0xfffffffe,0xb8(%esi)
423bf5:	8b 46 48             	mov    0x48(%esi),%eax
423bf8:	68 15 79 00 00       	push   $0x7915
423bfd:	89 47 14             	mov    %eax,0x14(%edi)
423c00:	8b ce                	mov    %esi,%ecx
423c02:	89 5e 48             	mov    %ebx,0x48(%esi)
423c05:	e8 38 e5 ff ff       	call   0x422142
423c0a:	bb 00 e9 00 00       	mov    $0xe900,%ebx
423c0f:	39 1f                	cmp    %ebx,(%edi)
423c11:	74 08                	je     0x423c1b
423c13:	53                   	push   %ebx
423c14:	ff 76 1c             	push   0x1c(%esi)
423c17:	ff d5                	call   *%ebp
423c19:	eb 04                	jmp    0x423c1f
423c1b:	8b 44 24 20          	mov    0x20(%esp),%eax
423c1f:	85 c0                	test   %eax,%eax
423c21:	0f 84 c3 00 00 00    	je     0x423cea
423c27:	68 21 ea 00 00       	push   $0xea21
423c2c:	6a f4                	push   $0xfffffff4
423c2e:	50                   	push   %eax
423c2f:	ff 15 28 99 43 00    	call   *0x439928
423c35:	e9 b0 00 00 00       	jmp    0x423cea
423c3a:	8b 2d d0 98 43 00    	mov    0x4398d0,%ebp
423c40:	68 21 ea 00 00       	push   $0xea21
423c45:	ff 76 1c             	push   0x1c(%esi)
423c48:	89 9e 9c 00 00 00    	mov    %ebx,0x9c(%esi)
423c4e:	ff d5                	call   *%ebp
423c50:	85 c0                	test   %eax,%eax
423c52:	89 44 24 20          	mov    %eax,0x20(%esp)
423c56:	bb 00 e9 00 00       	mov    $0xe900,%ebx
423c5b:	74 25                	je     0x423c82
423c5d:	53                   	push   %ebx
423c5e:	ff 76 1c             	push   0x1c(%esi)
423c61:	ff d5                	call   *%ebp
423c63:	85 c0                	test   %eax,%eax
423c65:	74 0e                	je     0x423c75
423c67:	68 21 ea 00 00       	push   $0xea21
423c6c:	6a f4                	push   $0xfffffff4
423c6e:	50                   	push   %eax
423c6f:	ff 15 28 99 43 00    	call   *0x439928
423c75:	53                   	push   %ebx
423c76:	6a f4                	push   $0xfffffff4
423c78:	ff 74 24 28          	push   0x28(%esp)
423c7c:	ff 15 28 99 43 00    	call   *0x439928
423c82:	83 7f 04 00          	cmpl   $0x0,0x4(%edi)
423c86:	74 19                	je     0x423ca1
423c88:	6a 01                	push   $0x1
423c8a:	6a 00                	push   $0x0
423c8c:	ff 76 1c             	push   0x1c(%esi)
423c8f:	ff 15 54 99 43 00    	call   *0x439954
423c95:	ff 77 04             	push   0x4(%edi)
423c98:	ff 76 1c             	push   0x1c(%esi)
423c9b:	ff 15 00 98 43 00    	call   *0x439800
423ca1:	8b 44 24 18          	mov    0x18(%esp),%eax
423ca5:	8b 48 68             	mov    0x68(%eax),%ecx
423ca8:	85 c9                	test   %ecx,%ecx
423caa:	74 07                	je     0x423cb3
423cac:	8b 01                	mov    (%ecx),%eax
423cae:	6a 01                	push   $0x1
423cb0:	ff 50 64             	call   *0x64(%eax)
423cb3:	8b 06                	mov    (%esi),%eax
423cb5:	6a 01                	push   $0x1
423cb7:	8b ce                	mov    %esi,%ecx
423cb9:	ff 90 d0 00 00 00    	call   *0xd0(%eax)
423cbf:	8b 07                	mov    (%edi),%eax
423cc1:	3b c3                	cmp    %ebx,%eax
423cc3:	74 0a                	je     0x423ccf
423cc5:	50                   	push   %eax
423cc6:	ff 76 1c             	push   0x1c(%esi)
423cc9:	ff d5                	call   *%ebp
423ccb:	89 44 24 20          	mov    %eax,0x20(%esp)
423ccf:	6a 05                	push   $0x5
423cd1:	ff 74 24 24          	push   0x24(%esp)
423cd5:	ff 15 04 98 43 00    	call   *0x439804
423cdb:	8b 47 14             	mov    0x14(%edi),%eax
423cde:	6a 01                	push   $0x1
423ce0:	8b ce                	mov    %esi,%ecx
423ce2:	89 46 48             	mov    %eax,0x48(%esi)
423ce5:	e8 94 e8 ff ff       	call   0x42257e
423cea:	5f                   	pop    %edi
423ceb:	5e                   	pop    %esi
423cec:	5d                   	pop    %ebp
423ced:	5b                   	pop    %ebx
423cee:	83 c4 0c             	add    $0xc,%esp
423cf1:	c2 08 00             	ret    $0x8
423cf4:	8b 44 24 04          	mov    0x4(%esp),%eax
423cf8:	83 89 b8 00 00 00 01 	orl    $0x1,0xb8(%ecx)
423cff:	89 81 a8 00 00 00    	mov    %eax,0xa8(%ecx)
423d05:	c2 04 00             	ret    $0x4
423d08:	56                   	push   %esi
423d09:	8b f1                	mov    %ecx,%esi
423d0b:	f6 86 b8 00 00 00 01 	testb  $0x1,0xb8(%esi)
423d12:	74 0e                	je     0x423d22
423d14:	8b 06                	mov    (%esi),%eax
423d16:	ff b6 a8 00 00 00    	push   0xa8(%esi)
423d1c:	ff 90 ec 00 00 00    	call   *0xec(%eax)
423d22:	f6 86 b8 00 00 00 02 	testb  $0x2,0xb8(%esi)
423d29:	74 0c                	je     0x423d37
423d2b:	8b 06                	mov    (%esi),%eax
423d2d:	6a 01                	push   $0x1
423d2f:	8b ce                	mov    %esi,%ecx
423d31:	ff 90 e8 00 00 00    	call   *0xe8(%eax)
423d37:	8b 86 b8 00 00 00    	mov    0xb8(%esi),%eax
423d3d:	a8 08                	test   $0x8,%al
423d3f:	74 17                	je     0x423d58
423d41:	8b 16                	mov    (%esi),%edx
423d43:	83 e0 04             	and    $0x4,%eax
423d46:	50                   	push   %eax
423d47:	8b ce                	mov    %esi,%ecx