7b46e3:	56                   	push   %esi
7b46e4:	8b 77 3c             	mov    0x3c(%edi),%esi
7b46e7:	83 f8 1e             	cmp    $0x1e,%eax
7b46ea:	0f 87 0a 09 00 00    	ja     0x7b4ffa
7b46f0:	8d 5f 54             	lea    0x54(%edi),%ebx
7b46f3:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
7b46f7:	8b 5c 24 14          	mov    0x14(%esp),%ebx
7b46fb:	0f 1f 44 00 00       	nopl   0x0(%eax,%eax,1)
7b4700:	ff 24 85 74 5c 7b 00 	jmp    *0x7b5c74(,%eax,4)
7b4707:	8b 47 08             	mov    0x8(%edi),%eax
7b470a:	85 c0                	test   %eax,%eax
7b470c:	75 0b                	jne    0x7b4719
7b470e:	c7 07 0c 00 00 00    	movl   $0xc,(%edi)
7b4714:	e9 d6 08 00 00       	jmp    0x7b4fef
7b4719:	83 fe 10             	cmp    $0x10,%esi
7b471c:	73 2c                	jae    0x7b474a
7b471e:	66 90                	xchg   %ax,%ax
7b4720:	85 ed                	test   %ebp,%ebp
7b4722:	0f 84 a9 04 00 00    	je     0x7b4bd1
7b4728:	0f b6 03             	movzbl (%ebx),%eax
7b472b:	8b ce                	mov    %esi,%ecx
7b472d:	d3 e0                	shl    %cl,%eax
7b472f:	43                   	inc    %ebx
7b4730:	03 d0                	add    %eax,%edx
7b4732:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b4736:	83 c6 08             	add    $0x8,%esi
7b4739:	89 54 24 10          	mov    %edx,0x10(%esp)
7b473d:	4d                   	dec    %ebp
7b473e:	83 fe 10             	cmp    $0x10,%esi
7b4741:	72 dd                	jb     0x7b4720
7b4743:	8b 47 08             	mov    0x8(%edi),%eax
7b4746:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b474a:	a8 02                	test   $0x2,%al
7b474c:	74 45                	je     0x7b4793
7b474e:	81 fa 1f 8b 00 00    	cmp    $0x8b1f,%edx
7b4754:	75 3d                	jne    0x7b4793
7b4756:	6a 00                	push   $0x0
7b4758:	6a 00                	push   $0x0
7b475a:	6a 00                	push   $0x0
7b475c:	e8 3c 2e c7 ff       	call   0x42759d
7b4761:	89 47 18             	mov    %eax,0x18(%edi)
7b4764:	8d 44 24 24          	lea    0x24(%esp),%eax
7b4768:	6a 02                	push   $0x2
7b476a:	50                   	push   %eax
7b476b:	66 c7 44 24 2c 1f 8b 	movw   $0x8b1f,0x2c(%esp)
7b4772:	ff 77 18             	push   0x18(%edi)
7b4775:	e8 23 2e c7 ff       	call   0x42759d
7b477a:	33 d2                	xor    %edx,%edx
7b477c:	89 47 18             	mov    %eax,0x18(%edi)
7b477f:	83 c4 18             	add    $0x18,%esp
7b4782:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4786:	33 f6                	xor    %esi,%esi
7b4788:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
7b478e:	e9 58 08 00 00       	jmp    0x7b4feb
7b4793:	8b 47 20             	mov    0x20(%edi),%eax
7b4796:	c7 47 10 00 00 00 00 	movl   $0x0,0x10(%edi)
7b479d:	85 c0                	test   %eax,%eax
7b479f:	74 07                	je     0x7b47a8
7b47a1:	c7 40 30 ff ff ff ff 	movl   $0xffffffff,0x30(%eax)
7b47a8:	f6 47 08 01          	testb  $0x1,0x8(%edi)
7b47ac:	0f 84 ba 00 00 00    	je     0x7b486c
7b47b2:	0f b6 ca             	movzbl %dl,%ecx
7b47b5:	8b c2                	mov    %edx,%eax
7b47b7:	c1 e1 08             	shl    $0x8,%ecx
7b47ba:	33 d2                	xor    %edx,%edx
7b47bc:	c1 e8 08             	shr    $0x8,%eax
7b47bf:	03 c1                	add    %ecx,%eax
7b47c1:	b9 1f 00 00 00       	mov    $0x1f,%ecx
7b47c6:	f7 f1                	div    %ecx
7b47c8:	85 d2                	test   %edx,%edx
7b47ca:	8b 54 24 10          	mov    0x10(%esp),%edx
7b47ce:	0f 85 94 00 00 00    	jne    0x7b4868
7b47d4:	8b c2                	mov    %edx,%eax
7b47d6:	24 0f                	and    $0xf,%al
7b47d8:	3c 08                	cmp    $0x8,%al
7b47da:	74 16                	je     0x7b47f2
7b47dc:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b47e0:	c7 41 18 74 86 c2 00 	movl   $0xc28674,0x18(%ecx)
7b47e7:	c7 07 1d 00 00 00    	movl   $0x1d,(%edi)
7b47ed:	e9 fd 07 00 00       	jmp    0x7b4fef
7b47f2:	8b 47 24             	mov    0x24(%edi),%eax
7b47f5:	83 ee 04             	sub    $0x4,%esi
7b47f8:	c1 ea 04             	shr    $0x4,%edx
7b47fb:	8b ca                	mov    %edx,%ecx
7b47fd:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4801:	83 e1 0f             	and    $0xf,%ecx
7b4804:	83 c1 08             	add    $0x8,%ecx
7b4807:	85 c0                	test   %eax,%eax
7b4809:	75 43                	jne    0x7b484e
7b480b:	89 4f 24             	mov    %ecx,0x24(%edi)
7b480e:	6a 00                	push   $0x0
7b4810:	b8 01 00 00 00       	mov    $0x1,%eax
7b4815:	d3 e0                	shl    %cl,%eax
7b4817:	6a 00                	push   $0x0
7b4819:	6a 00                	push   $0x0
7b481b:	89 47 14             	mov    %eax,0x14(%edi)
7b481e:	e8 b2 68 c7 ff       	call   0x42b0d5
7b4823:	8b 54 24 1c          	mov    0x1c(%esp),%edx
7b4827:	83 c4 0c             	add    $0xc,%esp
7b482a:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b482e:	c1 ea 08             	shr    $0x8,%edx
7b4831:	f7 d2                	not    %edx
7b4833:	89 47 18             	mov    %eax,0x18(%edi)
7b4836:	83 e2 02             	and    $0x2,%edx
7b4839:	83 ca 09             	or     $0x9,%edx
7b483c:	89 41 30             	mov    %eax,0x30(%ecx)
7b483f:	89 17                	mov    %edx,(%edi)
7b4841:	33 d2                	xor    %edx,%edx
7b4843:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4847:	33 f6                	xor    %esi,%esi
7b4849:	e9 a1 07 00 00       	jmp    0x7b4fef
7b484e:	3b c8                	cmp    %eax,%ecx
7b4850:	76 bc                	jbe    0x7b480e
7b4852:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b4856:	c7 41 18 94 86 c2 00 	movl   $0xc28694,0x18(%ecx)
7b485d:	c7 07 1d 00 00 00    	movl   $0x1d,(%edi)
7b4863:	e9 87 07 00 00       	jmp    0x7b4fef
7b4868:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b486c:	c7 41 18 58 86 c2 00 	movl   $0xc28658,0x18(%ecx)
7b4873:	c7 07 1d 00 00 00    	movl   $0x1d,(%edi)
7b4879:	e9 71 07 00 00       	jmp    0x7b4fef
7b487e:	83 fe 10             	cmp    $0x10,%esi
7b4881:	73 27                	jae    0x7b48aa
7b4883:	85 ed                	test   %ebp,%ebp
7b4885:	0f 84 46 03 00 00    	je     0x7b4bd1
7b488b:	0f b6 03             	movzbl (%ebx),%eax
7b488e:	8b ce                	mov    %esi,%ecx
7b4890:	d3 e0                	shl    %cl,%eax
7b4892:	43                   	inc    %ebx
7b4893:	03 d0                	add    %eax,%edx
7b4895:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b4899:	83 c6 08             	add    $0x8,%esi
7b489c:	89 54 24 10          	mov    %edx,0x10(%esp)
7b48a0:	4d                   	dec    %ebp
7b48a1:	83 fe 10             	cmp    $0x10,%esi
7b48a4:	72 dd                	jb     0x7b4883
7b48a6:	8b 4c 24 48          	mov    0x48(%esp),%ecx
7b48aa:	89 57 10             	mov    %edx,0x10(%edi)
7b48ad:	80 fa 08             	cmp    $0x8,%dl
7b48b0:	74 12                	je     0x7b48c4
7b48b2:	c7 41 18 74 86 c2 00 	movl   $0xc28674,0x18(%ecx)
7b48b9:	c7 07 1d 00 00 00    	movl   $0x1d,(%edi)
7b48bf:	e9 2b 07 00 00       	jmp    0x7b4fef
7b48c4:	f7 c2 00 e0 00 00    	test   $0xe000,%edx
7b48ca:	74 12                	je     0x7b48de
7b48cc:	c7 41 18 ac 86 c2 00 	movl   $0xc286ac,0x18(%ecx)
7b48d3:	c7 07 1d 00 00 00    	movl   $0x1d,(%edi)
7b48d9:	e9 11 07 00 00       	jmp    0x7b4fef
7b48de:	8b 4f 20             	mov    0x20(%edi),%ecx
7b48e1:	85 c9                	test   %ecx,%ecx
7b48e3:	74 0a                	je     0x7b48ef
7b48e5:	8b c2                	mov    %edx,%eax
7b48e7:	c1 e8 08             	shr    $0x8,%eax
7b48ea:	83 e0 01             	and    $0x1,%eax
7b48ed:	89 01                	mov    %eax,(%ecx)
7b48ef:	f7 47 10 00 02 00 00 	testl  $0x200,0x10(%edi)
7b48f6:	74 20                	je     0x7b4918
7b48f8:	88 54 24 18          	mov    %dl,0x18(%esp)
7b48fc:	8d 44 24 18          	lea    0x18(%esp),%eax
7b4900:	6a 02                	push   $0x2
7b4902:	c1 ea 08             	shr    $0x8,%edx
7b4905:	50                   	push   %eax
7b4906:	88 54 24 21          	mov    %dl,0x21(%esp)
7b490a:	ff 77 18             	push   0x18(%edi)
7b490d:	e8 8b 2c c7 ff       	call   0x42759d
7b4912:	83 c4 0c             	add    $0xc,%esp
7b4915:	89 47 18             	mov    %eax,0x18(%edi)
7b4918:	33 d2                	xor    %edx,%edx
7b491a:	c7 07 02 00 00 00    	movl   $0x2,(%edi)
7b4920:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4924:	33 f6                	xor    %esi,%esi
7b4926:	eb 08                	jmp    0x7b4930
7b4928:	83 fe 20             	cmp    $0x20,%esi
7b492b:	73 26                	jae    0x7b4953
7b492d:	0f 1f 00             	nopl   (%eax)
7b4930:	85 ed                	test   %ebp,%ebp
7b4932:	0f 84 99 02 00 00    	je     0x7b4bd1
7b4938:	0f b6 03             	movzbl (%ebx),%eax
7b493b:	8b ce                	mov    %esi,%ecx
7b493d:	d3 e0                	shl    %cl,%eax
7b493f:	43                   	inc    %ebx
7b4940:	03 d0                	add    %eax,%edx
7b4942:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b4946:	83 c6 08             	add    $0x8,%esi
7b4949:	89 54 24 10          	mov    %edx,0x10(%esp)
7b494d:	4d                   	dec    %ebp
7b494e:	83 fe 20             	cmp    $0x20,%esi
7b4951:	72 dd                	jb     0x7b4930
7b4953:	8b 47 20             	mov    0x20(%edi),%eax
7b4956:	85 c0                	test   %eax,%eax
7b4958:	74 03                	je     0x7b495d
7b495a:	89 50 04             	mov    %edx,0x4(%eax)
7b495d:	f7 47 10 00 02 00 00 	testl  $0x200,0x10(%edi)
7b4964:	74 32                	je     0x7b4998
7b4966:	8b c2                	mov    %edx,%eax
7b4968:	88 54 24 18          	mov    %dl,0x18(%esp)
7b496c:	c1 e8 08             	shr    $0x8,%eax
7b496f:	88 44 24 19          	mov    %al,0x19(%esp)
7b4973:	8b c2                	mov    %edx,%eax
7b4975:	c1 e8 10             	shr    $0x10,%eax
7b4978:	88 44 24 1a          	mov    %al,0x1a(%esp)
7b497c:	8d 44 24 18          	lea    0x18(%esp),%eax
7b4980:	6a 04                	push   $0x4
7b4982:	c1 ea 18             	shr    $0x18,%edx
7b4985:	50                   	push   %eax
7b4986:	88 54 24 23          	mov    %dl,0x23(%esp)
7b498a:	ff 77 18             	push   0x18(%edi)
7b498d:	e8 0b 2c c7 ff       	call   0x42759d
7b4992:	83 c4 0c             	add    $0xc,%esp
7b4995:	89 47 18             	mov    %eax,0x18(%edi)
7b4998:	33 d2                	xor    %edx,%edx
7b499a:	c7 07 03 00 00 00    	movl   $0x3,(%edi)
7b49a0:	89 54 24 10          	mov    %edx,0x10(%esp)
7b49a4:	33 f6                	xor    %esi,%esi
7b49a6:	eb 08                	jmp    0x7b49b0
7b49a8:	83 fe 10             	cmp    $0x10,%esi
7b49ab:	73 26                	jae    0x7b49d3
7b49ad:	0f 1f 00             	nopl   (%eax)
7b49b0:	85 ed                	test   %ebp,%ebp
7b49b2:	0f 84 19 02 00 00    	je     0x7b4bd1
7b49b8:	0f b6 03             	movzbl (%ebx),%eax
7b49bb:	8b ce                	mov    %esi,%ecx
7b49bd:	d3 e0                	shl    %cl,%eax
7b49bf:	43                   	inc    %ebx
7b49c0:	03 d0                	add    %eax,%edx
7b49c2:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b49c6:	83 c6 08             	add    $0x8,%esi
7b49c9:	89 54 24 10          	mov    %edx,0x10(%esp)
7b49cd:	4d                   	dec    %ebp
7b49ce:	83 fe 10             	cmp    $0x10,%esi
7b49d1:	72 dd                	jb     0x7b49b0
7b49d3:	8b 4f 20             	mov    0x20(%edi),%ecx
7b49d6:	85 c9                	test   %ecx,%ecx
7b49d8:	74 11                	je     0x7b49eb
7b49da:	0f b6 c2             	movzbl %dl,%eax
7b49dd:	89 41 08             	mov    %eax,0x8(%ecx)
7b49e0:	8b ca                	mov    %edx,%ecx
7b49e2:	8b 47 20             	mov    0x20(%edi),%eax
7b49e5:	c1 e9 08             	shr    $0x8,%ecx
7b49e8:	89 48 0c             	mov    %ecx,0xc(%eax)
7b49eb:	f7 47 10 00 02 00 00 	testl  $0x200,0x10(%edi)
7b49f2:	74 20                	je     0x7b4a14
7b49f4:	88 54 24 18          	mov    %dl,0x18(%esp)
7b49f8:	8d 44 24 18          	lea    0x18(%esp),%eax
7b49fc:	6a 02                	push   $0x2
7b49fe:	c1 ea 08             	shr    $0x8,%edx
7b4a01:	50                   	push   %eax
7b4a02:	88 54 24 21          	mov    %dl,0x21(%esp)
7b4a06:	ff 77 18             	push   0x18(%edi)
7b4a09:	e8 8f 2b c7 ff       	call   0x42759d
7b4a0e:	83 c4 0c             	add    $0xc,%esp
7b4a11:	89 47 18             	mov    %eax,0x18(%edi)
7b4a14:	33 d2                	xor    %edx,%edx
7b4a16:	c7 07 04 00 00 00    	movl   $0x4,(%edi)
7b4a1c:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4a20:	33 f6                	xor    %esi,%esi
7b4a22:	f7 47 10 00 04 00 00 	testl  $0x400,0x10(%edi)
7b4a29:	74 68                	je     0x7b4a93
7b4a2b:	83 fe 10             	cmp    $0x10,%esi
7b4a2e:	73 23                	jae    0x7b4a53
7b4a30:	85 ed                	test   %ebp,%ebp
7b4a32:	0f 84 99 01 00 00    	je     0x7b4bd1
7b4a38:	0f b6 03             	movzbl (%ebx),%eax
7b4a3b:	8b ce                	mov    %esi,%ecx
7b4a3d:	d3 e0                	shl    %cl,%eax
7b4a3f:	43                   	inc    %ebx
7b4a40:	03 d0                	add    %eax,%edx
7b4a42:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b4a46:	83 c6 08             	add    $0x8,%esi
7b4a49:	89 54 24 10          	mov    %edx,0x10(%esp)
7b4a4d:	4d                   	dec    %ebp
7b4a4e:	83 fe 10             	cmp    $0x10,%esi
7b4a51:	72 dd                	jb     0x7b4a30
7b4a53:	8b 47 20             	mov    0x20(%edi),%eax
7b4a56:	89 57 40             	mov    %edx,0x40(%edi)
7b4a59:	85 c0                	test   %eax,%eax
7b4a5b:	74 03                	je     0x7b4a60
7b4a5d:	89 50 14             	mov    %edx,0x14(%eax)
7b4a60:	f7 47 10 00 02 00 00 	testl  $0x200,0x10(%edi)
7b4a67:	74 20                	je     0x7b4a89
7b4a69:	88 54 24 18          	mov    %dl,0x18(%esp)
7b4a6d:	8d 44 24 18          	lea    0x18(%esp),%eax
7b4a71:	6a 02                	push   $0x2
7b4a73:	c1 ea 08             	shr    $0x8,%edx
7b4a76:	50                   	push   %eax
7b4a77:	88 54 24 21          	mov    %dl,0x21(%esp)
7b4a7b:	ff 77 18             	push   0x18(%edi)
7b4a7e:	e8 1a 2b c7 ff       	call   0x42759d
7b4a83:	83 c4 0c             	add    $0xc,%esp
7b4a86:	89 47 18             	mov    %eax,0x18(%edi)
7b4a89:	33 c9                	xor    %ecx,%ecx
7b4a8b:	33 f6                	xor    %esi,%esi
7b4a8d:	89 4c 24 10          	mov    %ecx,0x10(%esp)
7b4a91:	eb 0e                	jmp    0x7b4aa1
7b4a93:	8b 47 20             	mov    0x20(%edi),%eax
7b4a96:	85 c0                	test   %eax,%eax
7b4a98:	74 07                	je     0x7b4aa1
7b4a9a:	c7 40 10 00 00 00 00 	movl   $0x0,0x10(%eax)
7b4aa1:	c7 07 05 00 00 00    	movl   $0x5,(%edi)
7b4aa7:	f7 47 10 00 04 00 00 	testl  $0x400,0x10(%edi)
7b4aae:	0f 84 84 00 00 00    	je     0x7b4b38
7b4ab4:	8b 4f 40             	mov    0x40(%edi),%ecx
7b4ab7:	3b cd                	cmp    %ebp,%ecx
7b4ab9:	0f 47 cd             	cmova  %ebp,%ecx
7b4abc:	89 4c 24 30          	mov    %ecx,0x30(%esp)
7b4ac0:	85 c9                	test   %ecx,%ecx
7b4ac2:	74 6a                	je     0x7b4b2e
7b4ac4:	8b 57 20             	mov    0x20(%edi),%edx
7b4ac7:	85 d2                	test   %edx,%edx
7b4ac9:	74 3b                	je     0x7b4b06
7b4acb:	8b 42 10             	mov    0x10(%edx),%eax
7b4ace:	89 44 24 14          	mov    %eax,0x14(%esp)
7b4ad2:	85 c0                	test   %eax,%eax
7b4ad4:	74 30                	je     0x7b4b06
7b4ad6:	8b 42 14             	mov    0x14(%edx),%eax
7b4ad9:	2b 47 40             	sub    0x40(%edi),%eax
7b4adc:	8b 52 18             	mov    0x18(%edx),%edx
7b4adf:	89 44 24 34          	mov    %eax,0x34(%esp)
7b4ae3:	03 c1                	add    %ecx,%eax
7b4ae5:	3b c2                	cmp    %edx,%eax
7b4ae7:	8b 44 24 34          	mov    0x34(%esp),%eax
7b4aeb:	76 04                	jbe    0x7b4af1
7b4aed:	2b d0                	sub    %eax,%edx
7b4aef:	eb 02                	jmp    0x7b4af3
7b4af1:	8b d1                	mov    %ecx,%edx
7b4af3:	03 44 24 14          	add    0x14(%esp),%eax
7b4af7:	52                   	push   %edx
7b4af8:	53                   	push   %ebx
7b4af9:	50                   	push   %eax
7b4afa:	e8 83 fb c5 ff       	call   0x414682
7b4aff:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
7b4b03:	83 c4 0c             	add    $0xc,%esp
7b4b06:	f7 47 10 00 02 00 00 	testl  $0x200,0x10(%edi)
7b4b0d:	74 10                	je     0x7b4b1f
7b4b0f:	51                   	push   %ecx
7b4b10:	53                   	push   %ebx
7b4b11:	ff 77 18             	push   0x18(%edi)
7b4b14:	e8 84 2a c7 ff       	call   0x42759d
7b4b19:	83 c4 0c             	add    $0xc,%esp
7b4b1c:	89 47 18             	mov    %eax,0x18(%edi)
7b4b1f:	8b 44 24 30          	mov    0x30(%esp),%eax
7b4b23:	03 d8                	add    %eax,%ebx
7b4b25:	2b e8                	sub    %eax,%ebp
7b4b27:	89 5c 24 14          	mov    %ebx,0x14(%esp)
7b4b2b:	29 47 40             	sub    %eax,0x40(%edi)
7b4b2e:	83 7f 40 00          	cmpl   $0x0,0x40(%edi)
7b4b32:	0f 85 99 00 00 00    	jne    0x7b4bd1
7b4b38:	c7 47 40 00 00 00 00 	movl   $0x0,0x40(%edi)
7b4b3f:	c7 07 06 00 00 00    	movl   $0x6,(%edi)
7b4b45:	f7 47 10 00 08 00 00 	testl  $0x800,0x10(%edi)