4138b2:	83 c0 04             	add    $0x4,%eax
4138b5:	83 c1 04             	add    $0x4,%ecx
4138b8:	84 d2                	test   %dl,%dl
4138ba:	74 52                	je     0x41390e
4138bc:	3a 51 fc             	cmp    -0x4(%ecx),%dl
4138bf:	75 4d                	jne    0x41390e
4138c1:	8a 50 fd             	mov    -0x3(%eax),%dl
4138c4:	84 d2                	test   %dl,%dl
4138c6:	74 3c                	je     0x413904
4138c8:	3a 51 fd             	cmp    -0x3(%ecx),%dl
4138cb:	75 37                	jne    0x413904
4138cd:	8a 50 fe             	mov    -0x2(%eax),%dl
4138d0:	84 d2                	test   %dl,%dl
4138d2:	74 26                	je     0x4138fa
4138d4:	3a 51 fe             	cmp    -0x2(%ecx),%dl
4138d7:	75 21                	jne    0x4138fa
4138d9:	8a 50 ff             	mov    -0x1(%eax),%dl
4138dc:	84 d2                	test   %dl,%dl
4138de:	74 10                	je     0x4138f0
4138e0:	3a 51 ff             	cmp    -0x1(%ecx),%dl
4138e3:	75 0b                	jne    0x4138f0
4138e5:	83 45 fc 04          	addl   $0x4,-0x4(%ebp)
4138e9:	39 7d fc             	cmp    %edi,-0x4(%ebp)
4138ec:	72 c2                	jb     0x4138b0
4138ee:	eb 3f                	jmp    0x41392f
4138f0:	0f b6 40 ff          	movzbl -0x1(%eax),%eax
4138f4:	0f b6 49 ff          	movzbl -0x1(%ecx),%ecx
4138f8:	eb 46                	jmp    0x413940
4138fa:	0f b6 40 fe          	movzbl -0x2(%eax),%eax
4138fe:	0f b6 49 fe          	movzbl -0x2(%ecx),%ecx
413902:	eb 3c                	jmp    0x413940
413904:	0f b6 40 fd          	movzbl -0x3(%eax),%eax
413908:	0f b6 49 fd          	movzbl -0x3(%ecx),%ecx
41390c:	eb 32                	jmp    0x413940
41390e:	0f b6 40 fc          	movzbl -0x4(%eax),%eax
413912:	0f b6 49 fc          	movzbl -0x4(%ecx),%ecx
413916:	eb 28                	jmp    0x413940
413918:	8b 4d 0c             	mov    0xc(%ebp),%ecx
41391b:	8b 45 08             	mov    0x8(%ebp),%eax
41391e:	eb 0f                	jmp    0x41392f
413920:	8a 10                	mov    (%eax),%dl
413922:	84 d2                	test   %dl,%dl
413924:	74 14                	je     0x41393a
413926:	3a 11                	cmp    (%ecx),%dl
413928:	75 10                	jne    0x41393a
41392a:	40                   	inc    %eax
41392b:	41                   	inc    %ecx
41392c:	ff 45 fc             	incl   -0x4(%ebp)
41392f:	39 5d fc             	cmp    %ebx,-0x4(%ebp)
413932:	72 ec                	jb     0x413920
413934:	33 c0                	xor    %eax,%eax
413936:	5f                   	pop    %edi
413937:	5b                   	pop    %ebx
413938:	c9                   	leave
413939:	c3                   	ret
41393a:	0f b6 00             	movzbl (%eax),%eax
41393d:	0f b6 09             	movzbl (%ecx),%ecx
413940:	2b c1                	sub    %ecx,%eax
413942:	eb f2                	jmp    0x413936
413944:	cc                   	int3
413945:	cc                   	int3
413946:	cc                   	int3
413947:	cc                   	int3
413948:	cc                   	int3
413949:	cc                   	int3
41394a:	cc                   	int3
41394b:	cc                   	int3
41394c:	cc                   	int3
41394d:	cc                   	int3
41394e:	cc                   	int3
41394f:	cc                   	int3
413950:	55                   	push   %ebp
413951:	8b ec                	mov    %esp,%ebp
413953:	56                   	push   %esi
413954:	33 c0                	xor    %eax,%eax
413956:	50                   	push   %eax
413957:	50                   	push   %eax
413958:	50                   	push   %eax
413959:	50                   	push   %eax
41395a:	50                   	push   %eax
41395b:	50                   	push   %eax
41395c:	50                   	push   %eax
41395d:	50                   	push   %eax
41395e:	8b 55 0c             	mov    0xc(%ebp),%edx
413961:	8d 49 00             	lea    0x0(%ecx),%ecx
413964:	8a 02                	mov    (%edx),%al
413966:	0a c0                	or     %al,%al
413968:	74 09                	je     0x413973
41396a:	83 c2 01             	add    $0x1,%edx
41396d:	0f ab 04 24          	bts    %eax,(%esp)
413971:	eb f1                	jmp    0x413964
413973:	8b 75 08             	mov    0x8(%ebp),%esi
413976:	8b ff                	mov    %edi,%edi
413978:	8a 06                	mov    (%esi),%al
41397a:	0a c0                	or     %al,%al
41397c:	74 0c                	je     0x41398a
41397e:	83 c6 01             	add    $0x1,%esi
413981:	0f a3 04 24          	bt     %eax,(%esp)
413985:	73 f1                	jae    0x413978
413987:	8d 46 ff             	lea    -0x1(%esi),%eax
41398a:	83 c4 20             	add    $0x20,%esp
41398d:	5e                   	pop    %esi
41398e:	c9                   	leave
41398f:	c3                   	ret
413990:	8b 44 24 04          	mov    0x4(%esp),%eax
413994:	a3 74 e3 41 00       	mov    %eax,0x41e374
413999:	a3 78 e3 41 00       	mov    %eax,0x41e378
41399e:	a3 7c e3 41 00       	mov    %eax,0x41e37c
4139a3:	a3 80 e3 41 00       	mov    %eax,0x41e380
4139a8:	c3                   	ret
4139a9:	8b 44 24 04          	mov    0x4(%esp),%eax
4139ad:	8b 0d ec cb 41 00    	mov    0x41cbec,%ecx
4139b3:	56                   	push   %esi
4139b4:	39 50 04             	cmp    %edx,0x4(%eax)
4139b7:	74 10                	je     0x4139c9
4139b9:	8b f1                	mov    %ecx,%esi
4139bb:	6b f6 0c             	imul   $0xc,%esi,%esi
4139be:	03 74 24 08          	add    0x8(%esp),%esi
4139c2:	83 c0 0c             	add    $0xc,%eax
4139c5:	3b c6                	cmp    %esi,%eax
4139c7:	72 eb                	jb     0x4139b4
4139c9:	6b c9 0c             	imul   $0xc,%ecx,%ecx
4139cc:	03 4c 24 08          	add    0x8(%esp),%ecx
4139d0:	5e                   	pop    %esi
4139d1:	3b c1                	cmp    %ecx,%eax
4139d3:	73 05                	jae    0x4139da
4139d5:	39 50 04             	cmp    %edx,0x4(%eax)
4139d8:	74 02                	je     0x4139dc
4139da:	33 c0                	xor    %eax,%eax
4139dc:	c3                   	ret
4139dd:	ff 35 7c e3 41 00    	push   0x41e37c
4139e3:	e8 5a 89 ff ff       	call   0x40c342
4139e8:	59                   	pop    %ecx
4139e9:	c3                   	ret
4139ea:	6a 20                	push   $0x20
4139ec:	68 78 ae 41 00       	push   $0x41ae78
4139f1:	e8 52 9c ff ff       	call   0x40d648
4139f6:	33 ff                	xor    %edi,%edi
4139f8:	89 7d e4             	mov    %edi,-0x1c(%ebp)
4139fb:	89 7d d8             	mov    %edi,-0x28(%ebp)
4139fe:	8b 5d 08             	mov    0x8(%ebp),%ebx
413a01:	83 fb 0b             	cmp    $0xb,%ebx
413a04:	7f 4c                	jg     0x413a52
413a06:	74 15                	je     0x413a1d
413a08:	8b c3                	mov    %ebx,%eax
413a0a:	6a 02                	push   $0x2
413a0c:	59                   	pop    %ecx
413a0d:	2b c1                	sub    %ecx,%eax
413a0f:	74 22                	je     0x413a33
413a11:	2b c1                	sub    %ecx,%eax
413a13:	74 08                	je     0x413a1d
413a15:	2b c1                	sub    %ecx,%eax
413a17:	74 64                	je     0x413a7d
413a19:	2b c1                	sub    %ecx,%eax
413a1b:	75 44                	jne    0x413a61
413a1d:	e8 a7 8a ff ff       	call   0x40c4c9
413a22:	8b f8                	mov    %eax,%edi
413a24:	89 7d d8             	mov    %edi,-0x28(%ebp)
413a27:	85 ff                	test   %edi,%edi
413a29:	75 14                	jne    0x413a3f
413a2b:	83 c8 ff             	or     $0xffffffff,%eax
413a2e:	e9 61 01 00 00       	jmp    0x413b94
413a33:	be 74 e3 41 00       	mov    $0x41e374,%esi
413a38:	a1 74 e3 41 00       	mov    0x41e374,%eax
413a3d:	eb 60                	jmp    0x413a9f
413a3f:	ff 77 5c             	push   0x5c(%edi)
413a42:	8b d3                	mov    %ebx,%edx
413a44:	e8 60 ff ff ff       	call   0x4139a9
413a49:	8b f0                	mov    %eax,%esi
413a4b:	83 c6 08             	add    $0x8,%esi
413a4e:	8b 06                	mov    (%esi),%eax
413a50:	eb 5a                	jmp    0x413aac
413a52:	8b c3                	mov    %ebx,%eax
413a54:	83 e8 0f             	sub    $0xf,%eax
413a57:	74 3c                	je     0x413a95
413a59:	83 e8 06             	sub    $0x6,%eax
413a5c:	74 2b                	je     0x413a89
413a5e:	48                   	dec    %eax
413a5f:	74 1c                	je     0x413a7d
413a61:	e8 94 59 ff ff       	call   0x4093fa
413a66:	c7 00 16 00 00 00    	movl   $0x16,(%eax)
413a6c:	33 c0                	xor    %eax,%eax
413a6e:	50                   	push   %eax
413a6f:	50                   	push   %eax
413a70:	50                   	push   %eax
413a71:	50                   	push   %eax
413a72:	50                   	push   %eax
413a73:	e8 d8 3b ff ff       	call   0x407650
413a78:	83 c4 14             	add    $0x14,%esp
413a7b:	eb ae                	jmp    0x413a2b
413a7d:	be 7c e3 41 00       	mov    $0x41e37c,%esi
413a82:	a1 7c e3 41 00       	mov    0x41e37c,%eax
413a87:	eb 16                	jmp    0x413a9f
413a89:	be 78 e3 41 00       	mov    $0x41e378,%esi
413a8e:	a1 78 e3 41 00       	mov    0x41e378,%eax
413a93:	eb 0a                	jmp    0x413a9f
413a95:	be 80 e3 41 00       	mov    $0x41e380,%esi
413a9a:	a1 80 e3 41 00       	mov    0x41e380,%eax
413a9f:	c7 45 e4 01 00 00 00 	movl   $0x1,-0x1c(%ebp)
413aa6:	50                   	push   %eax
413aa7:	e8 96 88 ff ff       	call   0x40c342
413aac:	89 45 e0             	mov    %eax,-0x20(%ebp)
413aaf:	59                   	pop    %ecx
413ab0:	33 c0                	xor    %eax,%eax
413ab2:	83 7d e0 01          	cmpl   $0x1,-0x20(%ebp)
413ab6:	0f 84 d8 00 00 00    	je     0x413b94
413abc:	39 45 e0             	cmp    %eax,-0x20(%ebp)
413abf:	75 07                	jne    0x413ac8
413ac1:	6a 03                	push   $0x3
413ac3:	e8 0b a0 ff ff       	call   0x40dad3
413ac8:	39 45 e4             	cmp    %eax,-0x1c(%ebp)
413acb:	74 07                	je     0x413ad4
413acd:	50                   	push   %eax
413ace:	e8 44 90 ff ff       	call   0x40cb17
413ad3:	59                   	pop    %ecx
413ad4:	33 c0                	xor    %eax,%eax
413ad6:	89 45 fc             	mov    %eax,-0x4(%ebp)
413ad9:	83 fb 08             	cmp    $0x8,%ebx
413adc:	74 0a                	je     0x413ae8
413ade:	83 fb 0b             	cmp    $0xb,%ebx
413ae1:	74 05                	je     0x413ae8
413ae3:	83 fb 04             	cmp    $0x4,%ebx
413ae6:	75 1b                	jne    0x413b03
413ae8:	8b 4f 60             	mov    0x60(%edi),%ecx
413aeb:	89 4d d4             	mov    %ecx,-0x2c(%ebp)
413aee:	89 47 60             	mov    %eax,0x60(%edi)
413af1:	83 fb 08             	cmp    $0x8,%ebx
413af4:	75 40                	jne    0x413b36
413af6:	8b 4f 64             	mov    0x64(%edi),%ecx
413af9:	89 4d d0             	mov    %ecx,-0x30(%ebp)
413afc:	c7 47 64 8c 00 00 00 	movl   $0x8c,0x64(%edi)
413b03:	83 fb 08             	cmp    $0x8,%ebx
413b06:	75 2e                	jne    0x413b36
413b08:	8b 0d e0 cb 41 00    	mov    0x41cbe0,%ecx
413b0e:	89 4d dc             	mov    %ecx,-0x24(%ebp)
413b11:	8b 0d e4 cb 41 00    	mov    0x41cbe4,%ecx
413b17:	8b 15 e0 cb 41 00    	mov    0x41cbe0,%edx
413b1d:	03 ca                	add    %edx,%ecx
413b1f:	39 4d dc             	cmp    %ecx,-0x24(%ebp)
413b22:	7d 19                	jge    0x413b3d
413b24:	8b 4d dc             	mov    -0x24(%ebp),%ecx
413b27:	6b c9 0c             	imul   $0xc,%ecx,%ecx
413b2a:	8b 57 5c             	mov    0x5c(%edi),%edx
413b2d:	89 44 11 08          	mov    %eax,0x8(%ecx,%edx,1)
413b31:	ff 45 dc             	incl   -0x24(%ebp)
413b34:	eb db                	jmp    0x413b11
413b36:	e8 fe 87 ff ff       	call   0x40c339
413b3b:	89 06                	mov    %eax,(%esi)
413b3d:	c7 45 fc fe ff ff ff 	movl   $0xfffffffe,-0x4(%ebp)
413b44:	e8 15 00 00 00       	call   0x413b5e
413b49:	83 fb 08             	cmp    $0x8,%ebx
413b4c:	75 1f                	jne    0x413b6d
413b4e:	ff 77 64             	push   0x64(%edi)
413b51:	53                   	push   %ebx
413b52:	ff 55 e0             	call   *-0x20(%ebp)
413b55:	59                   	pop    %ecx
413b56:	eb 19                	jmp    0x413b71
413b58:	8b 5d 08             	mov    0x8(%ebp),%ebx
413b5b:	8b 7d d8             	mov    -0x28(%ebp),%edi
413b5e:	83 7d e4 00          	cmpl   $0x0,-0x1c(%ebp)
413b62:	74 08                	je     0x413b6c
413b64:	6a 00                	push   $0x0
413b66:	e8 d4 8e ff ff       	call   0x40ca3f
413b6b:	59                   	pop    %ecx
413b6c:	c3                   	ret
413b6d:	53                   	push   %ebx
413b6e:	ff 55 e0             	call   *-0x20(%ebp)
413b71:	59                   	pop    %ecx
413b72:	83 fb 08             	cmp    $0x8,%ebx
413b75:	74 0a                	je     0x413b81
413b77:	83 fb 0b             	cmp    $0xb,%ebx
413b7a:	74 05                	je     0x413b81
413b7c:	83 fb 04             	cmp    $0x4,%ebx
413b7f:	75 11                	jne    0x413b92
413b81:	8b 45 d4             	mov    -0x2c(%ebp),%eax
413b84:	89 47 60             	mov    %eax,0x60(%edi)
413b87:	83 fb 08             	cmp    $0x8,%ebx
413b8a:	75 06                	jne    0x413b92
413b8c:	8b 45 d0             	mov    -0x30(%ebp),%eax
413b8f:	89 47 64             	mov    %eax,0x64(%edi)
413b92:	33 c0                	xor    %eax,%eax
413b94:	e8 f4 9a ff ff       	call   0x40d68d
413b99:	c3                   	ret
413b9a:	cc                   	int3
413b9b:	cc                   	int3
413b9c:	cc                   	int3
413b9d:	cc                   	int3
413b9e:	cc                   	int3
413b9f:	cc                   	int3
413ba0:	56                   	push   %esi
413ba1:	8b 44 24 14          	mov    0x14(%esp),%eax
413ba5:	0b c0                	or     %eax,%eax
413ba7:	75 28                	jne    0x413bd1
413ba9:	8b 4c 24 10          	mov    0x10(%esp),%ecx
413bad:	8b 44 24 0c          	mov    0xc(%esp),%eax
413bb1:	33 d2                	xor    %edx,%edx
413bb3:	f7 f1                	div    %ecx
413bb5:	8b d8                	mov    %eax,%ebx
413bb7:	8b 44 24 08          	mov    0x8(%esp),%eax
413bbb:	f7 f1                	div    %ecx
413bbd:	8b f0                	mov    %eax,%esi
413bbf:	8b c3                	mov    %ebx,%eax
413bc1:	f7 64 24 10          	mull   0x10(%esp)
413bc5:	8b c8                	mov    %eax,%ecx
413bc7:	8b c6                	mov    %esi,%eax
413bc9:	f7 64 24 10          	mull   0x10(%esp)
413bcd:	03 d1                	add    %ecx,%edx
413bcf:	eb 47                	jmp    0x413c18
413bd1:	8b c8                	mov    %eax,%ecx
413bd3:	8b 5c 24 10          	mov    0x10(%esp),%ebx
413bd7:	8b 54 24 0c          	mov    0xc(%esp),%edx
413bdb:	8b 44 24 08          	mov    0x8(%esp),%eax
413bdf:	d1 e9                	shr    $1,%ecx
413be1:	d1 db                	rcr    $1,%ebx
413be3:	d1 ea                	shr    $1,%edx
413be5:	d1 d8                	rcr    $1,%eax
413be7:	0b c9                	or     %ecx,%ecx
413be9:	75 f4                	jne    0x413bdf
413beb:	f7 f3                	div    %ebx
413bed:	8b f0                	mov    %eax,%esi
413bef:	f7 64 24 14          	mull   0x14(%esp)
413bf3:	8b c8                	mov    %eax,%ecx
413bf5:	8b 44 24 10          	mov    0x10(%esp),%eax
413bf9:	f7 e6                	mul    %esi
413bfb:	03 d1                	add    %ecx,%edx
413bfd:	72 0e                	jb     0x413c0d
413bff:	3b 54 24 0c          	cmp    0xc(%esp),%edx
413c03:	77 08                	ja     0x413c0d
413c05:	72 0f                	jb     0x413c16
413c07:	3b 44 24 08          	cmp    0x8(%esp),%eax
413c0b:	76 09                	jbe    0x413c16
413c0d:	4e                   	dec    %esi
413c0e:	2b 44 24 10          	sub    0x10(%esp),%eax
413c12:	1b 54 24 14          	sbb    0x14(%esp),%edx
413c16:	33 db                	xor    %ebx,%ebx
413c18:	2b 44 24 08          	sub    0x8(%esp),%eax
413c1c:	1b 54 24 0c          	sbb    0xc(%esp),%edx
413c20:	f7 da                	neg    %edx
413c22:	f7 d8                	neg    %eax
413c24:	83 da 00             	sbb    $0x0,%edx
413c27:	8b ca                	mov    %edx,%ecx
413c29:	8b d3                	mov    %ebx,%edx
413c2b:	8b d9                	mov    %ecx,%ebx
413c2d:	8b c8                	mov    %eax,%ecx
413c2f:	8b c6                	mov    %esi,%eax
413c31:	5e                   	pop    %esi
413c32:	c2 10 00             	ret    $0x10
413c35:	6a 0c                	push   $0xc
413c37:	68 98 ae 41 00       	push   $0x41ae98
413c3c:	e8 07 9a ff ff       	call   0x40d648