53dbad:	50                   	push   %eax
53dbae:	ff 76 04             	push   0x4(%esi)
53dbb1:	57                   	push   %edi
53dbb2:	e8 49 53 0a 00       	call   0x5e2f00
53dbb7:	83 c4 0c             	add    $0xc,%esp
53dbba:	57                   	push   %edi
53dbbb:	ff 36                	push   (%esi)
53dbbd:	89 7e 04             	mov    %edi,0x4(%esi)
53dbc0:	e8 0b 39 fe ff       	call   0x5214d0
53dbc5:	83 c4 08             	add    $0x8,%esp
53dbc8:	89 46 08             	mov    %eax,0x8(%esi)
53dbcb:	80 4e 15 04          	orb    $0x4,0x15(%esi)
53dbcf:	8b 45 0c             	mov    0xc(%ebp),%eax
53dbd2:	5f                   	pop    %edi
53dbd3:	5b                   	pop    %ebx
53dbd4:	5e                   	pop    %esi
53dbd5:	5d                   	pop    %ebp
53dbd6:	c3                   	ret
53dbd7:	56                   	push   %esi
53dbd8:	e8 13 1d fb ff       	call   0x4ef8f0
53dbdd:	83 c4 04             	add    $0x4,%esp
53dbe0:	c6 46 14 07          	movb   $0x7,0x14(%esi)
53dbe4:	83 7e 0c 00          	cmpl   $0x0,0xc(%esi)
53dbe8:	74 31                	je     0x53dc1b
53dbea:	f6 46 15 04          	testb  $0x4,0x15(%esi)
53dbee:	74 16                	je     0x53dc06
53dbf0:	8b 46 04             	mov    0x4(%esi),%eax
53dbf3:	85 c0                	test   %eax,%eax
53dbf5:	74 0b                	je     0x53dc02
53dbf7:	50                   	push   %eax
53dbf8:	ff 36                	push   (%esi)
53dbfa:	e8 71 37 fe ff       	call   0x521370
53dbff:	83 c4 08             	add    $0x8,%esp
53dc02:	80 66 15 fb          	andb   $0xfb,0x15(%esi)
53dc06:	c7 46 08 00 00 00 00 	movl   $0x0,0x8(%esi)
53dc0d:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
53dc14:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
53dc1b:	5f                   	pop    %edi
53dc1c:	5b                   	pop    %ebx
53dc1d:	33 c0                	xor    %eax,%eax
53dc1f:	5e                   	pop    %esi
53dc20:	5d                   	pop    %ebp
53dc21:	c3                   	ret
53dc22:	cc                   	int3
53dc23:	cc                   	int3
53dc24:	cc                   	int3
53dc25:	cc                   	int3
53dc26:	cc                   	int3
53dc27:	cc                   	int3
53dc28:	cc                   	int3
53dc29:	cc                   	int3
53dc2a:	cc                   	int3
53dc2b:	cc                   	int3
53dc2c:	cc                   	int3
53dc2d:	cc                   	int3
53dc2e:	cc                   	int3
53dc2f:	cc                   	int3
53dc30:	55                   	push   %ebp
53dc31:	8b ec                	mov    %esp,%ebp
53dc33:	8b 45 08             	mov    0x8(%ebp),%eax
53dc36:	56                   	push   %esi
53dc37:	8b 75 0c             	mov    0xc(%ebp),%esi
53dc3a:	2b f0                	sub    %eax,%esi
53dc3c:	0f 1f 40 00          	nopl   0x0(%eax)
53dc40:	0f b6 10             	movzbl (%eax),%edx
53dc43:	0f b6 0c 06          	movzbl (%esi,%eax,1),%ecx
53dc47:	3b d1                	cmp    %ecx,%edx
53dc49:	75 09                	jne    0x53dc54
53dc4b:	85 d2                	test   %edx,%edx
53dc4d:	75 17                	jne    0x53dc66
53dc4f:	8b c2                	mov    %edx,%eax
53dc51:	5e                   	pop    %esi
53dc52:	5d                   	pop    %ebp
53dc53:	c3                   	ret
53dc54:	0f b6 89 20 2a 6b 00 	movzbl 0x6b2a20(%ecx),%ecx
53dc5b:	0f b6 92 20 2a 6b 00 	movzbl 0x6b2a20(%edx),%edx
53dc62:	2b d1                	sub    %ecx,%edx
53dc64:	75 e9                	jne    0x53dc4f
53dc66:	40                   	inc    %eax
53dc67:	eb d7                	jmp    0x53dc40
53dc69:	cc                   	int3
53dc6a:	cc                   	int3
53dc6b:	cc                   	int3
53dc6c:	cc                   	int3
53dc6d:	cc                   	int3
53dc6e:	cc                   	int3
53dc6f:	cc                   	int3
53dc70:	55                   	push   %ebp
53dc71:	8b ec                	mov    %esp,%ebp
53dc73:	8b 45 08             	mov    0x8(%ebp),%eax
53dc76:	8a 08                	mov    (%eax),%cl
53dc78:	80 f9 73             	cmp    $0x73,%cl
53dc7b:	74 0d                	je     0x53dc8a
53dc7d:	80 f9 6f             	cmp    $0x6f,%cl
53dc80:	75 0b                	jne    0x53dc8d
53dc82:	8b 40 0c             	mov    0xc(%eax),%eax
53dc85:	80 38 73             	cmpb   $0x73,(%eax)
53dc88:	75 03                	jne    0x53dc8d
53dc8a:	c6 00 3b             	movb   $0x3b,(%eax)
53dc8d:	5d                   	pop    %ebp
53dc8e:	c3                   	ret
53dc8f:	cc                   	int3
53dc90:	55                   	push   %ebp
53dc91:	8b ec                	mov    %esp,%ebp
53dc93:	8b 45 08             	mov    0x8(%ebp),%eax
53dc96:	85 c0                	test   %eax,%eax
53dc98:	75 02                	jne    0x53dc9c
53dc9a:	5d                   	pop    %ebp
53dc9b:	c3                   	ret
53dc9c:	8d 50 01             	lea    0x1(%eax),%edx
53dc9f:	90                   	nop
53dca0:	8a 08                	mov    (%eax),%cl
53dca2:	40                   	inc    %eax
53dca3:	84 c9                	test   %cl,%cl
53dca5:	75 f9                	jne    0x53dca0
53dca7:	2b c2                	sub    %edx,%eax
53dca9:	25 ff ff ff 3f       	and    $0x3fffffff,%eax
53dcae:	5d                   	pop    %ebp
53dcaf:	c3                   	ret
53dcb0:	55                   	push   %ebp
53dcb1:	8b ec                	mov    %esp,%ebp
53dcb3:	8b 4d 0c             	mov    0xc(%ebp),%ecx
53dcb6:	8b 45 10             	mov    0x10(%ebp),%eax
53dcb9:	85 c9                	test   %ecx,%ecx
53dcbb:	75 32                	jne    0x53dcef
53dcbd:	3d 00 00 00 80       	cmp    $0x80000000,%eax
53dcc2:	75 2b                	jne    0x53dcef
53dcc4:	8b 4d 08             	mov    0x8(%ebp),%ecx
53dcc7:	8b 51 04             	mov    0x4(%ecx),%edx
53dcca:	8b 01                	mov    (%ecx),%eax
53dccc:	85 d2                	test   %edx,%edx
53dcce:	7c 0d                	jl     0x53dcdd
53dcd0:	7f 04                	jg     0x53dcd6
53dcd2:	85 c0                	test   %eax,%eax
53dcd4:	72 07                	jb     0x53dcdd
53dcd6:	b8 01 00 00 00       	mov    $0x1,%eax
53dcdb:	5d                   	pop    %ebp
53dcdc:	c3                   	ret
53dcdd:	83 c0 00             	add    $0x0,%eax
53dce0:	89 01                	mov    %eax,(%ecx)
53dce2:	81 d2 00 00 00 80    	adc    $0x80000000,%edx
53dce8:	33 c0                	xor    %eax,%eax
53dcea:	89 51 04             	mov    %edx,0x4(%ecx)
53dced:	5d                   	pop    %ebp
53dcee:	c3                   	ret
53dcef:	f7 d9                	neg    %ecx
53dcf1:	83 d0 00             	adc    $0x0,%eax
53dcf4:	f7 d8                	neg    %eax
53dcf6:	50                   	push   %eax
53dcf7:	51                   	push   %ecx
53dcf8:	ff 75 08             	push   0x8(%ebp)
53dcfb:	e8 40 a0 fd ff       	call   0x517d40
53dd00:	83 c4 0c             	add    $0xc,%esp
53dd03:	5d                   	pop    %ebp
53dd04:	c3                   	ret
53dd05:	cc                   	int3
53dd06:	cc                   	int3
53dd07:	cc                   	int3
53dd08:	cc                   	int3
53dd09:	cc                   	int3
53dd0a:	cc                   	int3
53dd0b:	cc                   	int3
53dd0c:	cc                   	int3
53dd0d:	cc                   	int3
53dd0e:	cc                   	int3
53dd0f:	cc                   	int3
53dd10:	55                   	push   %ebp
53dd11:	8b ec                	mov    %esp,%ebp
53dd13:	8b 45 08             	mov    0x8(%ebp),%eax
53dd16:	83 78 24 00          	cmpl   $0x0,0x24(%eax)
53dd1a:	75 14                	jne    0x53dd30
53dd1c:	ff 75 10             	push   0x10(%ebp)
53dd1f:	ff 75 0c             	push   0xc(%ebp)
53dd22:	68 78 91 6b 00       	push   $0x6b9178
53dd27:	50                   	push   %eax
53dd28:	e8 33 55 fe ff       	call   0x523260
53dd2d:	83 c4 10             	add    $0x10,%esp
53dd30:	5d                   	pop    %ebp
53dd31:	c3                   	ret
53dd32:	cc                   	int3
53dd33:	cc                   	int3
53dd34:	cc                   	int3
53dd35:	cc                   	int3
53dd36:	cc                   	int3
53dd37:	cc                   	int3
53dd38:	cc                   	int3
53dd39:	cc                   	int3
53dd3a:	cc                   	int3
53dd3b:	cc                   	int3
53dd3c:	cc                   	int3
53dd3d:	cc                   	int3
53dd3e:	cc                   	int3
53dd3f:	cc                   	int3
53dd40:	55                   	push   %ebp
53dd41:	8b ec                	mov    %esp,%ebp
53dd43:	56                   	push   %esi
53dd44:	8b 75 0c             	mov    0xc(%ebp),%esi
53dd47:	57                   	push   %edi
53dd48:	8b 56 14             	mov    0x14(%esi),%edx
53dd4b:	85 d2                	test   %edx,%edx
53dd4d:	75 68                	jne    0x53ddb7
53dd4f:	0f bf 46 2a          	movswl 0x2a(%esi),%eax
53dd53:	8b 7d 08             	mov    0x8(%ebp),%edi
53dd56:	40                   	inc    %eax
53dd57:	99                   	cltd
53dd58:	52                   	push   %edx
53dd59:	50                   	push   %eax
53dd5a:	8b 3f                	mov    (%edi),%edi
53dd5c:	e8 ff 31 ff ff       	call   0x530f60
53dd61:	8b d0                	mov    %eax,%edx
53dd63:	83 c4 08             	add    $0x8,%esp
53dd66:	85 d2                	test   %edx,%edx
53dd68:	75 0d                	jne    0x53dd77
53dd6a:	57                   	push   %edi
53dd6b:	e8 20 3b ff ff       	call   0x531890
53dd70:	83 c4 04             	add    $0x4,%esp
53dd73:	5f                   	pop    %edi
53dd74:	5e                   	pop    %esi
53dd75:	5d                   	pop    %ebp
53dd76:	c3                   	ret
53dd77:	53                   	push   %ebx
53dd78:	33 c9                	xor    %ecx,%ecx
53dd7a:	33 c0                	xor    %eax,%eax
53dd7c:	33 db                	xor    %ebx,%ebx
53dd7e:	66 3b 4e 2a          	cmp    0x2a(%esi),%cx
53dd82:	7d 20                	jge    0x53dda4
53dd84:	33 ff                	xor    %edi,%edi
53dd86:	8b 4e 04             	mov    0x4(%esi),%ecx
53dd89:	f6 44 39 10 20       	testb  $0x20,0x10(%ecx,%edi,1)
53dd8e:	75 08                	jne    0x53dd98
53dd90:	8a 4c 39 0d          	mov    0xd(%ecx,%edi,1),%cl
53dd94:	88 0c 10             	mov    %cl,(%eax,%edx,1)
53dd97:	40                   	inc    %eax
53dd98:	0f bf 4e 2a          	movswl 0x2a(%esi),%ecx
53dd9c:	43                   	inc    %ebx
53dd9d:	83 c7 14             	add    $0x14,%edi
53dda0:	3b d9                	cmp    %ecx,%ebx
53dda2:	7c e2                	jl     0x53dd86
53dda4:	5b                   	pop    %ebx
53dda5:	c6 04 10 00          	movb   $0x0,(%eax,%edx,1)
53dda9:	83 e8 01             	sub    $0x1,%eax
53ddac:	78 06                	js     0x53ddb4
53ddae:	80 3c 10 41          	cmpb   $0x41,(%eax,%edx,1)
53ddb2:	7e f1                	jle    0x53dda5
53ddb4:	89 56 14             	mov    %edx,0x14(%esi)
53ddb7:	8b ca                	mov    %edx,%ecx
53ddb9:	8d 71 01             	lea    0x1(%ecx),%esi
53ddbc:	0f 1f 40 00          	nopl   0x0(%eax)
53ddc0:	8a 01                	mov    (%ecx),%al
53ddc2:	41                   	inc    %ecx
53ddc3:	84 c0                	test   %al,%al
53ddc5:	75 f9                	jne    0x53ddc0
53ddc7:	2b ce                	sub    %esi,%ecx
53ddc9:	81 e1 ff ff ff 3f    	and    $0x3fffffff,%ecx
53ddcf:	74 2b                	je     0x53ddfc
53ddd1:	8b 45 10             	mov    0x10(%ebp),%eax
53ddd4:	51                   	push   %ecx
53ddd5:	52                   	push   %edx
53ddd6:	85 c0                	test   %eax,%eax
53ddd8:	74 15                	je     0x53ddef
53ddda:	6a 00                	push   $0x0
53dddc:	51                   	push   %ecx
53dddd:	50                   	push   %eax
53ddde:	6a 5a                	push   $0x5a
53dde0:	ff 75 08             	push   0x8(%ebp)
53dde3:	e8 a8 3d 00 00       	call   0x541b90
53dde8:	83 c4 1c             	add    $0x1c,%esp
53ddeb:	5f                   	pop    %edi
53ddec:	5e                   	pop    %esi
53dded:	5d                   	pop    %ebp
53ddee:	c3                   	ret
53ddef:	6a ff                	push   $0xffffffff
53ddf1:	ff 75 08             	push   0x8(%ebp)
53ddf4:	e8 b7 41 00 00       	call   0x541fb0
53ddf9:	83 c4 10             	add    $0x10,%esp
53ddfc:	5f                   	pop    %edi
53ddfd:	5e                   	pop    %esi
53ddfe:	5d                   	pop    %ebp
53ddff:	c3                   	ret
53de00:	55                   	push   %ebp
53de01:	8b ec                	mov    %esp,%ebp
53de03:	8b 45 0c             	mov    0xc(%ebp),%eax
53de06:	85 c0                	test   %eax,%eax
53de08:	78 10                	js     0x53de1a
53de0a:	8d 0c 80             	lea    (%eax,%eax,4),%ecx
53de0d:	8b 45 08             	mov    0x8(%ebp),%eax
53de10:	8b 40 04             	mov    0x4(%eax),%eax
53de13:	0f be 44 88 0d       	movsbl 0xd(%eax,%ecx,4),%eax
53de18:	5d                   	pop    %ebp
53de19:	c3                   	ret
53de1a:	b0 44                	mov    $0x44,%al
53de1c:	5d                   	pop    %ebp
53de1d:	c3                   	ret
53de1e:	cc                   	int3
53de1f:	cc                   	int3
53de20:	55                   	push   %ebp
53de21:	8b ec                	mov    %esp,%ebp
53de23:	8b 4d 08             	mov    0x8(%ebp),%ecx
53de26:	33 c0                	xor    %eax,%eax
53de28:	56                   	push   %esi
53de29:	0f b7 51 34          	movzwl 0x34(%ecx),%edx
53de2d:	85 d2                	test   %edx,%edx
53de2f:	7e 14                	jle    0x53de45
53de31:	8b 49 04             	mov    0x4(%ecx),%ecx
53de34:	66 8b 75 0c          	mov    0xc(%ebp),%si
53de38:	66 3b 31             	cmp    (%ecx),%si
53de3b:	74 0b                	je     0x53de48
53de3d:	40                   	inc    %eax
53de3e:	83 c1 02             	add    $0x2,%ecx
53de41:	3b c2                	cmp    %edx,%eax
53de43:	7c f3                	jl     0x53de38
53de45:	83 c8 ff             	or     $0xffffffff,%eax
53de48:	5e                   	pop    %esi
53de49:	5d                   	pop    %ebp
53de4a:	c3                   	ret
53de4b:	cc                   	int3
53de4c:	cc                   	int3
53de4d:	cc                   	int3
53de4e:	cc                   	int3
53de4f:	cc                   	int3
53de50:	55                   	push   %ebp
53de51:	8b ec                	mov    %esp,%ebp
53de53:	51                   	push   %ecx
53de54:	8b 55 08             	mov    0x8(%ebp),%edx
53de57:	66 8b 45 0c          	mov    0xc(%ebp),%ax
53de5b:	f6 42 24 20          	testb  $0x20,0x24(%edx)
53de5f:	74 6b                	je     0x53decc
53de61:	66 85 c0             	test   %ax,%ax
53de64:	78 66                	js     0x53decc
53de66:	53                   	push   %ebx
53de67:	56                   	push   %esi
53de68:	57                   	push   %edi
53de69:	0f bf f8             	movswl %ax,%edi
53de6c:	33 f6                	xor    %esi,%esi
53de6e:	33 db                	xor    %ebx,%ebx
53de70:	85 ff                	test   %edi,%edi
53de72:	7e 36                	jle    0x53deaa
53de74:	8b 5a 04             	mov    0x4(%edx),%ebx
53de77:	83 c3 10             	add    $0x10,%ebx
53de7a:	89 7d fc             	mov    %edi,-0x4(%ebp)
53de7d:	0f 1f 00             	nopl   (%eax)
53de80:	66 8b 03             	mov    (%ebx),%ax
53de83:	8d 5b 14             	lea    0x14(%ebx),%ebx
53de86:	66 83 e0 20          	and    $0x20,%ax
53de8a:	0f b7 d0             	movzwl %ax,%edx
53de8d:	8d 46 01             	lea    0x1(%esi),%eax
53de90:	0f b7 c8             	movzwl %ax,%ecx
53de93:	66 85 d2             	test   %dx,%dx
53de96:	0f b7 c6             	movzwl %si,%eax
53de99:	0f 45 c8             	cmovne %eax,%ecx