45c7ed:	e8 f2 0d fb ff       	call   0x40d5e4
45c7f2:	84 c0                	test   %al,%al
45c7f4:	74 3b                	je     0x45c831
45c7f6:	83 7e 0c 0c          	cmpl   $0xc,0xc(%esi)
45c7fa:	75 04                	jne    0x45c800
45c7fc:	8b 36                	mov    (%esi),%esi
45c7fe:	eb 02                	jmp    0x45c802
45c800:	8b f3                	mov    %ebx,%esi
45c802:	83 ec 10             	sub    $0x10,%esp
45c805:	8b cc                	mov    %esp,%ecx
45c807:	ff 75 14             	push   0x14(%ebp)
45c80a:	e8 16 61 fa ff       	call   0x402925
45c80f:	ff 75 0c             	push   0xc(%ebp)
45c812:	8b ce                	mov    %esi,%ecx
45c814:	ff 75 18             	push   0x18(%ebp)
45c817:	ff 75 08             	push   0x8(%ebp)
45c81a:	e8 9a c6 fe ff       	call   0x448eb9
45c81f:	53                   	push   %ebx
45c820:	50                   	push   %eax
45c821:	8b 07                	mov    (%edi),%eax
45c823:	8b 48 04             	mov    0x4(%eax),%ecx
45c826:	03 cf                	add    %edi,%ecx
45c828:	e8 1f 07 ff ff       	call   0x44cf4c
45c82d:	33 c0                	xor    %eax,%eax
45c82f:	eb 62                	jmp    0x45c893
45c831:	6a 0f                	push   $0xf
45c833:	8b ce                	mov    %esi,%ecx
45c835:	e8 aa 0d fb ff       	call   0x40d5e4
45c83a:	84 c0                	test   %al,%al
45c83c:	74 36                	je     0x45c874
45c83e:	83 7e 0c 0f          	cmpl   $0xf,0xc(%esi)
45c842:	75 04                	jne    0x45c848
45c844:	8b 36                	mov    (%esi),%esi
45c846:	eb 02                	jmp    0x45c84a
45c848:	8b f3                	mov    %ebx,%esi
45c84a:	ff 75 0c             	push   0xc(%ebp)
45c84d:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
45c850:	ff 75 18             	push   0x18(%ebp)
45c853:	ff 75 08             	push   0x8(%ebp)
45c856:	ff 75 14             	push   0x14(%ebp)
45c859:	e8 c7 60 fa ff       	call   0x402925
45c85e:	50                   	push   %eax
45c85f:	8b ce                	mov    %esi,%ecx
45c861:	e8 a0 7d fe ff       	call   0x444606
45c866:	8d 4d 8c             	lea    -0x74(%ebp),%ecx
45c869:	8b f0                	mov    %eax,%esi
45c86b:	e8 b0 63 fb ff       	call   0x412c20
45c870:	53                   	push   %ebx
45c871:	56                   	push   %esi
45c872:	eb ad                	jmp    0x45c821
45c874:	6a 01                	push   $0x1
45c876:	68 e4 3e 4b 00       	push   $0x4b3ee4
45c87b:	53                   	push   %ebx
45c87c:	6a 04                	push   $0x4
45c87e:	e9 23 fc ff ff       	jmp    0x45c4a6
45c883:	33 c0                	xor    %eax,%eax
45c885:	40                   	inc    %eax
45c886:	50                   	push   %eax
45c887:	68 e4 3e 4b 00       	push   $0x4b3ee4
45c88c:	53                   	push   %ebx
45c88d:	50                   	push   %eax
45c88e:	e8 2a f5 ff ff       	call   0x45bdbd
45c893:	5f                   	pop    %edi
45c894:	5e                   	pop    %esi
45c895:	5b                   	pop    %ebx
45c896:	c9                   	leave
45c897:	c2 14 00             	ret    $0x14
45c89a:	55                   	push   %ebp
45c89b:	8b ec                	mov    %esp,%ebp
45c89d:	51                   	push   %ecx
45c89e:	56                   	push   %esi
45c89f:	8b 75 18             	mov    0x18(%ebp),%esi
45c8a2:	57                   	push   %edi
45c8a3:	8b f9                	mov    %ecx,%edi
45c8a5:	85 f6                	test   %esi,%esi
45c8a7:	74 2b                	je     0x45c8d4
45c8a9:	68 00 dc 49 00       	push   $0x49dc00
45c8ae:	8b ce                	mov    %esi,%ecx
45c8b0:	e8 04 05 fb ff       	call   0x40cdb9
45c8b5:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
45c8b9:	ff 75 14             	push   0x14(%ebp)
45c8bc:	8b cf                	mov    %edi,%ecx
45c8be:	ff 75 10             	push   0x10(%ebp)
45c8c1:	ff 75 0c             	push   0xc(%ebp)
45c8c4:	56                   	push   %esi
45c8c5:	74 09                	je     0x45c8d0
45c8c7:	6a 01                	push   $0x1
45c8c9:	e8 71 fb ff ff       	call   0x45c43f
45c8ce:	eb 07                	jmp    0x45c8d7
45c8d0:	6a 03                	push   $0x3
45c8d2:	eb f5                	jmp    0x45c8c9
45c8d4:	83 c8 ff             	or     $0xffffffff,%eax
45c8d7:	5f                   	pop    %edi
45c8d8:	5e                   	pop    %esi
45c8d9:	59                   	pop    %ecx
45c8da:	5d                   	pop    %ebp
45c8db:	c2 14 00             	ret    $0x14
45c8de:	55                   	push   %ebp
45c8df:	8b ec                	mov    %esp,%ebp
45c8e1:	83 ec 18             	sub    $0x18,%esp
45c8e4:	8b 55 10             	mov    0x10(%ebp),%edx
45c8e7:	33 c0                	xor    %eax,%eax
45c8e9:	56                   	push   %esi
45c8ea:	89 45 ec             	mov    %eax,-0x14(%ebp)
45c8ed:	89 45 f4             	mov    %eax,-0xc(%ebp)
45c8f0:	c7 45 f8 01 00 00 00 	movl   $0x1,-0x8(%ebp)
45c8f7:	85 d2                	test   %edx,%edx
45c8f9:	74 1f                	je     0x45c91a
45c8fb:	39 42 08             	cmp    %eax,0x8(%edx)
45c8fe:	76 1a                	jbe    0x45c91a
45c900:	8b 42 04             	mov    0x4(%edx),%eax
45c903:	8b 00                	mov    (%eax),%eax
45c905:	83 78 0c 08          	cmpl   $0x8,0xc(%eax)
45c909:	75 0f                	jne    0x45c91a
45c90b:	52                   	push   %edx
45c90c:	ff 75 0c             	push   0xc(%ebp)
45c90f:	8d 45 ec             	lea    -0x14(%ebp),%eax
45c912:	ff 75 08             	push   0x8(%ebp)
45c915:	50                   	push   %eax
45c916:	6a 08                	push   $0x8
45c918:	eb 0d                	jmp    0x45c927
45c91a:	52                   	push   %edx
45c91b:	ff 75 0c             	push   0xc(%ebp)
45c91e:	8d 45 ec             	lea    -0x14(%ebp),%eax
45c921:	ff 75 08             	push   0x8(%ebp)
45c924:	50                   	push   %eax
45c925:	6a 04                	push   $0x4
45c927:	e8 13 fb ff ff       	call   0x45c43f
45c92c:	8d 4d ec             	lea    -0x14(%ebp),%ecx
45c92f:	8b f0                	mov    %eax,%esi
45c931:	e8 ea 62 fb ff       	call   0x412c20
45c936:	8b c6                	mov    %esi,%eax
45c938:	5e                   	pop    %esi
45c939:	c9                   	leave
45c93a:	c2 0c 00             	ret    $0xc
45c93d:	55                   	push   %ebp
45c93e:	8b ec                	mov    %esp,%ebp
45c940:	83 ec 40             	sub    $0x40,%esp
45c943:	8b 55 08             	mov    0x8(%ebp),%edx
45c946:	53                   	push   %ebx
45c947:	8b 52 04             	mov    0x4(%edx),%edx
45c94a:	56                   	push   %esi
45c94b:	8b 75 0c             	mov    0xc(%ebp),%esi
45c94e:	8b d9                	mov    %ecx,%ebx
45c950:	33 c9                	xor    %ecx,%ecx
45c952:	89 4d dc             	mov    %ecx,-0x24(%ebp)
45c955:	89 4d e0             	mov    %ecx,-0x20(%ebp)
45c958:	89 4d e4             	mov    %ecx,-0x1c(%ebp)
45c95b:	89 4d c4             	mov    %ecx,-0x3c(%ebp)
45c95e:	89 4d cc             	mov    %ecx,-0x34(%ebp)
45c961:	33 c0                	xor    %eax,%eax
45c963:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45c966:	8b 0e                	mov    (%esi),%ecx
45c968:	c7 45 d8 b4 dd 49 00 	movl   $0x49ddb4,-0x28(%ebp)
45c96f:	c7 45 d0 01 00 00 00 	movl   $0x1,-0x30(%ebp)
45c976:	66 89 45 f2          	mov    %ax,-0xe(%ebp)
45c97a:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45c97d:	57                   	push   %edi
45c97e:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45c982:	83 cf ff             	or     $0xffffffff,%edi
45c985:	41                   	inc    %ecx
45c986:	89 45 f4             	mov    %eax,-0xc(%ebp)
45c989:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45c98c:	89 0e                	mov    %ecx,(%esi)
45c98e:	6a 47                	push   $0x47
45c990:	5e                   	pop    %esi
45c991:	66 39 70 08          	cmp    %si,0x8(%eax)
45c995:	8b 75 0c             	mov    0xc(%ebp),%esi
45c998:	66 89 7d f0          	mov    %di,-0x10(%ebp)
45c99c:	74 17                	je     0x45c9b5
45c99e:	8b 44 8a fc          	mov    -0x4(%edx,%ecx,4),%eax
45c9a2:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45c9a6:	50                   	push   %eax
45c9a7:	6a 6f                	push   $0x6f
45c9a9:	8b cb                	mov    %ebx,%ecx
45c9ab:	e8 ac 02 ff ff       	call   0x44cc5c
45c9b0:	e9 aa 01 00 00       	jmp    0x45cb5f
45c9b5:	8d 41 01             	lea    0x1(%ecx),%eax
45c9b8:	89 06                	mov    %eax,(%esi)
45c9ba:	33 ff                	xor    %edi,%edi
45c9bc:	8b 55 08             	mov    0x8(%ebp),%edx
45c9bf:	8b 0e                	mov    (%esi),%ecx
45c9c1:	8b 42 04             	mov    0x4(%edx),%eax
45c9c4:	8b 0c 88             	mov    (%eax,%ecx,4),%ecx
45c9c7:	0f bf 41 08          	movswl 0x8(%ecx),%eax
45c9cb:	83 e8 47             	sub    $0x47,%eax
45c9ce:	74 2e                	je     0x45c9fe
45c9d0:	48                   	dec    %eax
45c9d1:	74 24                	je     0x45c9f7
45c9d3:	83 e8 37             	sub    $0x37,%eax
45c9d6:	75 27                	jne    0x45c9ff
45c9d8:	8b 0e                	mov    (%esi),%ecx
45c9da:	8b 42 04             	mov    0x4(%edx),%eax
45c9dd:	8b 44 88 fc          	mov    -0x4(%eax,%ecx,4),%eax
45c9e1:	8b cb                	mov    %ebx,%ecx
45c9e3:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45c9e7:	50                   	push   %eax
45c9e8:	6a 6f                	push   $0x6f
45c9ea:	e8 6d 02 ff ff       	call   0x44cc5c
45c9ef:	83 cf ff             	or     $0xffffffff,%edi
45c9f2:	e9 68 01 00 00       	jmp    0x45cb5f
45c9f7:	85 ff                	test   %edi,%edi
45c9f9:	74 11                	je     0x45ca0c
45c9fb:	4f                   	dec    %edi
45c9fc:	eb 01                	jmp    0x45c9ff
45c9fe:	47                   	inc    %edi
45c9ff:	51                   	push   %ecx
45ca00:	8d 4d d8             	lea    -0x28(%ebp),%ecx
45ca03:	e8 7d f0 fa ff       	call   0x40ba85
45ca08:	ff 06                	incl   (%esi)
45ca0a:	eb b0                	jmp    0x45c9bc
45ca0c:	8b 45 f4             	mov    -0xc(%ebp),%eax
45ca0f:	ff 06                	incl   (%esi)
45ca11:	6a 7f                	push   $0x7f
45ca13:	5e                   	pop    %esi
45ca14:	66 89 45 f2          	mov    %ax,-0xe(%ebp)
45ca18:	8d 45 e8             	lea    -0x18(%ebp),%eax
45ca1b:	50                   	push   %eax
45ca1c:	8d 4d d8             	lea    -0x28(%ebp),%ecx
45ca1f:	66 89 75 f0          	mov    %si,-0x10(%ebp)
45ca23:	e8 5d f0 fa ff       	call   0x40ba85
45ca28:	8b 55 dc             	mov    -0x24(%ebp),%edx
45ca2b:	33 c9                	xor    %ecx,%ecx
45ca2d:	89 4d 0c             	mov    %ecx,0xc(%ebp)
45ca30:	8b 02                	mov    (%edx),%eax
45ca32:	66 39 70 08          	cmp    %si,0x8(%eax)
45ca36:	0f 84 21 01 00 00    	je     0x45cb5d
45ca3c:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45ca3f:	6a 40                	push   $0x40
45ca41:	66 83 78 08 33       	cmpw   $0x33,0x8(%eax)
45ca46:	5e                   	pop    %esi
45ca47:	0f 85 ad 00 00 00    	jne    0x45cafa
45ca4d:	6a 00                	push   $0x0
45ca4f:	8d 4d f8             	lea    -0x8(%ebp),%ecx
45ca52:	51                   	push   %ecx
45ca53:	8d 4d 08             	lea    0x8(%ebp),%ecx
45ca56:	51                   	push   %ecx
45ca57:	ff 30                	push   (%eax)
45ca59:	e8 e7 0b fb ff       	call   0x40d645
45ca5e:	84 c0                	test   %al,%al
45ca60:	0f 84 94 00 00 00    	je     0x45cafa
45ca66:	f7 45 f8 00 01 00 00 	testl  $0x100,-0x8(%ebp)
45ca6d:	0f 85 87 00 00 00    	jne    0x45cafa
45ca73:	8b 75 08             	mov    0x8(%ebp),%esi
45ca76:	8b 55 dc             	mov    -0x24(%ebp),%edx
45ca79:	83 7e 0c 08          	cmpl   $0x8,0xc(%esi)
45ca7d:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45ca80:	75 0b                	jne    0x45ca8d
45ca82:	8b 44 8a 04          	mov    0x4(%edx,%ecx,4),%eax
45ca86:	66 83 78 08 35       	cmpw   $0x35,0x8(%eax)
45ca8b:	74 6a                	je     0x45caf7
45ca8d:	8b f9                	mov    %ecx,%edi
45ca8f:	41                   	inc    %ecx
45ca90:	89 4d 0c             	mov    %ecx,0xc(%ebp)
45ca93:	83 7e 0c 05          	cmpl   $0x5,0xc(%esi)
45ca97:	75 2a                	jne    0x45cac3
45ca99:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45ca9c:	66 83 78 08 4e       	cmpw   $0x4e,0x8(%eax)
45caa1:	75 20                	jne    0x45cac3
45caa3:	6a 01                	push   $0x1
45caa5:	8d 45 08             	lea    0x8(%ebp),%eax
45caa8:	50                   	push   %eax
45caa9:	8d 45 0c             	lea    0xc(%ebp),%eax
45caac:	50                   	push   %eax
45caad:	8d 45 d8             	lea    -0x28(%ebp),%eax
45cab0:	50                   	push   %eax
45cab1:	8b cb                	mov    %ebx,%ecx
45cab3:	e8 68 28 00 00       	call   0x45f320
45cab8:	85 c0                	test   %eax,%eax
45caba:	0f 88 2f ff ff ff    	js     0x45c9ef
45cac0:	8b 75 08             	mov    0x8(%ebp),%esi
45cac3:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45cac6:	e8 55 61 fb ff       	call   0x412c20
45cacb:	8b 4d dc             	mov    -0x24(%ebp),%ecx
45cace:	8b 45 0c             	mov    0xc(%ebp),%eax
45cad1:	89 75 c4             	mov    %esi,-0x3c(%ebp)
45cad4:	c7 45 d0 06 00 00 00 	movl   $0x6,-0x30(%ebp)
45cadb:	8b 04 81             	mov    (%ecx,%eax,4),%eax
45cade:	6a 40                	push   $0x40
45cae0:	0f b7 40 08          	movzwl 0x8(%eax),%eax
45cae4:	5e                   	pop    %esi
45cae5:	66 3b c6             	cmp    %si,%ax
45cae8:	74 2d                	je     0x45cb17
45caea:	6a 7f                	push   $0x7f
45caec:	59                   	pop    %ecx
45caed:	66 3b c1             	cmp    %cx,%ax
45caf0:	74 25                	je     0x45cb17
45caf2:	89 7d 0c             	mov    %edi,0xc(%ebp)
45caf5:	eb 03                	jmp    0x45cafa
45caf7:	6a 40                	push   $0x40
45caf9:	5e                   	pop    %esi
45cafa:	83 cf ff             	or     $0xffffffff,%edi
45cafd:	57                   	push   %edi
45cafe:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45cb01:	50                   	push   %eax
45cb02:	8d 45 0c             	lea    0xc(%ebp),%eax
45cb05:	50                   	push   %eax
45cb06:	8d 45 d8             	lea    -0x28(%ebp),%eax
45cb09:	50                   	push   %eax
45cb0a:	8b cb                	mov    %ebx,%ecx
45cb0c:	e8 1f 33 fb ff       	call   0x40fe30
45cb11:	85 c0                	test   %eax,%eax
45cb13:	78 4a                	js     0x45cb5f
45cb15:	eb 03                	jmp    0x45cb1a
45cb17:	83 cf ff             	or     $0xffffffff,%edi
45cb1a:	8b 4d 10             	mov    0x10(%ebp),%ecx
45cb1d:	8d 45 c4             	lea    -0x3c(%ebp),%eax
45cb20:	50                   	push   %eax
45cb21:	e8 b0 f7 fb ff       	call   0x41c2d6
45cb26:	8b 55 dc             	mov    -0x24(%ebp),%edx
45cb29:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45cb2c:	6a 7f                	push   $0x7f
45cb2e:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45cb31:	66 39 70 08          	cmp    %si,0x8(%eax)
45cb35:	5e                   	pop    %esi
45cb36:	75 0e                	jne    0x45cb46
45cb38:	8b 44 8a 04          	mov    0x4(%edx,%ecx,4),%eax
45cb3c:	66 39 70 08          	cmp    %si,0x8(%eax)
45cb40:	74 0c                	je     0x45cb4e
45cb42:	41                   	inc    %ecx
45cb43:	89 4d 0c             	mov    %ecx,0xc(%ebp)
45cb46:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45cb49:	e9 e4 fe ff ff       	jmp    0x45ca32
45cb4e:	8b 04 8a             	mov    (%edx,%ecx,4),%eax
45cb51:	0f bf 40 0a          	movswl 0xa(%eax),%eax
45cb55:	50                   	push   %eax
45cb56:	6a 6e                	push   $0x6e
45cb58:	e9 4c fe ff ff       	jmp    0x45c9a9
45cb5d:	33 ff                	xor    %edi,%edi
45cb5f:	8d 4d c4             	lea    -0x3c(%ebp),%ecx
45cb62:	e8 b9 60 fb ff       	call   0x412c20
45cb67:	8d 4d e8             	lea    -0x18(%ebp),%ecx
45cb6a:	e8 86 0d fc ff       	call   0x41d8f5
45cb6f:	8d 4d d8             	lea    -0x28(%ebp),%ecx
45cb72:	e8 9a 83 fa ff       	call   0x404f11
45cb77:	8b c7                	mov    %edi,%eax
45cb79:	5f                   	pop    %edi
45cb7a:	5e                   	pop    %esi
45cb7b:	5b                   	pop    %ebx
45cb7c:	c9                   	leave
45cb7d:	c2 0c 00             	ret    $0xc
45cb80:	56                   	push   %esi
45cb81:	6a 08                	push   $0x8
45cb83:	8b f1                	mov    %ecx,%esi
45cb85:	e8 5a 0a fb ff       	call   0x40d5e4
45cb8a:	84 c0                	test   %al,%al
45cb8c:	75 1e                	jne    0x45cbac
45cb8e:	6a 0c                	push   $0xc
45cb90:	8b ce                	mov    %esi,%ecx
45cb92:	e8 4d 0a fb ff       	call   0x40d5e4