5566cb:	89 8c 24 30 01 00 00 	mov    %ecx,0x130(%esp)
5566d2:	42                   	inc    %edx
5566d3:	3b f2                	cmp    %edx,%esi
5566d5:	7f b5                	jg     0x55668c
5566d7:	8b 93 cc 01 00 00    	mov    0x1cc(%ebx),%edx
5566dd:	0f b7 52 08          	movzwl 0x8(%edx),%edx
5566e1:	0f af 94 24 34 01 00 	imul   0x134(%esp),%edx
5566e8:	00
5566e9:	c1 ea 03             	shr    $0x3,%edx
5566ec:	89 94 24 34 01 00 00 	mov    %edx,0x134(%esp)
5566f3:	8b 8b cc 01 00 00    	mov    0x1cc(%ebx),%ecx
5566f9:	0f b7 51 08          	movzwl 0x8(%ecx),%edx
5566fd:	0f af 94 24 30 01 00 	imul   0x130(%esp),%edx
556704:	00
556705:	c1 ea 03             	shr    $0x3,%edx
556708:	89 94 24 30 01 00 00 	mov    %edx,0x130(%esp)
55670f:	8b 8c 24 30 01 00 00 	mov    0x130(%esp),%ecx
556716:	81 f9 c0 ff 3f 00    	cmp    $0x3fffc0,%ecx
55671c:	76 0d                	jbe    0x55672b
55671e:	c7 84 24 28 01 00 00 	movl   $0x7fffffff,0x128(%esp)
556725:	ff ff ff 7f
556729:	eb 1a                	jmp    0x556745
55672b:	8b 94 24 30 01 00 00 	mov    0x130(%esp),%edx
556732:	c1 e2 0a             	shl    $0xa,%edx
556735:	8b 8c 24 34 01 00 00 	mov    0x134(%esp),%ecx
55673c:	03 d1                	add    %ecx,%edx
55673e:	89 94 24 28 01 00 00 	mov    %edx,0x128(%esp)
556745:	33 d2                	xor    %edx,%edx
556747:	89 94 24 2c 01 00 00 	mov    %edx,0x12c(%esp)
55674e:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
556752:	41                   	inc    %ecx
556753:	89 8c 24 10 01 00 00 	mov    %ecx,0x110(%esp)
55675a:	8b 93 bc 00 00 00    	mov    0xbc(%ebx),%edx
556760:	42                   	inc    %edx
556761:	89 94 24 14 01 00 00 	mov    %edx,0x114(%esp)
556768:	8b 4c 24 04          	mov    0x4(%esp),%ecx
55676c:	41                   	inc    %ecx
55676d:	89 8c 24 18 01 00 00 	mov    %ecx,0x118(%esp)
556774:	8b 94 24 2c 01 00 00 	mov    0x12c(%esp),%edx
55677b:	3b c2                	cmp    %edx,%eax
55677d:	76 67                	jbe    0x5567e6
55677f:	8b 8c 24 10 01 00 00 	mov    0x110(%esp),%ecx
556786:	8a 11                	mov    (%ecx),%dl
556788:	8b 8c 24 18 01 00 00 	mov    0x118(%esp),%ecx
55678f:	8a 09                	mov    (%ecx),%cl
556791:	2a d1                	sub    %cl,%dl
556793:	8b 8c 24 14 01 00 00 	mov    0x114(%esp),%ecx
55679a:	80 e2 ff             	and    $0xff,%dl
55679d:	88 11                	mov    %dl,(%ecx)
55679f:	81 e2 ff 00 00 00    	and    $0xff,%edx
5567a5:	ff 84 24 18 01 00 00 	incl   0x118(%esp)
5567ac:	ff 84 24 10 01 00 00 	incl   0x110(%esp)
5567b3:	ff 84 24 14 01 00 00 	incl   0x114(%esp)
5567ba:	81 fa 80 00 00 00    	cmp    $0x80,%edx
5567c0:	7d 04                	jge    0x5567c6
5567c2:	8b ca                	mov    %edx,%ecx
5567c4:	eb 07                	jmp    0x5567cd
5567c6:	b9 00 01 00 00       	mov    $0x100,%ecx
5567cb:	2b ca                	sub    %edx,%ecx
5567cd:	01 8c 24 24 01 00 00 	add    %ecx,0x124(%esp)
5567d4:	ff 84 24 2c 01 00 00 	incl   0x12c(%esp)
5567db:	8b 94 24 2c 01 00 00 	mov    0x12c(%esp),%edx
5567e2:	3b c2                	cmp    %edx,%eax
5567e4:	77 99                	ja     0x55677f
5567e6:	8b 44 24 0c          	mov    0xc(%esp),%eax
5567ea:	40                   	inc    %eax
5567eb:	89 84 24 20 01 00 00 	mov    %eax,0x120(%esp)
5567f2:	8b 44 24 04          	mov    0x4(%esp),%eax
5567f6:	40                   	inc    %eax
5567f7:	89 84 24 1c 01 00 00 	mov    %eax,0x11c(%esp)
5567fe:	8b 94 24 2c 01 00 00 	mov    0x12c(%esp),%edx
556805:	3b ea                	cmp    %edx,%ebp
556807:	0f 86 52 01 00 00    	jbe    0x55695f
55680d:	8b 8c 24 18 01 00 00 	mov    0x118(%esp),%ecx
556814:	33 c0                	xor    %eax,%eax
556816:	8a 01                	mov    (%ecx),%al
556818:	89 84 24 3c 01 00 00 	mov    %eax,0x13c(%esp)
55681f:	ff 84 24 18 01 00 00 	incl   0x118(%esp)
556826:	8b 94 24 1c 01 00 00 	mov    0x11c(%esp),%edx
55682d:	33 c9                	xor    %ecx,%ecx
55682f:	8a 0a                	mov    (%edx),%cl
556831:	89 8c 24 40 01 00 00 	mov    %ecx,0x140(%esp)
556838:	ff 84 24 1c 01 00 00 	incl   0x11c(%esp)
55683f:	8b 84 24 20 01 00 00 	mov    0x120(%esp),%eax
556846:	33 d2                	xor    %edx,%edx
556848:	8a 10                	mov    (%eax),%dl
55684a:	89 94 24 38 01 00 00 	mov    %edx,0x138(%esp)
556851:	ff 84 24 20 01 00 00 	incl   0x120(%esp)
556858:	8b bc 24 3c 01 00 00 	mov    0x13c(%esp),%edi
55685f:	8b 84 24 40 01 00 00 	mov    0x140(%esp),%eax
556866:	2b f8                	sub    %eax,%edi
556868:	8b 84 24 38 01 00 00 	mov    0x138(%esp),%eax
55686f:	8b 94 24 40 01 00 00 	mov    0x140(%esp),%edx
556876:	2b c2                	sub    %edx,%eax
556878:	85 ff                	test   %edi,%edi
55687a:	7d 06                	jge    0x556882
55687c:	8b cf                	mov    %edi,%ecx
55687e:	f7 d9                	neg    %ecx
556880:	eb 02                	jmp    0x556884
556882:	8b cf                	mov    %edi,%ecx
556884:	89 8c 24 44 01 00 00 	mov    %ecx,0x144(%esp)
55688b:	85 c0                	test   %eax,%eax
55688d:	7d 06                	jge    0x556895
55688f:	8b d0                	mov    %eax,%edx
556891:	f7 da                	neg    %edx
556893:	eb 02                	jmp    0x556897
556895:	8b d0                	mov    %eax,%edx
556897:	89 94 24 48 01 00 00 	mov    %edx,0x148(%esp)
55689e:	8d 0c 38             	lea    (%eax,%edi,1),%ecx
5568a1:	85 c9                	test   %ecx,%ecx
5568a3:	7d 07                	jge    0x5568ac
5568a5:	8d 14 38             	lea    (%eax,%edi,1),%edx
5568a8:	f7 da                	neg    %edx
5568aa:	eb 03                	jmp    0x5568af
5568ac:	8d 14 38             	lea    (%eax,%edi,1),%edx
5568af:	8b c2                	mov    %edx,%eax
5568b1:	8b 8c 24 44 01 00 00 	mov    0x144(%esp),%ecx
5568b8:	8b 94 24 48 01 00 00 	mov    0x148(%esp),%edx
5568bf:	3b ca                	cmp    %edx,%ecx
5568c1:	7f 14                	jg     0x5568d7
5568c3:	8b 8c 24 44 01 00 00 	mov    0x144(%esp),%ecx
5568ca:	3b c1                	cmp    %ecx,%eax
5568cc:	7c 09                	jl     0x5568d7
5568ce:	8b bc 24 38 01 00 00 	mov    0x138(%esp),%edi
5568d5:	eb 1b                	jmp    0x5568f2
5568d7:	8b 94 24 48 01 00 00 	mov    0x148(%esp),%edx
5568de:	3b c2                	cmp    %edx,%eax
5568e0:	7c 09                	jl     0x5568eb
5568e2:	8b bc 24 3c 01 00 00 	mov    0x13c(%esp),%edi
5568e9:	eb 07                	jmp    0x5568f2
5568eb:	8b bc 24 40 01 00 00 	mov    0x140(%esp),%edi
5568f2:	8b 94 24 10 01 00 00 	mov    0x110(%esp),%edx
5568f9:	8b c7                	mov    %edi,%eax
5568fb:	8a 0a                	mov    (%edx),%cl
5568fd:	33 d2                	xor    %edx,%edx
5568ff:	2a c8                	sub    %al,%cl
556901:	8b 84 24 14 01 00 00 	mov    0x114(%esp),%eax
556908:	80 e1 ff             	and    $0xff,%cl
55690b:	88 08                	mov    %cl,(%eax)
55690d:	8a d1                	mov    %cl,%dl
55690f:	ff 84 24 10 01 00 00 	incl   0x110(%esp)
556916:	ff 84 24 14 01 00 00 	incl   0x114(%esp)
55691d:	81 fa 80 00 00 00    	cmp    $0x80,%edx
556923:	7d 04                	jge    0x556929
556925:	8b c2                	mov    %edx,%eax
556927:	eb 07                	jmp    0x556930
556929:	b8 00 01 00 00       	mov    $0x100,%eax
55692e:	2b c2                	sub    %edx,%eax
556930:	01 84 24 24 01 00 00 	add    %eax,0x124(%esp)
556937:	8b 94 24 24 01 00 00 	mov    0x124(%esp),%edx
55693e:	8b 8c 24 28 01 00 00 	mov    0x128(%esp),%ecx
556945:	3b d1                	cmp    %ecx,%edx
556947:	77 16                	ja     0x55695f
556949:	ff 84 24 2c 01 00 00 	incl   0x12c(%esp)
556950:	8b 84 24 2c 01 00 00 	mov    0x12c(%esp),%eax
556957:	3b e8                	cmp    %eax,%ebp
556959:	0f 87 ae fe ff ff    	ja     0x55680d
55695f:	8a 93 b8 01 00 00    	mov    0x1b8(%ebx),%dl
556965:	80 fa 02             	cmp    $0x2,%dl
556968:	0f 85 e7 00 00 00    	jne    0x556a55
55696e:	8b 8c 24 24 01 00 00 	mov    0x124(%esp),%ecx
556975:	81 e1 ff ff 00 00    	and    $0xffff,%ecx
55697b:	89 8c 24 50 01 00 00 	mov    %ecx,0x150(%esp)
556982:	8b 84 24 24 01 00 00 	mov    0x124(%esp),%eax
556989:	c1 e8 0a             	shr    $0xa,%eax
55698c:	25 c0 ff 3f 00       	and    $0x3fffc0,%eax
556991:	89 84 24 4c 01 00 00 	mov    %eax,0x14c(%esp)
556998:	33 c0                	xor    %eax,%eax
55699a:	3b f0                	cmp    %eax,%esi
55699c:	7e 4b                	jle    0x5569e9
55699e:	8b 93 bc 01 00 00    	mov    0x1bc(%ebx),%edx
5569a4:	8a 0c 02             	mov    (%edx,%eax,1),%cl
5569a7:	80 f9 04             	cmp    $0x4,%cl
5569aa:	75 38                	jne    0x5569e4
5569ac:	8b 93 c0 01 00 00    	mov    0x1c0(%ebx),%edx
5569b2:	0f b7 0c 42          	movzwl (%edx,%eax,2),%ecx
5569b6:	0f af 8c 24 50 01 00 	imul   0x150(%esp),%ecx
5569bd:	00
5569be:	c1 e9 08             	shr    $0x8,%ecx
5569c1:	89 8c 24 50 01 00 00 	mov    %ecx,0x150(%esp)
5569c8:	8b 93 c0 01 00 00    	mov    0x1c0(%ebx),%edx
5569ce:	0f b7 0c 42          	movzwl (%edx,%eax,2),%ecx
5569d2:	0f af 8c 24 4c 01 00 	imul   0x14c(%esp),%ecx
5569d9:	00
5569da:	c1 e9 08             	shr    $0x8,%ecx
5569dd:	89 8c 24 4c 01 00 00 	mov    %ecx,0x14c(%esp)
5569e4:	40                   	inc    %eax
5569e5:	3b f0                	cmp    %eax,%esi
5569e7:	7f b5                	jg     0x55699e
5569e9:	8b 83 c8 01 00 00    	mov    0x1c8(%ebx),%eax
5569ef:	0f b7 40 08          	movzwl 0x8(%eax),%eax
5569f3:	f7 ac 24 50 01 00 00 	imull  0x150(%esp)
5569fa:	c1 e8 03             	shr    $0x3,%eax
5569fd:	89 84 24 50 01 00 00 	mov    %eax,0x150(%esp)
556a04:	8b 93 c8 01 00 00    	mov    0x1c8(%ebx),%edx
556a0a:	0f b7 4a 08          	movzwl 0x8(%edx),%ecx
556a0e:	0f af 8c 24 4c 01 00 	imul   0x14c(%esp),%ecx
556a15:	00
556a16:	c1 e9 03             	shr    $0x3,%ecx
556a19:	89 8c 24 4c 01 00 00 	mov    %ecx,0x14c(%esp)
556a20:	8b 84 24 4c 01 00 00 	mov    0x14c(%esp),%eax
556a27:	3d c0 ff 3f 00       	cmp    $0x3fffc0,%eax
556a2c:	76 0d                	jbe    0x556a3b
556a2e:	c7 84 24 24 01 00 00 	movl   $0x7fffffff,0x124(%esp)
556a35:	ff ff ff 7f
556a39:	eb 1a                	jmp    0x556a55
556a3b:	8b 94 24 4c 01 00 00 	mov    0x14c(%esp),%edx
556a42:	c1 e2 0a             	shl    $0xa,%edx
556a45:	8b 8c 24 50 01 00 00 	mov    0x150(%esp),%ecx
556a4c:	03 d1                	add    %ecx,%edx
556a4e:	89 94 24 24 01 00 00 	mov    %edx,0x124(%esp)
556a55:	8b 84 24 24 01 00 00 	mov    0x124(%esp),%eax
556a5c:	8b 54 24 10          	mov    0x10(%esp),%edx
556a60:	3b c2                	cmp    %edx,%eax
556a62:	73 0a                	jae    0x556a6e
556a64:	8b 8b bc 00 00 00    	mov    0xbc(%ebx),%ecx
556a6a:	89 4c 24 08          	mov    %ecx,0x8(%esp)
556a6e:	8b 54 24 08          	mov    0x8(%esp),%edx
556a72:	8b c3                	mov    %ebx,%eax
556a74:	e8 77 00 00 00       	call   0x556af0
556a79:	8a 8b b9 01 00 00    	mov    0x1b9(%ebx),%cl
556a7f:	84 c9                	test   %cl,%cl
556a81:	76 5f                	jbe    0x556ae2
556a83:	c7 84 24 54 01 00 00 	movl   $0x1,0x154(%esp)
556a8a:	01 00 00 00
556a8e:	8b 84 24 54 01 00 00 	mov    0x154(%esp),%eax
556a95:	3b f0                	cmp    %eax,%esi
556a97:	7e 33                	jle    0x556acc
556a99:	8b 93 bc 01 00 00    	mov    0x1bc(%ebx),%edx
556a9f:	8b 8c 24 54 01 00 00 	mov    0x154(%esp),%ecx
556aa6:	8a 44 0a ff          	mov    -0x1(%edx,%ecx,1),%al
556aaa:	8b 93 bc 01 00 00    	mov    0x1bc(%ebx),%edx
556ab0:	8b 8c 24 54 01 00 00 	mov    0x154(%esp),%ecx
556ab7:	88 04 0a             	mov    %al,(%edx,%ecx,1)
556aba:	ff 84 24 54 01 00 00 	incl   0x154(%esp)
556ac1:	8b 84 24 54 01 00 00 	mov    0x154(%esp),%eax
556ac8:	3b f0                	cmp    %eax,%esi
556aca:	7f cd                	jg     0x556a99
556acc:	8b 93 bc 01 00 00    	mov    0x1bc(%ebx),%edx
556ad2:	8b 8c 24 54 01 00 00 	mov    0x154(%esp),%ecx
556ad9:	8b 44 24 08          	mov    0x8(%esp),%eax
556add:	8a 00                	mov    (%eax),%al
556adf:	88 04 0a             	mov    %al,(%edx,%ecx,1)
556ae2:	81 c4 58 01 00 00    	add    $0x158,%esp
556ae8:	5d                   	pop    %ebp
556ae9:	5f                   	pop    %edi
556aea:	5e                   	pop    %esi
556aeb:	5b                   	pop    %ebx
556aec:	c3                   	ret
556aed:	90                   	nop
556aee:	90                   	nop
556aef:	90                   	nop
556af0:	53                   	push   %ebx
556af1:	8b d8                	mov    %eax,%ebx
556af3:	89 53 34             	mov    %edx,0x34(%ebx)
556af6:	8b 83 c4 00 00 00    	mov    0xc4(%ebx),%eax
556afc:	40                   	inc    %eax
556afd:	89 43 38             	mov    %eax,0x38(%ebx)
556b00:	8d 43 34             	lea    0x34(%ebx),%eax
556b03:	33 d2                	xor    %edx,%edx
556b05:	e8 5a 02 fd ff       	call   0x526d64
556b0a:	85 c0                	test   %eax,%eax
556b0c:	74 1e                	je     0x556b2c
556b0e:	8b 43 4c             	mov    0x4c(%ebx),%eax
556b11:	85 c0                	test   %eax,%eax
556b13:	74 0b                	je     0x556b20
556b15:	8b d0                	mov    %eax,%edx
556b17:	8b c3                	mov    %ebx,%eax
556b19:	e8 2e b1 ff ff       	call   0x551c4c
556b1e:	eb 0c                	jmp    0x556b2c
556b20:	ba a2 d3 69 00       	mov    $0x69d3a2,%edx
556b25:	8b c3                	mov    %ebx,%eax
556b27:	e8 20 b1 ff ff       	call   0x551c4c
556b2c:	8b 53 44             	mov    0x44(%ebx),%edx
556b2f:	85 d2                	test   %edx,%edx
556b31:	75 19                	jne    0x556b4c
556b33:	8b 4b 70             	mov    0x70(%ebx),%ecx
556b36:	8b 53 6c             	mov    0x6c(%ebx),%edx
556b39:	8b c3                	mov    %ebx,%eax
556b3b:	e8 10 d6 ff ff       	call   0x554150
556b40:	8b 4b 6c             	mov    0x6c(%ebx),%ecx
556b43:	89 4b 40             	mov    %ecx,0x40(%ebx)
556b46:	8b 43 70             	mov    0x70(%ebx),%eax
556b49:	89 43 44             	mov    %eax,0x44(%ebx)
556b4c:	8b 53 38             	mov    0x38(%ebx),%edx
556b4f:	85 d2                	test   %edx,%edx
556b51:	75 ad                	jne    0x556b00
556b53:	8b 83 a8 00 00 00    	mov    0xa8(%ebx),%eax
556b59:	85 c0                	test   %eax,%eax
556b5b:	74 12                	je     0x556b6f
556b5d:	8b 93 ac 00 00 00    	mov    0xac(%ebx),%edx
556b63:	89 93 a8 00 00 00    	mov    %edx,0xa8(%ebx)
556b69:	89 83 ac 00 00 00    	mov    %eax,0xac(%ebx)
556b6f:	8b c3                	mov    %ebx,%eax
556b71:	e8 3e e7 ff ff       	call   0x5552b4
556b76:	ff 83 14 01 00 00    	incl   0x114(%ebx)
556b7c:	8b 83 10 01 00 00    	mov    0x110(%ebx),%eax
556b82:	85 c0                	test   %eax,%eax
556b84:	76 11                	jbe    0x556b97
556b86:	8b 93 14 01 00 00    	mov    0x114(%ebx),%edx
556b8c:	3b c2                	cmp    %edx,%eax
556b8e:	77 07                	ja     0x556b97
556b90:	8b c3                	mov    %ebx,%eax
556b92:	e8 29 bd ff ff       	call   0x5528c0
556b97:	5b                   	pop    %ebx
556b98:	c3                   	ret
556b99:	8d 40 00             	lea    0x0(%eax),%eax
556b9c:	53                   	push   %ebx
556b9d:	56                   	push   %esi
556b9e:	8b da                	mov    %edx,%ebx
556ba0:	8b f0                	mov    %eax,%esi
556ba2:	83 fb 08             	cmp    $0x8,%ebx
556ba5:	7e 0c                	jle    0x556bb3
556ba7:	ba e4 d4 69 00       	mov    $0x69d4e4,%edx
556bac:	8b c6                	mov    %esi,%eax
556bae:	e8 99 b0 ff ff       	call   0x551c4c
556bb3:	85 db                	test   %ebx,%ebx
556bb5:	7d 04                	jge    0x556bbb
556bb7:	33 c9                	xor    %ecx,%ecx
556bb9:	eb 02                	jmp    0x556bbd
556bbb:	8b cb                	mov    %ebx,%ecx
556bbd:	88 8e ec 00 00 00    	mov    %cl,0xec(%esi)
556bc3:	5e                   	pop    %esi
556bc4:	5b                   	pop    %ebx
556bc5:	c3                   	ret
556bc6:	90                   	nop
556bc7:	90                   	nop
556bc8:	53                   	push   %ebx
556bc9:	56                   	push   %esi
556bca:	83 c4 f8             	add    $0xfffffff8,%esp
556bcd:	8b d9                	mov    %ecx,%ebx
556bcf:	8b 0d dc d4 69 00    	mov    0x69d4dc,%ecx
556bd5:	83 fb 08             	cmp    $0x8,%ebx
556bd8:	89 0c 24             	mov    %ecx,(%esp)
556bdb:	8b 0d e0 d4 69 00    	mov    0x69d4e0,%ecx
556be1:	89 4c 24 04          	mov    %ecx,0x4(%esp)
556be5:	76 07                	jbe    0x556bee
556be7:	bb 08 00 00 00       	mov    $0x8,%ebx
556bec:	eb 09                	jmp    0x556bf7
556bee:	83 fb 01             	cmp    $0x1,%ebx
556bf1:	73 04                	jae    0x556bf7
556bf3:	33 c0                	xor    %eax,%eax
556bf5:	eb 2d                	jmp    0x556c24
556bf7:	83 fa 07             	cmp    $0x7,%edx
556bfa:	76 04                	jbe    0x556c00
556bfc:	33 c0                	xor    %eax,%eax
556bfe:	eb 24                	jmp    0x556c24
556c00:	8d 0c 13             	lea    (%ebx,%edx,1),%ecx
556c03:	83 f9 08             	cmp    $0x8,%ecx
556c06:	76 07                	jbe    0x556c0f