45d7c9:	8d 40 00             	lea    0x0(%eax),%eax
45d7cc:	66 ff 80 8c 00 00 00 	incw   0x8c(%eax)
45d7d3:	c3                   	ret
45d7d4:	66 ff 88 8c 00 00 00 	decw   0x8c(%eax)
45d7db:	66 83 b8 8c 00 00 00 	cmpw   $0x0,0x8c(%eax)
45d7e2:	00
45d7e3:	75 0e                	jne    0x45d7f3
45d7e5:	f6 80 8e 00 00 00 10 	testb  $0x10,0x8e(%eax)
45d7ec:	74 05                	je     0x45d7f3
45d7ee:	e8 01 00 00 00       	call   0x45d7f4
45d7f3:	c3                   	ret
45d7f4:	33 d2                	xor    %edx,%edx
45d7f6:	e8 3d 04 00 00       	call   0x45dc38
45d7fb:	c3                   	ret
45d7fc:	55                   	push   %ebp
45d7fd:	8b ec                	mov    %esp,%ebp
45d7ff:	51                   	push   %ecx
45d800:	53                   	push   %ebx
45d801:	88 4d ff             	mov    %cl,-0x1(%ebp)
45d804:	33 c9                	xor    %ecx,%ecx
45d806:	8a 5d ff             	mov    -0x1(%ebp),%bl
45d809:	fe cb                	dec    %bl
45d80b:	74 0e                	je     0x45d81b
45d80d:	fe cb                	dec    %bl
45d80f:	74 15                	je     0x45d826
45d811:	fe cb                	dec    %bl
45d813:	74 24                	je     0x45d839
45d815:	fe cb                	dec    %bl
45d817:	74 2b                	je     0x45d844
45d819:	eb 3a                	jmp    0x45d855
45d81b:	8b 52 44             	mov    0x44(%edx),%edx
45d81e:	3b 50 44             	cmp    0x44(%eax),%edx
45d821:	0f 9f c1             	setg   %cl
45d824:	eb 2f                	jmp    0x45d855
45d826:	8b 4a 44             	mov    0x44(%edx),%ecx
45d829:	03 4a 4c             	add    0x4c(%edx),%ecx
45d82c:	8b 50 44             	mov    0x44(%eax),%edx
45d82f:	03 50 4c             	add    0x4c(%eax),%edx
45d832:	3b ca                	cmp    %edx,%ecx
45d834:	0f 9c c1             	setl   %cl
45d837:	eb 1c                	jmp    0x45d855
45d839:	8b 52 40             	mov    0x40(%edx),%edx
45d83c:	3b 50 40             	cmp    0x40(%eax),%edx
45d83f:	0f 9f c1             	setg   %cl
45d842:	eb 11                	jmp    0x45d855
45d844:	8b 4a 40             	mov    0x40(%edx),%ecx
45d847:	03 4a 48             	add    0x48(%edx),%ecx
45d84a:	8b 50 40             	mov    0x40(%eax),%edx
45d84d:	03 50 48             	add    0x48(%eax),%edx
45d850:	3b ca                	cmp    %edx,%ecx
45d852:	0f 9c c1             	setl   %cl
45d855:	8b c1                	mov    %ecx,%eax
45d857:	5b                   	pop    %ebx
45d858:	59                   	pop    %ecx
45d859:	5d                   	pop    %ebp
45d85a:	c3                   	ret
45d85b:	90                   	nop
45d85c:	55                   	push   %ebp
45d85d:	8b ec                	mov    %esp,%ebp
45d85f:	83 c4 f0             	add    $0xfffffff0,%esp
45d862:	53                   	push   %ebx
45d863:	56                   	push   %esi
45d864:	57                   	push   %edi
45d865:	88 55 ff             	mov    %dl,-0x1(%ebp)
45d868:	8b d8                	mov    %eax,%ebx
45d86a:	8b 45 08             	mov    0x8(%ebp),%eax
45d86d:	8b 70 fc             	mov    -0x4(%eax),%esi
45d870:	8b 76 08             	mov    0x8(%esi),%esi
45d873:	8b 45 08             	mov    0x8(%ebp),%eax
45d876:	8b 40 fc             	mov    -0x4(%eax),%eax
45d879:	2b 30                	sub    (%eax),%esi
45d87b:	85 f6                	test   %esi,%esi
45d87d:	7c 09                	jl     0x45d888
45d87f:	8a 45 ff             	mov    -0x1(%ebp),%al
45d882:	04 fd                	add    $0xfd,%al
45d884:	2c 02                	sub    $0x2,%al
45d886:	73 03                	jae    0x45d88b
45d888:	8b 73 48             	mov    0x48(%ebx),%esi
45d88b:	8b 45 08             	mov    0x8(%ebp),%eax
45d88e:	8b 40 fc             	mov    -0x4(%eax),%eax
45d891:	8b 40 0c             	mov    0xc(%eax),%eax
45d894:	8b 55 08             	mov    0x8(%ebp),%edx
45d897:	8b 52 fc             	mov    -0x4(%edx),%edx
45d89a:	2b 42 04             	sub    0x4(%edx),%eax
45d89d:	89 45 f0             	mov    %eax,-0x10(%ebp)
45d8a0:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
45d8a4:	7c 08                	jl     0x45d8ae
45d8a6:	8a 45 ff             	mov    -0x1(%ebp),%al
45d8a9:	48                   	dec    %eax
45d8aa:	2c 02                	sub    $0x2,%al
45d8ac:	73 06                	jae    0x45d8b4
45d8ae:	8b 43 4c             	mov    0x4c(%ebx),%eax
45d8b1:	89 45 f0             	mov    %eax,-0x10(%ebp)
45d8b4:	80 7d ff 01          	cmpb   $0x1,-0x1(%ebp)
45d8b8:	75 24                	jne    0x45d8de
45d8ba:	80 bb 2b 02 00 00 02 	cmpb   $0x2,0x22b(%ebx)
45d8c1:	75 1b                	jne    0x45d8de
45d8c3:	8b 43 40             	mov    0x40(%ebx),%eax
45d8c6:	89 45 f8             	mov    %eax,-0x8(%ebp)
45d8c9:	8b 43 44             	mov    0x44(%ebx),%eax
45d8cc:	89 45 f4             	mov    %eax,-0xc(%ebp)
45d8cf:	6a 3d                	push   $0x3d
45d8d1:	a1 44 db 46 00       	mov    0x46db44,%eax
45d8d6:	8b 00                	mov    (%eax),%eax
45d8d8:	ff d0                	call   *%eax
45d8da:	8b f0                	mov    %eax,%esi
45d8dc:	eb 17                	jmp    0x45d8f5
45d8de:	8b 45 08             	mov    0x8(%ebp),%eax
45d8e1:	8b 40 fc             	mov    -0x4(%eax),%eax
45d8e4:	8b 00                	mov    (%eax),%eax
45d8e6:	89 45 f8             	mov    %eax,-0x8(%ebp)
45d8e9:	8b 45 08             	mov    0x8(%ebp),%eax
45d8ec:	8b 40 fc             	mov    -0x4(%eax),%eax
45d8ef:	8b 40 04             	mov    0x4(%eax),%eax
45d8f2:	89 45 f4             	mov    %eax,-0xc(%ebp)
45d8f5:	8a 45 ff             	mov    -0x1(%ebp),%al
45d8f8:	fe c8                	dec    %al
45d8fa:	74 0e                	je     0x45d90a
45d8fc:	fe c8                	dec    %al
45d8fe:	74 18                	je     0x45d918
45d900:	fe c8                	dec    %al
45d902:	74 2e                	je     0x45d932
45d904:	fe c8                	dec    %al
45d906:	74 34                	je     0x45d93c
45d908:	eb 47                	jmp    0x45d951
45d90a:	8b 45 08             	mov    0x8(%ebp),%eax
45d90d:	8b 40 fc             	mov    -0x4(%eax),%eax
45d910:	8b 55 f0             	mov    -0x10(%ebp),%edx
45d913:	01 50 04             	add    %edx,0x4(%eax)
45d916:	eb 39                	jmp    0x45d951
45d918:	8b 45 08             	mov    0x8(%ebp),%eax
45d91b:	8b 40 fc             	mov    -0x4(%eax),%eax
45d91e:	8b 55 f0             	mov    -0x10(%ebp),%edx
45d921:	29 50 0c             	sub    %edx,0xc(%eax)
45d924:	8b 45 08             	mov    0x8(%ebp),%eax
45d927:	8b 40 fc             	mov    -0x4(%eax),%eax
45d92a:	8b 40 0c             	mov    0xc(%eax),%eax
45d92d:	89 45 f4             	mov    %eax,-0xc(%ebp)
45d930:	eb 1f                	jmp    0x45d951
45d932:	8b 45 08             	mov    0x8(%ebp),%eax
45d935:	8b 40 fc             	mov    -0x4(%eax),%eax
45d938:	01 30                	add    %esi,(%eax)
45d93a:	eb 15                	jmp    0x45d951
45d93c:	8b 45 08             	mov    0x8(%ebp),%eax
45d93f:	8b 40 fc             	mov    -0x4(%eax),%eax
45d942:	29 70 08             	sub    %esi,0x8(%eax)
45d945:	8b 45 08             	mov    0x8(%ebp),%eax
45d948:	8b 40 fc             	mov    -0x4(%eax),%eax
45d94b:	8b 40 08             	mov    0x8(%eax),%eax
45d94e:	89 45 f8             	mov    %eax,-0x8(%ebp)
45d951:	56                   	push   %esi
45d952:	8b 45 f0             	mov    -0x10(%ebp),%eax
45d955:	50                   	push   %eax
45d956:	8b 4d f4             	mov    -0xc(%ebp),%ecx
45d959:	8b 55 f8             	mov    -0x8(%ebp),%edx
45d95c:	8b c3                	mov    %ebx,%eax
45d95e:	8b 38                	mov    (%eax),%edi
45d960:	ff 97 84 00 00 00    	call   *0x84(%edi)
45d966:	80 bb 2b 02 00 00 02 	cmpb   $0x2,0x22b(%ebx)
45d96d:	75 09                	jne    0x45d978
45d96f:	2b 75 f8             	sub    -0x8(%ebp),%esi
45d972:	8b 45 f4             	mov    -0xc(%ebp),%eax
45d975:	29 45 f0             	sub    %eax,-0x10(%ebp)
45d978:	8b 43 48             	mov    0x48(%ebx),%eax
45d97b:	3b f0                	cmp    %eax,%esi
45d97d:	75 08                	jne    0x45d987
45d97f:	8b 53 4c             	mov    0x4c(%ebx),%edx
45d982:	3b 55 f0             	cmp    -0x10(%ebp),%edx
45d985:	74 7e                	je     0x45da05
45d987:	33 d2                	xor    %edx,%edx
45d989:	8a 55 ff             	mov    -0x1(%ebp),%dl
45d98c:	83 fa 05             	cmp    $0x5,%edx
45d98f:	77 74                	ja     0x45da05
45d991:	ff 24 95 98 d9 45 00 	jmp    *0x45d998(,%edx,4)
45d998:	05 da 45 00 b0       	add    $0xb00045da,%eax
45d99d:	d9 45 00             	flds   0x0(%ebp)
45d9a0:	c1 d9 45             	rcr    $0x45,%ecx
45d9a3:	00 d2                	add    %dl,%dl
45d9a5:	d9 45 00             	flds   0x0(%ebp)
45d9a8:	de d9                	fcompp
45d9aa:	45                   	inc    %ebp
45d9ab:	00 eb                	add    %ch,%bl
45d9ad:	d9 45 00             	flds   0x0(%ebp)
45d9b0:	8b 45 f0             	mov    -0x10(%ebp),%eax
45d9b3:	2b 43 4c             	sub    0x4c(%ebx),%eax
45d9b6:	8b 55 08             	mov    0x8(%ebp),%edx
45d9b9:	8b 52 fc             	mov    -0x4(%edx),%edx
45d9bc:	29 42 04             	sub    %eax,0x4(%edx)
45d9bf:	eb 44                	jmp    0x45da05
45d9c1:	8b 45 f0             	mov    -0x10(%ebp),%eax
45d9c4:	2b 43 4c             	sub    0x4c(%ebx),%eax
45d9c7:	8b 55 08             	mov    0x8(%ebp),%edx
45d9ca:	8b 52 fc             	mov    -0x4(%edx),%edx
45d9cd:	01 42 0c             	add    %eax,0xc(%edx)
45d9d0:	eb 33                	jmp    0x45da05
45d9d2:	2b f0                	sub    %eax,%esi
45d9d4:	8b 45 08             	mov    0x8(%ebp),%eax
45d9d7:	8b 40 fc             	mov    -0x4(%eax),%eax
45d9da:	29 30                	sub    %esi,(%eax)
45d9dc:	eb 27                	jmp    0x45da05
45d9de:	2b f0                	sub    %eax,%esi
45d9e0:	8b 45 08             	mov    0x8(%ebp),%eax
45d9e3:	8b 40 fc             	mov    -0x4(%eax),%eax
45d9e6:	01 70 08             	add    %esi,0x8(%eax)
45d9e9:	eb 1a                	jmp    0x45da05
45d9eb:	2b f0                	sub    %eax,%esi
45d9ed:	8b 45 08             	mov    0x8(%ebp),%eax
45d9f0:	8b 40 fc             	mov    -0x4(%eax),%eax
45d9f3:	01 70 08             	add    %esi,0x8(%eax)
45d9f6:	8b 45 f0             	mov    -0x10(%ebp),%eax
45d9f9:	2b 43 4c             	sub    0x4c(%ebx),%eax
45d9fc:	8b 55 08             	mov    0x8(%ebp),%edx
45d9ff:	8b 52 fc             	mov    -0x4(%edx),%edx
45da02:	01 42 0c             	add    %eax,0xc(%edx)
45da05:	5f                   	pop    %edi
45da06:	5e                   	pop    %esi
45da07:	5b                   	pop    %ebx
45da08:	8b e5                	mov    %ebp,%esp
45da0a:	5d                   	pop    %ebp
45da0b:	c3                   	ret
45da0c:	55                   	push   %ebp
45da0d:	8b ec                	mov    %esp,%ebp
45da0f:	83 c4 f8             	add    $0xfffffff8,%esp
45da12:	53                   	push   %ebx
45da13:	56                   	push   %esi
45da14:	57                   	push   %edi
45da15:	88 45 ff             	mov    %al,-0x1(%ebp)
45da18:	8b 45 08             	mov    0x8(%ebp),%eax
45da1b:	8b 40 f8             	mov    -0x8(%eax),%eax
45da1e:	8b 10                	mov    (%eax),%edx
45da20:	ff 52 08             	call   *0x8(%edx)
45da23:	8b 45 08             	mov    0x8(%ebp),%eax
45da26:	83 78 f4 00          	cmpl   $0x0,-0xc(%eax)
45da2a:	74 52                	je     0x45da7e
45da2c:	8b 45 08             	mov    0x8(%ebp),%eax
45da2f:	8b 40 f4             	mov    -0xc(%eax),%eax
45da32:	83 78 30 00          	cmpl   $0x0,0x30(%eax)
45da36:	75 46                	jne    0x45da7e
45da38:	8b 45 08             	mov    0x8(%ebp),%eax
45da3b:	8b 40 f4             	mov    -0xc(%eax),%eax
45da3e:	f6 40 1c 10          	testb  $0x10,0x1c(%eax)
45da42:	75 3a                	jne    0x45da7e
45da44:	8b 45 08             	mov    0x8(%ebp),%eax
45da47:	8b 40 f4             	mov    -0xc(%eax),%eax
45da4a:	80 78 57 00          	cmpb   $0x0,0x57(%eax)
45da4e:	74 2e                	je     0x45da7e
45da50:	8b 45 08             	mov    0x8(%ebp),%eax
45da53:	8b 40 f4             	mov    -0xc(%eax),%eax
45da56:	8a 40 5b             	mov    0x5b(%eax),%al
45da59:	3a 45 ff             	cmp    -0x1(%ebp),%al
45da5c:	75 20                	jne    0x45da7e
45da5e:	8b 45 08             	mov    0x8(%ebp),%eax
45da61:	8b 40 f4             	mov    -0xc(%eax),%eax
45da64:	80 b8 2b 02 00 00 01 	cmpb   $0x1,0x22b(%eax)
45da6b:	74 11                	je     0x45da7e
45da6d:	8b 45 08             	mov    0x8(%ebp),%eax
45da70:	8b 50 f4             	mov    -0xc(%eax),%edx
45da73:	8b 45 08             	mov    0x8(%ebp),%eax
45da76:	8b 40 f8             	mov    -0x8(%eax),%eax
45da79:	e8 a2 61 fb ff       	call   0x413c20
45da7e:	8b 45 08             	mov    0x8(%ebp),%eax
45da81:	8b 40 f0             	mov    -0x10(%eax),%eax
45da84:	e8 db f6 ff ff       	call   0x45d164
45da89:	8b f8                	mov    %eax,%edi
45da8b:	4f                   	dec    %edi
45da8c:	85 ff                	test   %edi,%edi
45da8e:	0f 8c 85 00 00 00    	jl     0x45db19
45da94:	47                   	inc    %edi
45da95:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
45da9c:	8b 45 08             	mov    0x8(%ebp),%eax
45da9f:	8b 40 f0             	mov    -0x10(%eax),%eax
45daa2:	8b 55 f8             	mov    -0x8(%ebp),%edx
45daa5:	e8 a6 f6 ff ff       	call   0x45d150
45daaa:	8b d8                	mov    %eax,%ebx
45daac:	83 7b 30 00          	cmpl   $0x0,0x30(%ebx)
45dab0:	75 61                	jne    0x45db13
45dab2:	8a 43 5b             	mov    0x5b(%ebx),%al
45dab5:	3a 45 ff             	cmp    -0x1(%ebp),%al
45dab8:	75 59                	jne    0x45db13
45daba:	f6 43 1c 10          	testb  $0x10,0x1c(%ebx)
45dabe:	75 53                	jne    0x45db13
45dac0:	80 7b 57 00          	cmpb   $0x0,0x57(%ebx)
45dac4:	74 4d                	je     0x45db13
45dac6:	80 bb 2b 02 00 00 01 	cmpb   $0x1,0x22b(%ebx)
45dacd:	74 44                	je     0x45db13
45dacf:	8b 45 08             	mov    0x8(%ebp),%eax
45dad2:	3b 58 f4             	cmp    -0xc(%eax),%ebx
45dad5:	74 3c                	je     0x45db13
45dad7:	33 f6                	xor    %esi,%esi
45dad9:	eb 01                	jmp    0x45dadc
45dadb:	46                   	inc    %esi
45dadc:	8b 45 08             	mov    0x8(%ebp),%eax
45dadf:	8b 40 f8             	mov    -0x8(%eax),%eax
45dae2:	3b 70 08             	cmp    0x8(%eax),%esi
45dae5:	7d 1d                	jge    0x45db04
45dae7:	8b 45 08             	mov    0x8(%ebp),%eax
45daea:	8b 40 f8             	mov    -0x8(%eax),%eax
45daed:	8b d6                	mov    %esi,%edx
45daef:	e8 88 62 fb ff       	call   0x413d7c
45daf4:	8b d0                	mov    %eax,%edx
45daf6:	8a 4d ff             	mov    -0x1(%ebp),%cl
45daf9:	8b c3                	mov    %ebx,%eax
45dafb:	e8 fc fc ff ff       	call   0x45d7fc
45db00:	84 c0                	test   %al,%al
45db02:	74 d7                	je     0x45dadb
45db04:	8b 45 08             	mov    0x8(%ebp),%eax
45db07:	8b 40 f8             	mov    -0x8(%eax),%eax
45db0a:	8b cb                	mov    %ebx,%ecx
45db0c:	8b d6                	mov    %esi,%edx
45db0e:	e8 e5 62 fb ff       	call   0x413df8
45db13:	ff 45 f8             	incl   -0x8(%ebp)
45db16:	4f                   	dec    %edi
45db17:	75 83                	jne    0x45da9c
45db19:	8b 45 08             	mov    0x8(%ebp),%eax
45db1c:	8b 40 f8             	mov    -0x8(%eax),%eax
45db1f:	8b 78 08             	mov    0x8(%eax),%edi
45db22:	4f                   	dec    %edi
45db23:	85 ff                	test   %edi,%edi
45db25:	7c 29                	jl     0x45db50
45db27:	47                   	inc    %edi
45db28:	c7 45 f8 00 00 00 00 	movl   $0x0,-0x8(%ebp)
45db2f:	8b 45 08             	mov    0x8(%ebp),%eax
45db32:	50                   	push   %eax
45db33:	8b 45 08             	mov    0x8(%ebp),%eax
45db36:	8b 40 f8             	mov    -0x8(%eax),%eax
45db39:	8b 55 f8             	mov    -0x8(%ebp),%edx
45db3c:	e8 3b 62 fb ff       	call   0x413d7c
45db41:	8a 55 ff             	mov    -0x1(%ebp),%dl
45db44:	e8 13 fd ff ff       	call   0x45d85c
45db49:	59                   	pop    %ecx
45db4a:	ff 45 f8             	incl   -0x8(%ebp)
45db4d:	4f                   	dec    %edi
45db4e:	75 df                	jne    0x45db2f
45db50:	5f                   	pop    %edi
45db51:	5e                   	pop    %esi
45db52:	5b                   	pop    %ebx
45db53:	59                   	pop    %ecx
45db54:	59                   	pop    %ecx
45db55:	5d                   	pop    %ebp
45db56:	c3                   	ret
45db57:	90                   	nop
45db58:	55                   	push   %ebp
45db59:	8b ec                	mov    %esp,%ebp
45db5b:	53                   	push   %ebx
45db5c:	56                   	push   %esi
45db5d:	b3 01                	mov    $0x1,%bl
45db5f:	8b 45 08             	mov    0x8(%ebp),%eax
45db62:	8b 40 f0             	mov    -0x10(%eax),%eax
45db65:	e8 fa f5 ff ff       	call   0x45d164
45db6a:	8b f0                	mov    %eax,%esi