53e851:	eb 17                	jmp    0x53e86a
53e853:	8b ca                	mov    %edx,%ecx
53e855:	8d 71 01             	lea    0x1(%ecx),%esi
53e858:	8a 01                	mov    (%ecx),%al
53e85a:	41                   	inc    %ecx
53e85b:	84 c0                	test   %al,%al
53e85d:	75 f9                	jne    0x53e858
53e85f:	2b ce                	sub    %esi,%ecx
53e861:	8b 75 e0             	mov    -0x20(%ebp),%esi
53e864:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
53e86a:	8b 45 f4             	mov    -0xc(%ebp),%eax
53e86d:	03 c1                	add    %ecx,%eax
53e86f:	3b 45 ec             	cmp    -0x14(%ebp),%eax
53e872:	72 0d                	jb     0x53e881
53e874:	51                   	push   %ecx
53e875:	52                   	push   %edx
53e876:	8d 45 e4             	lea    -0x1c(%ebp),%eax
53e879:	50                   	push   %eax
53e87a:	e8 a1 00 fc ff       	call   0x4fe920
53e87f:	eb 14                	jmp    0x53e895
53e881:	85 c9                	test   %ecx,%ecx
53e883:	74 13                	je     0x53e898
53e885:	89 45 f4             	mov    %eax,-0xc(%ebp)
53e888:	2b c1                	sub    %ecx,%eax
53e88a:	03 45 e8             	add    -0x18(%ebp),%eax
53e88d:	51                   	push   %ecx
53e88e:	52                   	push   %edx
53e88f:	50                   	push   %eax
53e890:	e8 6b 46 0a 00       	call   0x5e2f00
53e895:	83 c4 0c             	add    $0xc,%esp
53e898:	8b 55 f4             	mov    -0xc(%ebp),%edx
53e89b:	42                   	inc    %edx
53e89c:	3b 55 ec             	cmp    -0x14(%ebp),%edx
53e89f:	72 15                	jb     0x53e8b6
53e8a1:	6a 01                	push   $0x1
53e8a3:	8d 45 e4             	lea    -0x1c(%ebp),%eax
53e8a6:	68 3c 59 6e 00       	push   $0x6e593c
53e8ab:	50                   	push   %eax
53e8ac:	e8 6f 00 fc ff       	call   0x4fe920
53e8b1:	83 c4 0c             	add    $0xc,%esp
53e8b4:	eb 10                	jmp    0x53e8c6
53e8b6:	8b 45 e8             	mov    -0x18(%ebp),%eax
53e8b9:	8a 0d 3c 59 6e 00    	mov    0x6e593c,%cl
53e8bf:	89 55 f4             	mov    %edx,-0xc(%ebp)
53e8c2:	88 4c 02 ff          	mov    %cl,-0x1(%edx,%eax,1)
53e8c6:	85 db                	test   %ebx,%ebx
53e8c8:	75 04                	jne    0x53e8ce
53e8ca:	33 c9                	xor    %ecx,%ecx
53e8cc:	eb 14                	jmp    0x53e8e2
53e8ce:	8b cb                	mov    %ebx,%ecx
53e8d0:	8d 51 01             	lea    0x1(%ecx),%edx
53e8d3:	8a 01                	mov    (%ecx),%al
53e8d5:	41                   	inc    %ecx
53e8d6:	84 c0                	test   %al,%al
53e8d8:	75 f9                	jne    0x53e8d3
53e8da:	2b ca                	sub    %edx,%ecx
53e8dc:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
53e8e2:	8b 45 f4             	mov    -0xc(%ebp),%eax
53e8e5:	03 c1                	add    %ecx,%eax
53e8e7:	3b 45 ec             	cmp    -0x14(%ebp),%eax
53e8ea:	72 0d                	jb     0x53e8f9
53e8ec:	51                   	push   %ecx
53e8ed:	8d 45 e4             	lea    -0x1c(%ebp),%eax
53e8f0:	53                   	push   %ebx
53e8f1:	50                   	push   %eax
53e8f2:	e8 29 00 fc ff       	call   0x4fe920
53e8f7:	eb 14                	jmp    0x53e90d
53e8f9:	85 c9                	test   %ecx,%ecx
53e8fb:	74 13                	je     0x53e910
53e8fd:	89 45 f4             	mov    %eax,-0xc(%ebp)
53e900:	2b c1                	sub    %ecx,%eax
53e902:	03 45 e8             	add    -0x18(%ebp),%eax
53e905:	51                   	push   %ecx
53e906:	53                   	push   %ebx
53e907:	50                   	push   %eax
53e908:	e8 f3 45 0a 00       	call   0x5e2f00
53e90d:	83 c4 0c             	add    $0xc,%esp
53e910:	0f b7 46 32          	movzwl 0x32(%esi),%eax
53e914:	47                   	inc    %edi
53e915:	8b 5d dc             	mov    -0x24(%ebp),%ebx
53e918:	3b f8                	cmp    %eax,%edi
53e91a:	0f 8c e0 fe ff ff    	jl     0x53e800
53e920:	8b 4d e8             	mov    -0x18(%ebp),%ecx
53e923:	85 c9                	test   %ecx,%ecx
53e925:	74 23                	je     0x53e94a
53e927:	8b 45 f4             	mov    -0xc(%ebp),%eax
53e92a:	c6 04 08 00          	movb   $0x0,(%eax,%ecx,1)
53e92e:	83 7d f0 00          	cmpl   $0x0,-0x10(%ebp)
53e932:	76 16                	jbe    0x53e94a
53e934:	f6 45 f9 04          	testb  $0x4,-0x7(%ebp)
53e938:	75 10                	jne    0x53e94a
53e93a:	8d 45 e4             	lea    -0x1c(%ebp),%eax
53e93d:	50                   	push   %eax
53e93e:	e8 1d 90 01 00       	call   0x557960
53e943:	83 c4 04             	add    $0x4,%esp
53e946:	8b f8                	mov    %eax,%edi
53e948:	eb 03                	jmp    0x53e94d
53e94a:	8b 7d e8             	mov    -0x18(%ebp),%edi
53e94d:	8b 46 38             	mov    0x38(%esi),%eax
53e950:	bb 13 08 00 00       	mov    $0x813,%ebx
53e955:	8b 55 d8             	mov    -0x28(%ebp),%edx
53e958:	24 03                	and    $0x3,%al
53e95a:	3c 02                	cmp    $0x2,%al
53e95c:	b9 13 06 00 00       	mov    $0x613,%ecx
53e961:	0f 44 d9             	cmove  %ecx,%ebx
53e964:	8b 72 08             	mov    0x8(%edx),%esi
53e967:	85 f6                	test   %esi,%esi
53e969:	75 1f                	jne    0x53e98a
53e96b:	39 72 74             	cmp    %esi,0x74(%edx)
53e96e:	75 0c                	jne    0x53e97c
53e970:	8b 02                	mov    (%edx),%eax
53e972:	f6 40 4c 08          	testb  $0x8,0x4c(%eax)
53e976:	75 04                	jne    0x53e97c
53e978:	c6 42 17 01          	movb   $0x1,0x17(%edx)
53e97c:	52                   	push   %edx
53e97d:	e8 8e 3a 00 00       	call   0x542410
53e982:	8b 55 d8             	mov    -0x28(%ebp),%edx
53e985:	83 c4 04             	add    $0x4,%esp
53e988:	8b f0                	mov    %eax,%esi
53e98a:	8b 45 0c             	mov    0xc(%ebp),%eax
53e98d:	83 f8 02             	cmp    $0x2,%eax
53e990:	75 0c                	jne    0x53e99e
53e992:	8b 4a 74             	mov    0x74(%edx),%ecx
53e995:	85 c9                	test   %ecx,%ecx
53e997:	0f 45 d1             	cmovne %ecx,%edx
53e99a:	c6 42 15 01          	movb   $0x1,0x15(%edx)
53e99e:	8b 56 6c             	mov    0x6c(%esi),%edx
53e9a1:	89 55 e0             	mov    %edx,-0x20(%ebp)
53e9a4:	39 56 70             	cmp    %edx,0x70(%esi)
53e9a7:	7f 13                	jg     0x53e9bc
53e9a9:	6a 00                	push   $0x0
53e9ab:	50                   	push   %eax
53e9ac:	53                   	push   %ebx
53e9ad:	6a 44                	push   $0x44
53e9af:	56                   	push   %esi
53e9b0:	e8 4b 7b fc ff       	call   0x506500
53e9b5:	83 c4 14             	add    $0x14,%esp
53e9b8:	8b d0                	mov    %eax,%edx
53e9ba:	eb 31                	jmp    0x53e9ed
53e9bc:	8d 42 01             	lea    0x1(%edx),%eax
53e9bf:	89 46 6c             	mov    %eax,0x6c(%esi)
53e9c2:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
53e9c5:	8b 46 68             	mov    0x68(%esi),%eax
53e9c8:	8b 55 e0             	mov    -0x20(%ebp),%edx
53e9cb:	89 5c 88 04          	mov    %ebx,0x4(%eax,%ecx,4)
53e9cf:	8b 5d 0c             	mov    0xc(%ebp),%ebx
53e9d2:	c7 04 88 44 00 00 00 	movl   $0x44,(%eax,%ecx,4)
53e9d9:	89 5c 88 08          	mov    %ebx,0x8(%eax,%ecx,4)
53e9dd:	c7 44 88 0c 00 00 00 	movl   $0x0,0xc(%eax,%ecx,4)
53e9e4:	00
53e9e5:	c7 44 88 10 00 00 00 	movl   $0x0,0x10(%eax,%ecx,4)
53e9ec:	00
53e9ed:	8b 06                	mov    (%esi),%eax
53e9ef:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
53e9f3:	74 0e                	je     0x53ea03
53e9f5:	57                   	push   %edi
53e9f6:	6a f9                	push   $0xfffffff9
53e9f8:	50                   	push   %eax
53e9f9:	e8 b2 52 fc ff       	call   0x503cb0
53e9fe:	83 c4 0c             	add    $0xc,%esp
53ea01:	eb 32                	jmp    0x53ea35
53ea03:	85 d2                	test   %edx,%edx
53ea05:	79 04                	jns    0x53ea0b
53ea07:	8b 56 6c             	mov    0x6c(%esi),%edx
53ea0a:	4a                   	dec    %edx
53ea0b:	8b 46 68             	mov    0x68(%esi),%eax
53ea0e:	8d 0c 92             	lea    (%edx,%edx,4),%ecx
53ea11:	80 7c 88 01 00       	cmpb   $0x0,0x1(%eax,%ecx,4)
53ea16:	8d 04 88             	lea    (%eax,%ecx,4),%eax
53ea19:	75 0d                	jne    0x53ea28
53ea1b:	85 ff                	test   %edi,%edi
53ea1d:	74 16                	je     0x53ea35
53ea1f:	89 78 10             	mov    %edi,0x10(%eax)
53ea22:	c6 40 01 f9          	movb   $0xf9,0x1(%eax)
53ea26:	eb 0d                	jmp    0x53ea35
53ea28:	6a f9                	push   $0xfffffff9
53ea2a:	57                   	push   %edi
53ea2b:	50                   	push   %eax
53ea2c:	56                   	push   %esi
53ea2d:	e8 0e b2 01 00       	call   0x559c40
53ea32:	83 c4 10             	add    $0x10,%esp
53ea35:	8b 46 6c             	mov    0x6c(%esi),%eax
53ea38:	85 c0                	test   %eax,%eax
53ea3a:	7e 10                	jle    0x53ea4c
53ea3c:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
53ea3f:	ba 02 00 00 00       	mov    $0x2,%edx
53ea44:	8b 46 68             	mov    0x68(%esi),%eax
53ea47:	66 89 54 88 ee       	mov    %dx,-0x12(%eax,%ecx,4)
53ea4c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
53ea4f:	5f                   	pop    %edi
53ea50:	5e                   	pop    %esi
53ea51:	33 cd                	xor    %ebp,%ecx
53ea53:	5b                   	pop    %ebx
53ea54:	e8 81 2a 0a 00       	call   0x5e14da
53ea59:	8b e5                	mov    %ebp,%esp
53ea5b:	5d                   	pop    %ebp
53ea5c:	c3                   	ret
53ea5d:	cc                   	int3
53ea5e:	cc                   	int3
53ea5f:	cc                   	int3
53ea60:	55                   	push   %ebp
53ea61:	8b ec                	mov    %esp,%ebp
53ea63:	8b 4d 0c             	mov    0xc(%ebp),%ecx
53ea66:	53                   	push   %ebx
53ea67:	56                   	push   %esi
53ea68:	57                   	push   %edi
53ea69:	8b 7d 08             	mov    0x8(%ebp),%edi
53ea6c:	03 c9                	add    %ecx,%ecx
53ea6e:	8b 47 10             	mov    0x10(%edi),%eax
53ea71:	8b 5c c8 0c          	mov    0xc(%eax,%ecx,8),%ebx
53ea75:	8d 45 0c             	lea    0xc(%ebp),%eax
53ea78:	50                   	push   %eax
53ea79:	ff 75 10             	push   0x10(%ebp)
53ea7c:	83 c3 18             	add    $0x18,%ebx
53ea7f:	53                   	push   %ebx
53ea80:	e8 4b 35 fc ff       	call   0x501fd0
53ea85:	83 c4 0c             	add    $0xc,%esp
53ea88:	8b 70 08             	mov    0x8(%eax),%esi
53ea8b:	85 f6                	test   %esi,%esi
53ea8d:	74 68                	je     0x53eaf7
53ea8f:	ff 75 0c             	push   0xc(%ebp)
53ea92:	50                   	push   %eax
53ea93:	53                   	push   %ebx
53ea94:	e8 f7 37 fd ff       	call   0x512290
53ea99:	83 c4 0c             	add    $0xc,%esp
53ea9c:	85 f6                	test   %esi,%esi
53ea9e:	74 57                	je     0x53eaf7
53eaa0:	8b 56 0c             	mov    0xc(%esi),%edx
53eaa3:	8b 4a 08             	mov    0x8(%edx),%ecx
53eaa6:	3b ce                	cmp    %esi,%ecx
53eaa8:	75 19                	jne    0x53eac3
53eaaa:	8b 46 14             	mov    0x14(%esi),%eax
53eaad:	56                   	push   %esi
53eaae:	57                   	push   %edi
53eaaf:	89 42 08             	mov    %eax,0x8(%edx)
53eab2:	e8 a9 b8 fe ff       	call   0x52a360
53eab7:	83 c4 08             	add    $0x8,%esp
53eaba:	83 4f 18 01          	orl    $0x1,0x18(%edi)
53eabe:	5f                   	pop    %edi
53eabf:	5e                   	pop    %esi
53eac0:	5b                   	pop    %ebx
53eac1:	5d                   	pop    %ebp
53eac2:	c3                   	ret
53eac3:	85 c9                	test   %ecx,%ecx
53eac5:	74 26                	je     0x53eaed
53eac7:	8b 41 14             	mov    0x14(%ecx),%eax
53eaca:	3b c6                	cmp    %esi,%eax
53eacc:	74 19                	je     0x53eae7
53eace:	8b c8                	mov    %eax,%ecx
53ead0:	85 c9                	test   %ecx,%ecx
53ead2:	75 f3                	jne    0x53eac7
53ead4:	56                   	push   %esi
53ead5:	57                   	push   %edi
53ead6:	e8 85 b8 fe ff       	call   0x52a360
53eadb:	83 c4 08             	add    $0x8,%esp
53eade:	83 4f 18 01          	orl    $0x1,0x18(%edi)
53eae2:	5f                   	pop    %edi
53eae3:	5e                   	pop    %esi
53eae4:	5b                   	pop    %ebx
53eae5:	5d                   	pop    %ebp
53eae6:	c3                   	ret
53eae7:	8b 46 14             	mov    0x14(%esi),%eax
53eaea:	89 41 14             	mov    %eax,0x14(%ecx)
53eaed:	56                   	push   %esi
53eaee:	57                   	push   %edi
53eaef:	e8 6c b8 fe ff       	call   0x52a360
53eaf4:	83 c4 08             	add    $0x8,%esp
53eaf7:	83 4f 18 01          	orl    $0x1,0x18(%edi)
53eafb:	5f                   	pop    %edi
53eafc:	5e                   	pop    %esi
53eafd:	5b                   	pop    %ebx
53eafe:	5d                   	pop    %ebp
53eaff:	c3                   	ret
53eb00:	55                   	push   %ebp
53eb01:	8b ec                	mov    %esp,%ebp
53eb03:	8b 4d 0c             	mov    0xc(%ebp),%ecx
53eb06:	53                   	push   %ebx
53eb07:	56                   	push   %esi
53eb08:	8b 75 08             	mov    0x8(%ebp),%esi
53eb0b:	03 c9                	add    %ecx,%ecx
53eb0d:	57                   	push   %edi
53eb0e:	8b 46 10             	mov    0x10(%esi),%eax
53eb11:	8b 5c c8 0c          	mov    0xc(%eax,%ecx,8),%ebx
53eb15:	8d 45 0c             	lea    0xc(%ebp),%eax
53eb18:	50                   	push   %eax
53eb19:	ff 75 10             	push   0x10(%ebp)
53eb1c:	83 c3 08             	add    $0x8,%ebx
53eb1f:	53                   	push   %ebx
53eb20:	e8 ab 34 fc ff       	call   0x501fd0
53eb25:	83 c4 0c             	add    $0xc,%esp
53eb28:	8b 78 08             	mov    0x8(%eax),%edi
53eb2b:	85 ff                	test   %edi,%edi
53eb2d:	74 2a                	je     0x53eb59
53eb2f:	ff 75 0c             	push   0xc(%ebp)
53eb32:	50                   	push   %eax
53eb33:	53                   	push   %ebx
53eb34:	e8 57 37 fd ff       	call   0x512290
53eb39:	83 c4 0c             	add    $0xc,%esp
53eb3c:	85 ff                	test   %edi,%edi
53eb3e:	74 19                	je     0x53eb59
53eb40:	83 be f8 01 00 00 00 	cmpl   $0x0,0x1f8(%esi)
53eb47:	75 06                	jne    0x53eb4f
53eb49:	83 47 20 ff          	addl   $0xffffffff,0x20(%edi)
53eb4d:	75 0a                	jne    0x53eb59
53eb4f:	57                   	push   %edi
53eb50:	56                   	push   %esi
53eb51:	e8 aa ed fb ff       	call   0x4fd900
53eb56:	83 c4 08             	add    $0x8,%esp
53eb59:	83 4e 18 01          	orl    $0x1,0x18(%esi)
53eb5d:	5f                   	pop    %edi
53eb5e:	5e                   	pop    %esi
53eb5f:	5b                   	pop    %ebx
53eb60:	5d                   	pop    %ebp
53eb61:	c3                   	ret
53eb62:	cc                   	int3
53eb63:	cc                   	int3
53eb64:	cc                   	int3
53eb65:	cc                   	int3
53eb66:	cc                   	int3
53eb67:	cc                   	int3
53eb68:	cc                   	int3
53eb69:	cc                   	int3
53eb6a:	cc                   	int3
53eb6b:	cc                   	int3
53eb6c:	cc                   	int3
53eb6d:	cc                   	int3
53eb6e:	cc                   	int3
53eb6f:	cc                   	int3
53eb70:	55                   	push   %ebp
53eb71:	8b ec                	mov    %esp,%ebp
53eb73:	8b 4d 0c             	mov    0xc(%ebp),%ecx
53eb76:	53                   	push   %ebx
53eb77:	56                   	push   %esi
53eb78:	57                   	push   %edi
53eb79:	8b 7d 08             	mov    0x8(%ebp),%edi
53eb7c:	03 c9                	add    %ecx,%ecx
53eb7e:	8b 47 10             	mov    0x10(%edi),%eax
53eb81:	8b 5c c8 0c          	mov    0xc(%eax,%ecx,8),%ebx
53eb85:	8d 45 0c             	lea    0xc(%ebp),%eax
53eb88:	50                   	push   %eax
53eb89:	ff 75 10             	push   0x10(%ebp)
53eb8c:	83 c3 28             	add    $0x28,%ebx
53eb8f:	53                   	push   %ebx
53eb90:	e8 3b 34 fc ff       	call   0x501fd0
53eb95:	83 c4 0c             	add    $0xc,%esp
53eb98:	8b 70 08             	mov    0x8(%eax),%esi
53eb9b:	85 f6                	test   %esi,%esi
53eb9d:	0f 84 a8 00 00 00    	je     0x53ec4b
53eba3:	ff 75 0c             	push   0xc(%ebp)
53eba6:	50                   	push   %eax