55f6cc:	33 c9                	xor    %ecx,%ecx
55f6ce:	33 c0                	xor    %eax,%eax
55f6d0:	89 4b 24             	mov    %ecx,0x24(%ebx)
55f6d3:	89 43 2c             	mov    %eax,0x2c(%ebx)
55f6d6:	33 d2                	xor    %edx,%edx
55f6d8:	89 53 30             	mov    %edx,0x30(%ebx)
55f6db:	8b c3                	mov    %ebx,%eax
55f6dd:	eb 09                	jmp    0x55f6e8
55f6df:	8b c3                	mov    %ebx,%eax
55f6e1:	e8 0a 00 00 00       	call   0x55f6f0
55f6e6:	33 c0                	xor    %eax,%eax
55f6e8:	83 c4 14             	add    $0x14,%esp
55f6eb:	5d                   	pop    %ebp
55f6ec:	5f                   	pop    %edi
55f6ed:	5e                   	pop    %esi
55f6ee:	5b                   	pop    %ebx
55f6ef:	c3                   	ret
55f6f0:	53                   	push   %ebx
55f6f1:	8b d8                	mov    %eax,%ebx
55f6f3:	56                   	push   %esi
55f6f4:	57                   	push   %edi
55f6f5:	8b 43 1c             	mov    0x1c(%ebx),%eax
55f6f8:	85 c0                	test   %eax,%eax
55f6fa:	74 20                	je     0x55f71c
55f6fc:	33 ff                	xor    %edi,%edi
55f6fe:	8b f0                	mov    %eax,%esi
55f700:	eb 0b                	jmp    0x55f70d
55f702:	8b c6                	mov    %esi,%eax
55f704:	e8 2f 02 00 00       	call   0x55f938
55f709:	47                   	inc    %edi
55f70a:	83 c6 3c             	add    $0x3c,%esi
55f70d:	8b 53 18             	mov    0x18(%ebx),%edx
55f710:	3b fa                	cmp    %edx,%edi
55f712:	72 ee                	jb     0x55f702
55f714:	8b 43 1c             	mov    0x1c(%ebx),%eax
55f717:	e8 68 8c 01 00       	call   0x578384
55f71c:	8b 43 20             	mov    0x20(%ebx),%eax
55f71f:	85 c0                	test   %eax,%eax
55f721:	74 05                	je     0x55f728
55f723:	e8 f4 a2 01 00       	call   0x579a1c
55f728:	8b 43 24             	mov    0x24(%ebx),%eax
55f72b:	85 c0                	test   %eax,%eax
55f72d:	74 05                	je     0x55f734
55f72f:	e8 e8 a2 01 00       	call   0x579a1c
55f734:	8b 43 2c             	mov    0x2c(%ebx),%eax
55f737:	85 c0                	test   %eax,%eax
55f739:	74 05                	je     0x55f740
55f73b:	e8 dc a2 01 00       	call   0x579a1c
55f740:	8b 43 30             	mov    0x30(%ebx),%eax
55f743:	85 c0                	test   %eax,%eax
55f745:	74 05                	je     0x55f74c
55f747:	e8 d0 a2 01 00       	call   0x579a1c
55f74c:	5f                   	pop    %edi
55f74d:	5e                   	pop    %esi
55f74e:	5b                   	pop    %ebx
55f74f:	c3                   	ret
55f750:	53                   	push   %ebx
55f751:	56                   	push   %esi
55f752:	8b f1                	mov    %ecx,%esi
55f754:	57                   	push   %edi
55f755:	8b d8                	mov    %eax,%ebx
55f757:	55                   	push   %ebp
55f758:	8b 56 1c             	mov    0x1c(%esi),%edx
55f75b:	8b c3                	mov    %ebx,%eax
55f75d:	2b c2                	sub    %edx,%eax
55f75f:	b9 3c 00 00 00       	mov    $0x3c,%ecx
55f764:	99                   	cltd
55f765:	f7 f9                	idiv   %ecx
55f767:	8b c8                	mov    %eax,%ecx
55f769:	8b 7e 10             	mov    0x10(%esi),%edi
55f76c:	8b c1                	mov    %ecx,%eax
55f76e:	33 d2                	xor    %edx,%edx
55f770:	f7 f7                	div    %edi
55f772:	8b ea                	mov    %edx,%ebp
55f774:	33 d2                	xor    %edx,%edx
55f776:	8b c1                	mov    %ecx,%eax
55f778:	33 c9                	xor    %ecx,%ecx
55f77a:	f7 f7                	div    %edi
55f77c:	8b d0                	mov    %eax,%edx
55f77e:	8b 46 28             	mov    0x28(%esi),%eax
55f781:	83 c4 e8             	add    $0xffffffe8,%esp
55f784:	8b 40 20             	mov    0x20(%eax),%eax
55f787:	89 73 2c             	mov    %esi,0x2c(%ebx)
55f78a:	89 0b                	mov    %ecx,(%ebx)
55f78c:	33 c9                	xor    %ecx,%ecx
55f78e:	89 4b 04             	mov    %ecx,0x4(%ebx)
55f791:	33 c9                	xor    %ecx,%ecx
55f793:	89 4b 08             	mov    %ecx,0x8(%ebx)
55f796:	33 c9                	xor    %ecx,%ecx
55f798:	89 4b 0c             	mov    %ecx,0xc(%ebx)
55f79b:	33 c9                	xor    %ecx,%ecx
55f79d:	89 4b 10             	mov    %ecx,0x10(%ebx)
55f7a0:	33 c9                	xor    %ecx,%ecx
55f7a2:	89 4b 14             	mov    %ecx,0x14(%ebx)
55f7a5:	33 c9                	xor    %ecx,%ecx
55f7a7:	89 4b 18             	mov    %ecx,0x18(%ebx)
55f7aa:	33 c9                	xor    %ecx,%ecx
55f7ac:	89 4b 20             	mov    %ecx,0x20(%ebx)
55f7af:	33 c9                	xor    %ecx,%ecx
55f7b1:	89 4b 24             	mov    %ecx,0x24(%ebx)
55f7b4:	33 c9                	xor    %ecx,%ecx
55f7b6:	89 4b 28             	mov    %ecx,0x28(%ebx)
55f7b9:	33 c9                	xor    %ecx,%ecx
55f7bb:	89 4b 1c             	mov    %ecx,0x1c(%ebx)
55f7be:	33 c9                	xor    %ecx,%ecx
55f7c0:	89 4b 30             	mov    %ecx,0x30(%ebx)
55f7c3:	33 c9                	xor    %ecx,%ecx
55f7c5:	89 4b 34             	mov    %ecx,0x34(%ebx)
55f7c8:	33 c9                	xor    %ecx,%ecx
55f7ca:	89 4b 38             	mov    %ecx,0x38(%ebx)
55f7cd:	8b 4e 28             	mov    0x28(%esi),%ecx
55f7d0:	89 0c 24             	mov    %ecx,(%esp)
55f7d3:	66 83 78 2c 00       	cmpw   $0x0,0x2c(%eax)
55f7d8:	76 14                	jbe    0x55f7ee
55f7da:	66 8b 48 2c          	mov    0x2c(%eax),%cx
55f7de:	bf 01 00 00 00       	mov    $0x1,%edi
55f7e3:	d3 e7                	shl    %cl,%edi
55f7e5:	4f                   	dec    %edi
55f7e6:	8b 0e                	mov    (%esi),%ecx
55f7e8:	f7 d7                	not    %edi
55f7ea:	23 f9                	and    %ecx,%edi
55f7ec:	eb 02                	jmp    0x55f7f0
55f7ee:	8b 3e                	mov    (%esi),%edi
55f7f0:	89 7c 24 10          	mov    %edi,0x10(%esp)
55f7f4:	66 83 78 2e 00       	cmpw   $0x0,0x2e(%eax)
55f7f9:	76 15                	jbe    0x55f810
55f7fb:	66 8b 48 2e          	mov    0x2e(%eax),%cx
55f7ff:	bf 01 00 00 00       	mov    $0x1,%edi
55f804:	d3 e7                	shl    %cl,%edi
55f806:	4f                   	dec    %edi
55f807:	8b 4e 04             	mov    0x4(%esi),%ecx
55f80a:	f7 d7                	not    %edi
55f80c:	23 f9                	and    %ecx,%edi
55f80e:	eb 03                	jmp    0x55f813
55f810:	8b 7e 04             	mov    0x4(%esi),%edi
55f813:	89 7c 24 14          	mov    %edi,0x14(%esp)
55f817:	66 8b 48 2c          	mov    0x2c(%eax),%cx
55f81b:	8b fd                	mov    %ebp,%edi
55f81d:	d3 e7                	shl    %cl,%edi
55f81f:	8b 4c 24 10          	mov    0x10(%esp),%ecx
55f823:	03 f9                	add    %ecx,%edi
55f825:	8b 0e                	mov    (%esi),%ecx
55f827:	3b f9                	cmp    %ecx,%edi
55f829:	76 10                	jbe    0x55f83b
55f82b:	66 8b 48 2c          	mov    0x2c(%eax),%cx
55f82f:	8b fd                	mov    %ebp,%edi
55f831:	d3 e7                	shl    %cl,%edi
55f833:	8b 4c 24 10          	mov    0x10(%esp),%ecx
55f837:	03 f9                	add    %ecx,%edi
55f839:	eb 02                	jmp    0x55f83d
55f83b:	8b 3e                	mov    (%esi),%edi
55f83d:	89 7c 24 04          	mov    %edi,0x4(%esp)
55f841:	66 8b 48 2e          	mov    0x2e(%eax),%cx
55f845:	8b fa                	mov    %edx,%edi
55f847:	d3 e7                	shl    %cl,%edi
55f849:	8b 4c 24 14          	mov    0x14(%esp),%ecx
55f84d:	03 f9                	add    %ecx,%edi
55f84f:	8b 4e 04             	mov    0x4(%esi),%ecx
55f852:	3b f9                	cmp    %ecx,%edi
55f854:	76 10                	jbe    0x55f866
55f856:	66 8b 48 2e          	mov    0x2e(%eax),%cx
55f85a:	8b fa                	mov    %edx,%edi
55f85c:	d3 e7                	shl    %cl,%edi
55f85e:	8b 4c 24 14          	mov    0x14(%esp),%ecx
55f862:	03 f9                	add    %ecx,%edi
55f864:	eb 03                	jmp    0x55f869
55f866:	8b 7e 04             	mov    0x4(%esi),%edi
55f869:	89 7c 24 08          	mov    %edi,0x8(%esp)
55f86d:	66 8b 48 2c          	mov    0x2c(%eax),%cx
55f871:	8d 7d 01             	lea    0x1(%ebp),%edi
55f874:	d3 e7                	shl    %cl,%edi
55f876:	8b 4c 24 10          	mov    0x10(%esp),%ecx
55f87a:	03 f9                	add    %ecx,%edi
55f87c:	8b 4e 08             	mov    0x8(%esi),%ecx
55f87f:	3b f9                	cmp    %ecx,%edi
55f881:	73 0f                	jae    0x55f892
55f883:	66 8b 48 2c          	mov    0x2c(%eax),%cx
55f887:	45                   	inc    %ebp
55f888:	d3 e5                	shl    %cl,%ebp
55f88a:	8b 4c 24 10          	mov    0x10(%esp),%ecx
55f88e:	03 e9                	add    %ecx,%ebp
55f890:	eb 03                	jmp    0x55f895
55f892:	8b 6e 08             	mov    0x8(%esi),%ebp
55f895:	89 6c 24 0c          	mov    %ebp,0xc(%esp)
55f899:	66 8b 48 2e          	mov    0x2e(%eax),%cx
55f89d:	8d 7a 01             	lea    0x1(%edx),%edi
55f8a0:	d3 e7                	shl    %cl,%edi
55f8a2:	8b 4c 24 14          	mov    0x14(%esp),%ecx
55f8a6:	03 f9                	add    %ecx,%edi
55f8a8:	8b 4e 0c             	mov    0xc(%esi),%ecx
55f8ab:	3b f9                	cmp    %ecx,%edi
55f8ad:	73 0f                	jae    0x55f8be
55f8af:	66 8b 48 2e          	mov    0x2e(%eax),%cx
55f8b3:	42                   	inc    %edx
55f8b4:	d3 e2                	shl    %cl,%edx
55f8b6:	8b 44 24 14          	mov    0x14(%esp),%eax
55f8ba:	03 d0                	add    %eax,%edx
55f8bc:	eb 03                	jmp    0x55f8c1
55f8be:	8b 56 0c             	mov    0xc(%esi),%edx
55f8c1:	8b f2                	mov    %edx,%esi
55f8c3:	8b 44 24 04          	mov    0x4(%esp),%eax
55f8c7:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
55f8cb:	3b c1                	cmp    %ecx,%eax
55f8cd:	73 08                	jae    0x55f8d7
55f8cf:	8b 44 24 08          	mov    0x8(%esp),%eax
55f8d3:	3b f0                	cmp    %eax,%esi
55f8d5:	77 17                	ja     0x55f8ee
55f8d7:	68 15 0a 00 00       	push   $0xa15
55f8dc:	68 58 e4 69 00       	push   $0x69e458
55f8e1:	68 31 e4 69 00       	push   $0x69e431
55f8e6:	e8 55 b2 ff ff       	call   0x55ab40
55f8eb:	83 c4 0c             	add    $0xc,%esp
55f8ee:	6a 00                	push   $0x0
55f8f0:	33 c9                	xor    %ecx,%ecx
55f8f2:	33 d2                	xor    %edx,%edx
55f8f4:	33 c0                	xor    %eax,%eax
55f8f6:	e8 5d 83 01 00       	call   0x577c58
55f8fb:	8b e8                	mov    %eax,%ebp
55f8fd:	89 6b 1c             	mov    %ebp,0x1c(%ebx)
55f900:	85 ed                	test   %ebp,%ebp
55f902:	74 21                	je     0x55f925
55f904:	8b 44 24 08          	mov    0x8(%esp),%eax
55f908:	50                   	push   %eax
55f909:	8b 54 24 10          	mov    0x10(%esp),%edx
55f90d:	52                   	push   %edx
55f90e:	56                   	push   %esi
55f90f:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
55f913:	8b 51 04             	mov    0x4(%ecx),%edx
55f916:	8b 4c 24 10          	mov    0x10(%esp),%ecx
55f91a:	8b c5                	mov    %ebp,%eax
55f91c:	e8 6b 85 01 00       	call   0x577e8c
55f921:	8b c3                	mov    %ebx,%eax
55f923:	eb 09                	jmp    0x55f92e
55f925:	8b c3                	mov    %ebx,%eax
55f927:	e8 0c 00 00 00       	call   0x55f938
55f92c:	33 c0                	xor    %eax,%eax
55f92e:	83 c4 18             	add    $0x18,%esp
55f931:	5d                   	pop    %ebp
55f932:	5f                   	pop    %edi
55f933:	5e                   	pop    %esi
55f934:	5b                   	pop    %ebx
55f935:	c3                   	ret
55f936:	90                   	nop
55f937:	90                   	nop
55f938:	53                   	push   %ebx
55f939:	8b d8                	mov    %eax,%ebx
55f93b:	56                   	push   %esi
55f93c:	57                   	push   %edi
55f93d:	8b 43 04             	mov    0x4(%ebx),%eax
55f940:	85 c0                	test   %eax,%eax
55f942:	74 22                	je     0x55f966
55f944:	33 ff                	xor    %edi,%edi
55f946:	8b f0                	mov    %eax,%esi
55f948:	eb 0b                	jmp    0x55f955
55f94a:	8b c6                	mov    %esi,%eax
55f94c:	e8 4b 00 00 00       	call   0x55f99c
55f951:	47                   	inc    %edi
55f952:	83 c6 48             	add    $0x48,%esi
55f955:	0f b7 d7             	movzwl %di,%edx
55f958:	8b 0b                	mov    (%ebx),%ecx
55f95a:	3b d1                	cmp    %ecx,%edx
55f95c:	7c ec                	jl     0x55f94a
55f95e:	8b 43 04             	mov    0x4(%ebx),%eax
55f961:	e8 1e 8a 01 00       	call   0x578384
55f966:	8b 43 14             	mov    0x14(%ebx),%eax
55f969:	85 c0                	test   %eax,%eax
55f96b:	74 05                	je     0x55f972
55f96d:	e8 ca 8d 01 00       	call   0x57873c
55f972:	8b 43 18             	mov    0x18(%ebx),%eax
55f975:	85 c0                	test   %eax,%eax
55f977:	74 05                	je     0x55f97e
55f979:	e8 1a 27 01 00       	call   0x572098
55f97e:	8b 43 1c             	mov    0x1c(%ebx),%eax
55f981:	85 c0                	test   %eax,%eax
55f983:	74 05                	je     0x55f98a
55f985:	e8 0a 84 01 00       	call   0x577d94
55f98a:	8b 43 20             	mov    0x20(%ebx),%eax
55f98d:	85 c0                	test   %eax,%eax
55f98f:	74 05                	je     0x55f996
55f991:	e8 fe 83 01 00       	call   0x577d94
55f996:	5f                   	pop    %edi
55f997:	5e                   	pop    %esi
55f998:	5b                   	pop    %ebx
55f999:	c3                   	ret
55f99a:	90                   	nop
55f99b:	90                   	nop
55f99c:	c3                   	ret
55f99d:	90                   	nop
55f99e:	90                   	nop
55f99f:	90                   	nop
55f9a0:	53                   	push   %ebx
55f9a1:	56                   	push   %esi
55f9a2:	57                   	push   %edi
55f9a3:	55                   	push   %ebp
55f9a4:	83 c4 e8             	add    $0xffffffe8,%esp
55f9a7:	8b 40 0c             	mov    0xc(%eax),%eax
55f9aa:	89 04 24             	mov    %eax,(%esp)
55f9ad:	66 c7 44 24 0c 00 00 	movw   $0x0,0xc(%esp)
55f9b4:	8b 14 24             	mov    (%esp),%edx
55f9b7:	8b 4a 2c             	mov    0x2c(%edx),%ecx
55f9ba:	89 4c 24 04          	mov    %ecx,0x4(%esp)
55f9be:	e9 7e 01 00 00       	jmp    0x55fb41
55f9c3:	8b 44 24 04          	mov    0x4(%esp),%eax
55f9c7:	8b 40 08             	mov    0x8(%eax),%eax
55f9ca:	8b 50 10             	mov    0x10(%eax),%edx
55f9cd:	52                   	push   %edx
55f9ce:	8b 48 0c             	mov    0xc(%eax),%ecx
55f9d1:	51                   	push   %ecx
55f9d2:	8b 50 08             	mov    0x8(%eax),%edx
55f9d5:	52                   	push   %edx
55f9d6:	8b 40 04             	mov    0x4(%eax),%eax
55f9d9:	50                   	push   %eax
55f9da:	68 62 e4 69 00       	push   $0x69e462
55f9df:	68 80 2e 6a 00       	push   $0x6a2e80
55f9e4:	e8 e3 a6 01 00       	call   0x57a0cc
55f9e9:	83 c4 18             	add    $0x18,%esp
55f9ec:	66 c7 44 24 0e 00 00 	movw   $0x0,0xe(%esp)
55f9f3:	8b 4c 24 04          	mov    0x4(%esp),%ecx
55f9f7:	8b 41 04             	mov    0x4(%ecx),%eax
55f9fa:	89 44 24 08          	mov    %eax,0x8(%esp)
55f9fe:	e9 1f 01 00 00       	jmp    0x55fb22
55fa03:	8b 54 24 08          	mov    0x8(%esp),%edx
55fa07:	8b 4a 0c             	mov    0xc(%edx),%ecx
55fa0a:	51                   	push   %ecx
55fa0b:	8b 44 24 0c          	mov    0xc(%esp),%eax
55fa0f:	8b 50 08             	mov    0x8(%eax),%edx
55fa12:	52                   	push   %edx
55fa13:	8b 4c 24 10          	mov    0x10(%esp),%ecx
55fa17:	8b 41 04             	mov    0x4(%ecx),%eax
55fa1a:	50                   	push   %eax
55fa1b:	8b 54 24 14          	mov    0x14(%esp),%edx
55fa1f:	8b 0a                	mov    (%edx),%ecx
55fa21:	51                   	push   %ecx
55fa22:	68 7b e4 69 00       	push   $0x69e47b
55fa27:	68 80 2e 6a 00       	push   $0x6a2e80
55fa2c:	e8 9b a6 01 00       	call   0x57a0cc
55fa31:	83 c4 18             	add    $0x18,%esp
55fa34:	66 c7 44 24 10 00 00 	movw   $0x0,0x10(%esp)
55fa3b:	8b 44 24 08          	mov    0x8(%esp),%eax
55fa3f:	8b 78 34             	mov    0x34(%eax),%edi
55fa42:	e9 bd 00 00 00       	jmp    0x55fb04
55fa47:	8b 47 04             	mov    0x4(%edi),%eax
55fa4a:	85 c0                	test   %eax,%eax
55fa4c:	0f 84 aa 00 00 00    	je     0x55fafc
55fa52:	8b 50 10             	mov    0x10(%eax),%edx
55fa55:	52                   	push   %edx
55fa56:	8b 48 0c             	mov    0xc(%eax),%ecx
55fa59:	51                   	push   %ecx
55fa5a:	8b 50 08             	mov    0x8(%eax),%edx
55fa5d:	52                   	push   %edx