5007df:	5b                   	pop    %ebx
5007e0:	5d                   	pop    %ebp
5007e1:	5e                   	pop    %esi
5007e2:	83 c4 24             	add    $0x24,%esp
5007e5:	c3                   	ret
5007e6:	8b 54 24 3c          	mov    0x3c(%esp),%edx
5007ea:	57                   	push   %edi
5007eb:	03 d6                	add    %esi,%edx
5007ed:	8b fd                	mov    %ebp,%edi
5007ef:	03 dd                	add    %ebp,%ebx
5007f1:	8b c6                	mov    %esi,%eax
5007f3:	89 5c 24 20          	mov    %ebx,0x20(%esp)
5007f7:	f7 d0                	not    %eax
5007f9:	8d 4e ff             	lea    -0x1(%esi),%ecx
5007fc:	c1 e8 1f             	shr    $0x1f,%eax
5007ff:	4b                   	dec    %ebx
500800:	c1 e9 1f             	shr    $0x1f,%ecx
500803:	23 c8                	and    %eax,%ecx
500805:	49                   	dec    %ecx
500806:	8b c1                	mov    %ecx,%eax
500808:	83 e0 01             	and    $0x1,%eax
50080b:	2b d0                	sub    %eax,%edx
50080d:	2b f0                	sub    %eax,%esi
50080f:	8a 02                	mov    (%edx),%al
500811:	22 c1                	and    %cl,%al
500813:	88 03                	mov    %al,(%ebx)
500815:	83 ef 01             	sub    $0x1,%edi
500818:	75 d7                	jne    0x5007f1
50081a:	0f b6 c8             	movzbl %al,%ecx
50081d:	8b 44 24 20          	mov    0x20(%esp),%eax
500821:	89 7c 24 18          	mov    %edi,0x18(%esp)
500825:	89 5c 24 24          	mov    %ebx,0x24(%esp)
500829:	0f b6 10             	movzbl (%eax),%edx
50082c:	8d 41 ff             	lea    -0x1(%ecx),%eax
50082f:	83 f2 02             	xor    $0x2,%edx
500832:	c1 e8 1f             	shr    $0x1f,%eax
500835:	f7 d8                	neg    %eax
500837:	8d 52 ff             	lea    -0x1(%edx),%edx
50083a:	c1 ea 1f             	shr    $0x1f,%edx
50083d:	f7 da                	neg    %edx
50083f:	23 d0                	and    %eax,%edx
500841:	89 54 24 1c          	mov    %edx,0x1c(%esp)
500845:	8b c2                	mov    %edx,%eax
500847:	f7 d0                	not    %eax
500849:	89 54 24 10          	mov    %edx,0x10(%esp)
50084d:	89 44 24 20          	mov    %eax,0x20(%esp)
500851:	8b 44 24 1c          	mov    0x1c(%esp),%eax
500855:	8b 44 24 20          	mov    0x20(%esp),%eax
500859:	83 e0 6b             	and    $0x6b,%eax
50085c:	89 7c 24 1c          	mov    %edi,0x1c(%esp)
500860:	89 44 24 30          	mov    %eax,0x30(%esp)
500864:	bf 02 00 00 00       	mov    $0x2,%edi
500869:	83 ce ff             	or     $0xffffffff,%esi
50086c:	0f 1f 40 00          	nopl   0x0(%eax)
500870:	0f b6 14 3b          	movzbl (%ebx,%edi,1),%edx
500874:	4a                   	dec    %edx
500875:	c1 ea 1f             	shr    $0x1f,%edx
500878:	f7 da                	neg    %edx
50087a:	23 f2                	and    %edx,%esi
50087c:	89 74 24 28          	mov    %esi,0x28(%esp)
500880:	f7 d6                	not    %esi
500882:	89 74 24 2c          	mov    %esi,0x2c(%esp)
500886:	8b 4c 24 28          	mov    0x28(%esp),%ecx
50088a:	8b 44 24 2c          	mov    0x2c(%esp),%eax
50088e:	23 cf                	and    %edi,%ecx
500890:	23 44 24 14          	and    0x14(%esp),%eax
500894:	0b c1                	or     %ecx,%eax
500896:	0f b6 0c 3b          	movzbl (%ebx,%edi,1),%ecx
50089a:	83 f1 03             	xor    $0x3,%ecx
50089d:	89 44 24 14          	mov    %eax,0x14(%esp)
5008a1:	8b 44 24 1c          	mov    0x1c(%esp),%eax
5008a5:	49                   	dec    %ecx
5008a6:	0b c2                	or     %edx,%eax
5008a8:	c1 e9 1f             	shr    $0x1f,%ecx
5008ab:	8b f0                	mov    %eax,%esi
5008ad:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5008b1:	f7 d9                	neg    %ecx
5008b3:	f7 d6                	not    %esi
5008b5:	0b c8                	or     %eax,%ecx
5008b7:	47                   	inc    %edi
5008b8:	8b c6                	mov    %esi,%eax
5008ba:	83 e0 01             	and    $0x1,%eax
5008bd:	03 44 24 18          	add    0x18(%esp),%eax
5008c1:	23 c8                	and    %eax,%ecx
5008c3:	89 4c 24 18          	mov    %ecx,0x18(%esp)
5008c7:	3b fd                	cmp    %ebp,%edi
5008c9:	7c a5                	jl     0x500870
5008cb:	8b 4c 24 14          	mov    0x14(%esp),%ecx
5008cf:	8b 74 24 18          	mov    0x18(%esp),%esi
5008d3:	8d 41 f6             	lea    -0xa(%ecx),%eax
5008d6:	0b c1                	or     %ecx,%eax
5008d8:	33 c1                	xor    %ecx,%eax
5008da:	8b 4c 24 10          	mov    0x10(%esp),%ecx
5008de:	c1 e8 1f             	shr    $0x1f,%eax
5008e1:	48                   	dec    %eax
5008e2:	23 c8                	and    %eax,%ecx
5008e4:	8b c1                	mov    %ecx,%eax
5008e6:	89 4c 24 10          	mov    %ecx,0x10(%esp)
5008ea:	0b 44 24 20          	or     0x20(%esp),%eax
5008ee:	f7 d1                	not    %ecx
5008f0:	89 44 24 2c          	mov    %eax,0x2c(%esp)
5008f4:	f7 d0                	not    %eax
5008f6:	89 44 24 28          	mov    %eax,0x28(%esp)
5008fa:	8b 44 24 2c          	mov    0x2c(%esp),%eax
5008fe:	23 44 24 30          	and    0x30(%esp),%eax
500902:	8b 54 24 28          	mov    0x28(%esp),%edx
500906:	8b 7c 24 10          	mov    0x10(%esp),%edi
50090a:	83 e2 71             	and    $0x71,%edx
50090d:	0b d0                	or     %eax,%edx
50090f:	8d 46 f8             	lea    -0x8(%esi),%eax
500912:	0b c6                	or     %esi,%eax
500914:	33 c6                	xor    %esi,%eax
500916:	c1 e8 1f             	shr    $0x1f,%eax
500919:	48                   	dec    %eax
50091a:	23 f8                	and    %eax,%edi
50091c:	8b c7                	mov    %edi,%eax
50091e:	89 7c 24 10          	mov    %edi,0x10(%esp)
500922:	0b c1                	or     %ecx,%eax
500924:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
500928:	89 44 24 30          	mov    %eax,0x30(%esp)
50092c:	f7 d0                	not    %eax
50092e:	89 44 24 2c          	mov    %eax,0x2c(%esp)
500932:	8b 44 24 30          	mov    0x30(%esp),%eax
500936:	8b 74 24 2c          	mov    0x2c(%esp),%esi
50093a:	23 c2                	and    %edx,%eax
50093c:	8b d7                	mov    %edi,%edx
50093e:	83 e6 73             	and    $0x73,%esi
500941:	0b f0                	or     %eax,%esi
500943:	8b fd                	mov    %ebp,%edi
500945:	2b 7c 24 14          	sub    0x14(%esp),%edi
500949:	f7 d2                	not    %edx
50094b:	4f                   	dec    %edi
50094c:	2b cf                	sub    %edi,%ecx
50094e:	89 7c 24 20          	mov    %edi,0x20(%esp)
500952:	33 cf                	xor    %edi,%ecx
500954:	8b c7                	mov    %edi,%eax
500956:	33 44 24 3c          	xor    0x3c(%esp),%eax
50095a:	0b c8                	or     %eax,%ecx
50095c:	8b 44 24 10          	mov    0x10(%esp),%eax
500960:	33 4c 24 3c          	xor    0x3c(%esp),%ecx
500964:	c1 e9 1f             	shr    $0x1f,%ecx
500967:	49                   	dec    %ecx
500968:	23 c1                	and    %ecx,%eax
50096a:	89 44 24 10          	mov    %eax,0x10(%esp)
50096e:	0b c2                	or     %edx,%eax
500970:	89 44 24 30          	mov    %eax,0x30(%esp)
500974:	f7 d0                	not    %eax
500976:	89 44 24 2c          	mov    %eax,0x2c(%esp)
50097a:	8b 44 24 30          	mov    0x30(%esp),%eax
50097e:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
500982:	23 c6                	and    %esi,%eax
500984:	8b 74 24 3c          	mov    0x3c(%esp),%esi
500988:	83 e1 6d             	and    $0x6d,%ecx
50098b:	0b c8                	or     %eax,%ecx
50098d:	89 4c 24 18          	mov    %ecx,0x18(%esp)
500991:	8d 4d f5             	lea    -0xb(%ebp),%ecx
500994:	8b d1                	mov    %ecx,%edx
500996:	8b c1                	mov    %ecx,%eax
500998:	2b d6                	sub    %esi,%edx
50099a:	33 c6                	xor    %esi,%eax
50099c:	33 d6                	xor    %esi,%edx
50099e:	0b d0                	or     %eax,%edx
5009a0:	33 d1                	xor    %ecx,%edx
5009a2:	c1 ea 1f             	shr    $0x1f,%edx
5009a5:	f7 da                	neg    %edx
5009a7:	89 54 24 3c          	mov    %edx,0x3c(%esp)
5009ab:	f7 d2                	not    %edx
5009ad:	89 54 24 30          	mov    %edx,0x30(%esp)
5009b1:	8b 44 24 3c          	mov    0x3c(%esp),%eax
5009b5:	8d 55 f5             	lea    -0xb(%ebp),%edx
5009b8:	8b 4c 24 30          	mov    0x30(%esp),%ecx
5009bc:	23 c2                	and    %edx,%eax
5009be:	23 ce                	and    %esi,%ecx
5009c0:	89 54 24 28          	mov    %edx,0x28(%esp)
5009c4:	0b c8                	or     %eax,%ecx
5009c6:	be 01 00 00 00       	mov    $0x1,%esi
5009cb:	89 4c 24 3c          	mov    %ecx,0x3c(%esp)
5009cf:	3b d6                	cmp    %esi,%edx
5009d1:	0f 8e 7d 00 00 00    	jle    0x500a54
5009d7:	8b c5                	mov    %ebp,%eax
5009d9:	2b c7                	sub    %edi,%eax
5009db:	83 c0 f5             	add    $0xfffffff5,%eax
5009de:	89 44 24 1c          	mov    %eax,0x1c(%esp)
5009e2:	23 c6                	and    %esi,%eax
5009e4:	8b fd                	mov    %ebp,%edi
5009e6:	2b fe                	sub    %esi,%edi
5009e8:	8d 48 ff             	lea    -0x1(%eax),%ecx
5009eb:	f7 d0                	not    %eax
5009ed:	c1 e9 1f             	shr    $0x1f,%ecx
5009f0:	c1 e8 1f             	shr    $0x1f,%eax
5009f3:	23 c8                	and    %eax,%ecx
5009f5:	49                   	dec    %ecx
5009f6:	83 ff 0b             	cmp    $0xb,%edi
5009f9:	7e 47                	jle    0x500a42
5009fb:	0f b6 e9             	movzbl %cl,%ebp
5009fe:	8d 43 0b             	lea    0xb(%ebx),%eax
500a01:	89 6c 24 30          	mov    %ebp,0x30(%esp)
500a05:	83 c7 f5             	add    $0xfffffff5,%edi
500a08:	8b 5c 24 30          	mov    0x30(%esp),%ebx
500a0c:	f7 d5                	not    %ebp
500a0e:	66 90                	xchg   %ax,%ax
500a10:	89 5c 24 30          	mov    %ebx,0x30(%esp)
500a14:	8d 40 01             	lea    0x1(%eax),%eax
500a17:	89 6c 24 2c          	mov    %ebp,0x2c(%esp)
500a1b:	8b 4c 24 30          	mov    0x30(%esp),%ecx
500a1f:	8a 54 30 ff          	mov    -0x1(%eax,%esi,1),%dl
500a23:	22 d1                	and    %cl,%dl
500a25:	8b 4c 24 2c          	mov    0x2c(%esp),%ecx
500a29:	22 48 ff             	and    -0x1(%eax),%cl
500a2c:	0a ca                	or     %dl,%cl
500a2e:	88 48 ff             	mov    %cl,-0x1(%eax)
500a31:	83 ef 01             	sub    $0x1,%edi
500a34:	75 da                	jne    0x500a10
500a36:	8b 5c 24 24          	mov    0x24(%esp),%ebx
500a3a:	8b 6c 24 48          	mov    0x48(%esp),%ebp
500a3e:	8b 54 24 28          	mov    0x28(%esp),%edx
500a42:	8b 44 24 1c          	mov    0x1c(%esp),%eax
500a46:	03 f6                	add    %esi,%esi
500a48:	3b f2                	cmp    %edx,%esi
500a4a:	7c 96                	jl     0x5009e2
500a4c:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
500a50:	8b 7c 24 20          	mov    0x20(%esp),%edi
500a54:	33 d2                	xor    %edx,%edx
500a56:	85 c9                	test   %ecx,%ecx
500a58:	7e 5e                	jle    0x500ab8
500a5a:	8b 6c 24 38          	mov    0x38(%esp),%ebp
500a5e:	8b cf                	mov    %edi,%ecx
500a60:	c1 e9 1f             	shr    $0x1f,%ecx
500a63:	8b f7                	mov    %edi,%esi
500a65:	8d 7b 0b             	lea    0xb(%ebx),%edi
500a68:	89 4c 24 28          	mov    %ecx,0x28(%esp)
500a6c:	8b 5c 24 10          	mov    0x10(%esp),%ebx
500a70:	f7 de                	neg    %esi
500a72:	8b c6                	mov    %esi,%eax
500a74:	46                   	inc    %esi
500a75:	c1 e8 1f             	shr    $0x1f,%eax
500a78:	32 c1                	xor    %cl,%al
500a7a:	0a c1                	or     %cl,%al
500a7c:	f6 d8                	neg    %al
500a7e:	0f b6 c8             	movzbl %al,%ecx
500a81:	0f b6 c3             	movzbl %bl,%eax
500a84:	23 c8                	and    %eax,%ecx
500a86:	89 4c 24 30          	mov    %ecx,0x30(%esp)
500a8a:	f7 d1                	not    %ecx
500a8c:	89 4c 24 2c          	mov    %ecx,0x2c(%esp)
500a90:	8b 44 24 30          	mov    0x30(%esp),%eax
500a94:	8a 0c 17             	mov    (%edi,%edx,1),%cl
500a97:	22 c8                	and    %al,%cl
500a99:	8b 44 24 2c          	mov    0x2c(%esp),%eax
500a9d:	22 04 2a             	and    (%edx,%ebp,1),%al
500aa0:	0a c1                	or     %cl,%al
500aa2:	8b 4c 24 28          	mov    0x28(%esp),%ecx
500aa6:	88 04 2a             	mov    %al,(%edx,%ebp,1)
500aa9:	42                   	inc    %edx
500aaa:	3b 54 24 3c          	cmp    0x3c(%esp),%edx
500aae:	7c c2                	jl     0x500a72
500ab0:	8b 5c 24 24          	mov    0x24(%esp),%ebx
500ab4:	8b 6c 24 48          	mov    0x48(%esp),%ebp
500ab8:	68 a5 00 00 00       	push   $0xa5
500abd:	68 70 9c 62 00       	push   $0x629c70
500ac2:	55                   	push   %ebp
500ac3:	53                   	push   %ebx
500ac4:	e8 77 fd fd ff       	call   0x4e0840
500ac9:	68 a6 00 00 00       	push   $0xa6
500ace:	68 70 9c 62 00       	push   $0x629c70
500ad3:	ff 74 24 30          	push   0x30(%esp)
500ad7:	6a 72                	push   $0x72
500ad9:	6a 04                	push   $0x4
500adb:	e8 a0 84 fd ff       	call   0x4d8f80
500ae0:	8b 5c 24 34          	mov    0x34(%esp),%ebx
500ae4:	8b c3                	mov    %ebx,%eax
500ae6:	83 e0 01             	and    $0x1,%eax
500ae9:	50                   	push   %eax
500aea:	e8 71 86 fd ff       	call   0x4d9160
500aef:	83 c4 28             	add    $0x28,%esp
500af2:	89 5c 24 3c          	mov    %ebx,0x3c(%esp)
500af6:	f7 d3                	not    %ebx
500af8:	89 5c 24 30          	mov    %ebx,0x30(%esp)
500afc:	8b 4c 24 3c          	mov    0x3c(%esp),%ecx
500b00:	23 4c 24 20          	and    0x20(%esp),%ecx
500b04:	8b 44 24 30          	mov    0x30(%esp),%eax
500b08:	5f                   	pop    %edi
500b09:	5b                   	pop    %ebx
500b0a:	5d                   	pop    %ebp
500b0b:	0b c1                	or     %ecx,%eax
500b0d:	5e                   	pop    %esi
500b0e:	83 c4 24             	add    $0x24,%esp
500b11:	c3                   	ret
500b12:	6a 4a                	push   $0x4a
500b14:	68 70 9c 62 00       	push   $0x629c70
500b19:	6a 6f                	push   $0x6f
500b1b:	6a 72                	push   $0x72
500b1d:	6a 04                	push   $0x4
500b1f:	e8 5c 84 fd ff       	call   0x4d8f80
500b24:	83 c4 14             	add    $0x14,%esp
500b27:	83 c8 ff             	or     $0xffffffff,%eax
500b2a:	5d                   	pop    %ebp
500b2b:	5e                   	pop    %esi
500b2c:	83 c4 24             	add    $0x24,%esp
500b2f:	c3                   	ret
500b30:	83 c8 ff             	or     $0xffffffff,%eax
500b33:	5e                   	pop    %esi
500b34:	83 c4 24             	add    $0x24,%esp
500b37:	c3                   	ret
500b38:	cc                   	int3
500b39:	cc                   	int3
500b3a:	cc                   	int3
500b3b:	cc                   	int3
500b3c:	cc                   	int3
500b3d:	cc                   	int3
500b3e:	cc                   	int3
500b3f:	cc                   	int3
500b40:	8b 44 24 10          	mov    0x10(%esp),%eax
500b44:	3b 44 24 08          	cmp    0x8(%esp),%eax
500b48:	7e 18                	jle    0x500b62
500b4a:	6a 12                	push   $0x12
500b4c:	68 88 9c 62 00       	push   $0x629c88
500b51:	6a 6e                	push   $0x6e
500b53:	6a 6b                	push   $0x6b
500b55:	6a 04                	push   $0x4
500b57:	e8 24 84 fd ff       	call   0x4d8f80
500b5c:	83 c4 14             	add    $0x14,%esp
500b5f:	33 c0                	xor    %eax,%eax
500b61:	c3                   	ret
500b62:	7d 18                	jge    0x500b7c
500b64:	6a 17                	push   $0x17
500b66:	68 88 9c 62 00       	push   $0x629c88
500b6b:	6a 7a                	push   $0x7a
500b6d:	6a 6b                	push   $0x6b
500b6f:	6a 04                	push   $0x4
500b71:	e8 0a 84 fd ff       	call   0x4d8f80
500b76:	83 c4 14             	add    $0x14,%esp
500b79:	33 c0                	xor    %eax,%eax
500b7b:	c3                   	ret
500b7c:	50                   	push   %eax
500b7d:	ff 74 24 10          	push   0x10(%esp)
500b81:	ff 74 24 0c          	push   0xc(%esp)
500b85:	e8 46 22 0d 00       	call   0x5d2dd0
500b8a:	83 c4 0c             	add    $0xc,%esp
500b8d:	b8 01 00 00 00       	mov    $0x1,%eax
500b92:	c3                   	ret
500b93:	cc                   	int3
500b94:	cc                   	int3
500b95:	cc                   	int3
500b96:	cc                   	int3
500b97:	cc                   	int3
500b98:	cc                   	int3
500b99:	cc                   	int3
500b9a:	cc                   	int3
500b9b:	cc                   	int3