45c893:	e8 f8 f6 ff ff       	call   0x45bf90
45c898:	84 c0                	test   %al,%al
45c89a:	74 74                	je     0x45c910
45c89c:	33 c0                	xor    %eax,%eax
45c89e:	89 45 fc             	mov    %eax,-0x4(%ebp)
45c8a1:	8b 45 08             	mov    0x8(%ebp),%eax
45c8a4:	50                   	push   %eax
45c8a5:	56                   	push   %esi
45c8a6:	57                   	push   %edi
45c8a7:	e8 fc b1 fa ff       	call   0x407aa8
45c8ac:	a8 10                	test   $0x10,%al
45c8ae:	74 19                	je     0x45c8c9
45c8b0:	56                   	push   %esi
45c8b1:	57                   	push   %edi
45c8b2:	e8 49 b2 fa ff       	call   0x407b00
45c8b7:	8b f8                	mov    %eax,%edi
45c8b9:	b1 01                	mov    $0x1,%cl
45c8bb:	8b d7                	mov    %edi,%edx
45c8bd:	8b c3                	mov    %ebx,%eax
45c8bf:	e8 48 f5 ff ff       	call   0x45be0c
45c8c4:	89 45 fc             	mov    %eax,-0x4(%ebp)
45c8c7:	eb 1c                	jmp    0x45c8e5
45c8c9:	56                   	push   %esi
45c8ca:	57                   	push   %edi
45c8cb:	e8 c8 b1 fa ff       	call   0x407a98
45c8d0:	8b f0                	mov    %eax,%esi
45c8d2:	83 fe ff             	cmp    $0xffffffff,%esi
45c8d5:	74 0e                	je     0x45c8e5
45c8d7:	33 c9                	xor    %ecx,%ecx
45c8d9:	8b d6                	mov    %esi,%edx
45c8db:	8b c3                	mov    %ebx,%eax
45c8dd:	e8 2a f5 ff ff       	call   0x45be0c
45c8e2:	89 45 fc             	mov    %eax,-0x4(%ebp)
45c8e5:	83 7d fc 00          	cmpl   $0x0,-0x4(%ebp)
45c8e9:	74 21                	je     0x45c90c
45c8eb:	8b 45 10             	mov    0x10(%ebp),%eax
45c8ee:	c6 00 00             	movb   $0x0,(%eax)
45c8f1:	8b 45 fc             	mov    -0x4(%ebp),%eax
45c8f4:	8b 50 30             	mov    0x30(%eax),%edx
45c8f7:	8b 4d 0c             	mov    0xc(%ebp),%ecx
45c8fa:	8b 45 10             	mov    0x10(%ebp),%eax
45c8fd:	e8 d6 d5 fa ff       	call   0x409ed8
45c902:	8b 45 10             	mov    0x10(%ebp),%eax
45c905:	e8 e6 d4 fa ff       	call   0x409df0
45c90a:	eb 17                	jmp    0x45c923
45c90c:	33 c0                	xor    %eax,%eax
45c90e:	eb 13                	jmp    0x45c923
45c910:	8b 45 08             	mov    0x8(%ebp),%eax
45c913:	50                   	push   %eax
45c914:	8b 45 0c             	mov    0xc(%ebp),%eax
45c917:	50                   	push   %eax
45c918:	8b 45 10             	mov    0x10(%ebp),%eax
45c91b:	50                   	push   %eax
45c91c:	56                   	push   %esi
45c91d:	57                   	push   %edi
45c91e:	e8 8d b1 fa ff       	call   0x407ab0
45c923:	5f                   	pop    %edi
45c924:	5e                   	pop    %esi
45c925:	5b                   	pop    %ebx
45c926:	59                   	pop    %ecx
45c927:	5d                   	pop    %ebp
45c928:	c2 0c 00             	ret    $0xc
45c92b:	90                   	nop
45c92c:	3a 50 30             	cmp    0x30(%eax),%dl
45c92f:	74 0c                	je     0x45c93d
45c931:	88 50 30             	mov    %dl,0x30(%eax)
45c934:	c6 40 41 00          	movb   $0x0,0x41(%eax)
45c938:	e8 ef f8 ff ff       	call   0x45c22c
45c93d:	c3                   	ret
45c93e:	8b c0                	mov    %eax,%eax
45c940:	3a 50 41             	cmp    0x41(%eax),%dl
45c943:	74 08                	je     0x45c94d
45c945:	88 50 41             	mov    %dl,0x41(%eax)
45c948:	e8 03 00 00 00       	call   0x45c950
45c94d:	c3                   	ret
45c94e:	8b c0                	mov    %eax,%eax
45c950:	53                   	push   %ebx
45c951:	8b d8                	mov    %eax,%ebx
45c953:	80 7b 41 00          	cmpb   $0x0,0x41(%ebx)
45c957:	74 1a                	je     0x45c973
45c959:	8b 43 38             	mov    0x38(%ebx),%eax
45c95c:	e8 57 8d fe ff       	call   0x4456b8
45c961:	85 c0                	test   %eax,%eax
45c963:	74 0e                	je     0x45c973
45c965:	8a 50 5f             	mov    0x5f(%eax),%dl
45c968:	8b c3                	mov    %ebx,%eax
45c96a:	e8 bd ff ff ff       	call   0x45c92c
45c96f:	c6 43 41 01          	movb   $0x1,0x41(%ebx)
45c973:	5b                   	pop    %ebx
45c974:	c3                   	ret
45c975:	8d 40 00             	lea    0x0(%eax),%eax
45c978:	53                   	push   %ebx
45c979:	56                   	push   %esi
45c97a:	8b f2                	mov    %edx,%esi
45c97c:	8b d8                	mov    %eax,%ebx
45c97e:	80 7b 41 00          	cmpb   $0x0,0x41(%ebx)
45c982:	74 1b                	je     0x45c99f
45c984:	8b c6                	mov    %esi,%eax
45c986:	8b 15 04 3f 44 00    	mov    0x443f04,%edx
45c98c:	e8 97 72 fa ff       	call   0x403c28
45c991:	8a 50 5f             	mov    0x5f(%eax),%dl
45c994:	8b c3                	mov    %ebx,%eax
45c996:	e8 91 ff ff ff       	call   0x45c92c
45c99b:	c6 43 41 01          	movb   $0x1,0x41(%ebx)
45c99f:	5e                   	pop    %esi
45c9a0:	5b                   	pop    %ebx
45c9a1:	c3                   	ret
45c9a2:	8b c0                	mov    %eax,%eax
45c9a4:	8b 40 34             	mov    0x34(%eax),%eax
45c9a7:	0f b6 40 3b          	movzbl 0x3b(%eax),%eax
45c9ab:	8a 80 d4 ac 68 00    	mov    0x68acd4(%eax),%al
45c9b1:	c3                   	ret
45c9b2:	8b c0                	mov    %eax,%eax
45c9b4:	83 e2 7f             	and    $0x7f,%edx
45c9b7:	8a 92 d0 ac 68 00    	mov    0x68acd0(%edx),%dl
45c9bd:	8b 40 34             	mov    0x34(%eax),%eax
45c9c0:	88 50 3b             	mov    %dl,0x3b(%eax)
45c9c3:	c3                   	ret
45c9c4:	8b 40 34             	mov    0x34(%eax),%eax
45c9c7:	0f b6 40 3c          	movzbl 0x3c(%eax),%eax
45c9cb:	8a 80 d4 ac 68 00    	mov    0x68acd4(%eax),%al
45c9d1:	c3                   	ret
45c9d2:	8b c0                	mov    %eax,%eax
45c9d4:	83 e2 7f             	and    $0x7f,%edx
45c9d7:	8a 92 d0 ac 68 00    	mov    0x68acd0(%edx),%dl
45c9dd:	8b 40 34             	mov    0x34(%eax),%eax
45c9e0:	88 50 3c             	mov    %dl,0x3c(%eax)
45c9e3:	c3                   	ret
45c9e4:	3a 50 5c             	cmp    0x5c(%eax),%dl
45c9e7:	74 19                	je     0x45ca02
45c9e9:	88 50 5c             	mov    %dl,0x5c(%eax)
45c9ec:	8b 50 38             	mov    0x38(%eax),%edx
45c9ef:	85 d2                	test   %edx,%edx
45c9f1:	74 0f                	je     0x45ca02
45c9f3:	6a 00                	push   $0x0
45c9f5:	6a 00                	push   $0x0
45c9f7:	68 15 b0 00 00       	push   $0xb015
45c9fc:	52                   	push   %edx
45c9fd:	e8 0e b3 fa ff       	call   0x407d10
45ca02:	c3                   	ret
45ca03:	90                   	nop
45ca04:	55                   	push   %ebp
45ca05:	8b ec                	mov    %esp,%ebp
45ca07:	51                   	push   %ecx
45ca08:	53                   	push   %ebx
45ca09:	56                   	push   %esi
45ca0a:	57                   	push   %edi
45ca0b:	8b f1                	mov    %ecx,%esi
45ca0d:	89 55 fc             	mov    %edx,-0x4(%ebp)
45ca10:	8b f8                	mov    %eax,%edi
45ca12:	83 7f 38 00          	cmpl   $0x0,0x38(%edi)
45ca16:	74 2c                	je     0x45ca44
45ca18:	8b c7                	mov    %edi,%eax
45ca1a:	e8 69 f9 ff ff       	call   0x45c388
45ca1f:	8b d8                	mov    %eax,%ebx
45ca21:	85 f6                	test   %esi,%esi
45ca23:	75 12                	jne    0x45ca37
45ca25:	6a 00                	push   $0x0
45ca27:	6a 00                	push   $0x0
45ca29:	68 15 b0 00 00       	push   $0xb015
45ca2e:	8b 47 38             	mov    0x38(%edi),%eax
45ca31:	50                   	push   %eax
45ca32:	e8 d9 b2 fa ff       	call   0x407d10
45ca37:	84 db                	test   %bl,%bl
45ca39:	74 09                	je     0x45ca44
45ca3b:	8b 47 38             	mov    0x38(%edi),%eax
45ca3e:	50                   	push   %eax
45ca3f:	e8 ec ae fa ff       	call   0x407930
45ca44:	8a 45 08             	mov    0x8(%ebp),%al
45ca47:	50                   	push   %eax
45ca48:	8b ce                	mov    %esi,%ecx
45ca4a:	8b 55 fc             	mov    -0x4(%ebp),%edx
45ca4d:	8b c7                	mov    %edi,%eax
45ca4f:	e8 ac fa ff ff       	call   0x45c500
45ca54:	5f                   	pop    %edi
45ca55:	5e                   	pop    %esi
45ca56:	5b                   	pop    %ebx
45ca57:	59                   	pop    %ecx
45ca58:	5d                   	pop    %ebp
45ca59:	c2 04 00             	ret    $0x4
45ca5c:	85 d2                	test   %edx,%edx
45ca5e:	74 0c                	je     0x45ca6c
45ca60:	8b 40 34             	mov    0x34(%eax),%eax
45ca63:	8b 52 34             	mov    0x34(%edx),%edx
45ca66:	e8 6d c4 ff ff       	call   0x458ed8
45ca6b:	c3                   	ret
45ca6c:	33 d2                	xor    %edx,%edx
45ca6e:	8b 40 34             	mov    0x34(%eax),%eax
45ca71:	e8 62 c4 ff ff       	call   0x458ed8
45ca76:	c3                   	ret
45ca77:	90                   	nop
45ca78:	85 d2                	test   %edx,%edx
45ca7a:	74 15                	je     0x45ca91
45ca7c:	8b 48 34             	mov    0x34(%eax),%ecx
45ca7f:	8b 49 68             	mov    0x68(%ecx),%ecx
45ca82:	3b 4a 34             	cmp    0x34(%edx),%ecx
45ca85:	75 0a                	jne    0x45ca91
45ca87:	33 d2                	xor    %edx,%edx
45ca89:	8b 40 34             	mov    0x34(%eax),%eax
45ca8c:	e8 47 c4 ff ff       	call   0x458ed8
45ca91:	c3                   	ret
45ca92:	8b c0                	mov    %eax,%eax
45ca94:	53                   	push   %ebx
45ca95:	56                   	push   %esi
45ca96:	8b d8                	mov    %eax,%ebx
45ca98:	6a 00                	push   $0x0
45ca9a:	33 c9                	xor    %ecx,%ecx
45ca9c:	33 d2                	xor    %edx,%edx
45ca9e:	8b c3                	mov    %ebx,%eax
45caa0:	8b 30                	mov    (%eax),%esi
45caa2:	ff 56 38             	call   *0x38(%esi)
45caa5:	8b 43 38             	mov    0x38(%ebx),%eax
45caa8:	85 c0                	test   %eax,%eax
45caaa:	74 0f                	je     0x45cabb
45caac:	6a 00                	push   $0x0
45caae:	6a 00                	push   $0x0
45cab0:	68 15 b0 00 00       	push   $0xb015
45cab5:	50                   	push   %eax
45cab6:	e8 55 b2 fa ff       	call   0x407d10
45cabb:	5e                   	pop    %esi
45cabc:	5b                   	pop    %ebx
45cabd:	c3                   	ret
45cabe:	8b c0                	mov    %eax,%eax
45cac0:	8b 50 58             	mov    0x58(%eax),%edx
45cac3:	85 d2                	test   %edx,%edx
45cac5:	74 03                	je     0x45caca
45cac7:	8b c2                	mov    %edx,%eax
45cac9:	c3                   	ret
45caca:	e8 45 f2 ff ff       	call   0x45bd14
45cacf:	c3                   	ret
45cad0:	55                   	push   %ebp
45cad1:	8b ec                	mov    %esp,%ebp
45cad3:	53                   	push   %ebx
45cad4:	56                   	push   %esi
45cad5:	57                   	push   %edi
45cad6:	8b f8                	mov    %eax,%edi
45cad8:	8b 45 08             	mov    0x8(%ebp),%eax
45cadb:	8b 70 fc             	mov    -0x4(%eax),%esi
45cade:	85 f6                	test   %esi,%esi
45cae0:	7c 32                	jl     0x45cb14
45cae2:	46                   	inc    %esi
45cae3:	8b 45 08             	mov    0x8(%ebp),%eax
45cae6:	8b 58 f8             	mov    -0x8(%eax),%ebx
45cae9:	33 c0                	xor    %eax,%eax
45caeb:	8a 47 3f             	mov    0x3f(%edi),%al
45caee:	3b 03                	cmp    (%ebx),%eax
45caf0:	75 1c                	jne    0x45cb0e
45caf2:	8b 55 08             	mov    0x8(%ebp),%edx
45caf5:	8b 52 0c             	mov    0xc(%edx),%edx
45caf8:	ff 04 82             	incl   (%edx,%eax,4)
45cafb:	8b 45 08             	mov    0x8(%ebp),%eax
45cafe:	8a 48 f3             	mov    -0xd(%eax),%cl
45cb01:	8b 45 08             	mov    0x8(%ebp),%eax
45cb04:	8b 50 f4             	mov    -0xc(%eax),%edx
45cb07:	8b c7                	mov    %edi,%eax
45cb09:	e8 62 c0 ff ff       	call   0x458b70
45cb0e:	83 c3 04             	add    $0x4,%ebx
45cb11:	4e                   	dec    %esi
45cb12:	75 d5                	jne    0x45cae9
45cb14:	33 c0                	xor    %eax,%eax
45cb16:	5f                   	pop    %edi
45cb17:	5e                   	pop    %esi
45cb18:	5b                   	pop    %ebx
45cb19:	5d                   	pop    %ebp
45cb1a:	c3                   	ret
45cb1b:	90                   	nop
45cb1c:	55                   	push   %ebp
45cb1d:	8b ec                	mov    %esp,%ebp
45cb1f:	83 c4 f0             	add    $0xfffffff0,%esp
45cb22:	53                   	push   %ebx
45cb23:	89 4d f8             	mov    %ecx,-0x8(%ebp)
45cb26:	89 55 f4             	mov    %edx,-0xc(%ebp)
45cb29:	8b d8                	mov    %eax,%ebx
45cb2b:	8b c3                	mov    %ebx,%eax
45cb2d:	e8 7e fa ff ff       	call   0x45c5b0
45cb32:	88 45 f3             	mov    %al,-0xd(%ebp)
45cb35:	8b 45 10             	mov    0x10(%ebp),%eax
45cb38:	89 45 fc             	mov    %eax,-0x4(%ebp)
45cb3b:	8b 55 08             	mov    0x8(%ebp),%edx
45cb3e:	85 d2                	test   %edx,%edx
45cb40:	7c 0e                	jl     0x45cb50
45cb42:	42                   	inc    %edx
45cb43:	8b 45 0c             	mov    0xc(%ebp),%eax
45cb46:	33 c9                	xor    %ecx,%ecx
45cb48:	89 08                	mov    %ecx,(%eax)
45cb4a:	83 c0 04             	add    $0x4,%eax
45cb4d:	4a                   	dec    %edx
45cb4e:	75 f6                	jne    0x45cb46
45cb50:	8b 43 34             	mov    0x34(%ebx),%eax
45cb53:	8b c8                	mov    %eax,%ecx
45cb55:	8b 50 68             	mov    0x68(%eax),%edx
45cb58:	b8 d0 ca 45 00       	mov    $0x45cad0,%eax
45cb5d:	e8 4a ba ff ff       	call   0x4585ac
45cb62:	5b                   	pop    %ebx
45cb63:	8b e5                	mov    %ebp,%esp
45cb65:	5d                   	pop    %ebp
45cb66:	c2 0c 00             	ret    $0xc
45cb69:	8d 40 00             	lea    0x0(%eax),%eax
45cb6c:	89 50 58             	mov    %edx,0x58(%eax)
45cb6f:	e8 20 ff ff ff       	call   0x45ca94
45cb74:	c3                   	ret
45cb75:	8d 40 00             	lea    0x0(%eax),%eax
45cb78:	55                   	push   %ebp
45cb79:	8b ec                	mov    %esp,%ebp
45cb7b:	51                   	push   %ecx
45cb7c:	53                   	push   %ebx
45cb7d:	56                   	push   %esi
45cb7e:	57                   	push   %edi
45cb7f:	89 45 fc             	mov    %eax,-0x4(%ebp)
45cb82:	33 c0                	xor    %eax,%eax
45cb84:	55                   	push   %ebp
45cb85:	68 a2 cb 45 00       	push   $0x45cba2
45cb8a:	64 ff 30             	push   %fs:(%eax)
45cb8d:	64 89 20             	mov    %esp,%fs:(%eax)
45cb90:	8b 45 fc             	mov    -0x4(%ebp),%eax
45cb93:	8b 08                	mov    (%eax),%ecx
45cb95:	ff 51 10             	call   *0x10(%ecx)
45cb98:	33 c0                	xor    %eax,%eax
45cb9a:	5a                   	pop    %edx
45cb9b:	59                   	pop    %ecx
45cb9c:	59                   	pop    %ecx
45cb9d:	64 89 10             	mov    %edx,%fs:(%eax)
45cba0:	eb 19                	jmp    0x45cbbb
45cba2:	e9 b1 73 fa ff       	jmp    0x403f58
45cba7:	a1 f4 6f 6a 00       	mov    0x6a6ff4,%eax
45cbac:	8b 00                	mov    (%eax),%eax
45cbae:	8b 55 fc             	mov    -0x4(%ebp),%edx
45cbb1:	e8 ae d1 00 00       	call   0x469d64
45cbb6:	e8 05 77 fa ff       	call   0x4042c0
45cbbb:	5f                   	pop    %edi
45cbbc:	5e                   	pop    %esi
45cbbd:	5b                   	pop    %ebx
45cbbe:	59                   	pop    %ecx
45cbbf:	5d                   	pop    %ebp
45cbc0:	c3                   	ret
45cbc1:	8d 40 00             	lea    0x0(%eax),%eax
45cbc4:	55                   	push   %ebp
45cbc5:	8b ec                	mov    %esp,%ebp
45cbc7:	83 c4 d0             	add    $0xffffffd0,%esp
45cbca:	53                   	push   %ebx
45cbcb:	56                   	push   %esi
45cbcc:	57                   	push   %edi
45cbcd:	33 c9                	xor    %ecx,%ecx
45cbcf:	89 4d d0             	mov    %ecx,-0x30(%ebp)
45cbd2:	8b f2                	mov    %edx,%esi
45cbd4:	89 45 fc             	mov    %eax,-0x4(%ebp)
45cbd7:	33 c0                	xor    %eax,%eax
45cbd9:	55                   	push   %ebp
45cbda:	68 f7 d0 45 00       	push   $0x45d0f7
45cbdf:	64 ff 30             	push   %fs:(%eax)