53da28:	ff d0                	call   *%eax
53da2a:	f2 0f 10 45 f4       	movsd  -0xc(%ebp),%xmm0
53da2f:	83 c4 08             	add    $0x8,%esp
53da32:	f2 0f 59 05 c0 c5 6b 	mulsd  0x6bc5c0,%xmm0
53da39:	00
53da3a:	8b f8                	mov    %eax,%edi
53da3c:	e8 4a 3d 0a 00       	call   0x5e178b
53da41:	89 06                	mov    %eax,(%esi)
53da43:	89 56 04             	mov    %edx,0x4(%esi)
53da46:	85 ff                	test   %edi,%edi
53da48:	5f                   	pop    %edi
53da49:	74 0d                	je     0x53da58
53da4b:	c7 06 00 00 00 00    	movl   $0x0,(%esi)
53da51:	c7 46 04 00 00 00 00 	movl   $0x0,0x4(%esi)
53da58:	8b 4d fc             	mov    -0x4(%ebp),%ecx
53da5b:	8b 06                	mov    (%esi),%eax
53da5d:	33 cd                	xor    %ebp,%ecx
53da5f:	8b 56 04             	mov    0x4(%esi),%edx
53da62:	5e                   	pop    %esi
53da63:	e8 72 3a 0a 00       	call   0x5e14da
53da68:	8b e5                	mov    %ebp,%esp
53da6a:	5d                   	pop    %ebp
53da6b:	c3                   	ret
53da6c:	cc                   	int3
53da6d:	cc                   	int3
53da6e:	cc                   	int3
53da6f:	cc                   	int3
53da70:	55                   	push   %ebp
53da71:	8b ec                	mov    %esp,%ebp
53da73:	8b 45 08             	mov    0x8(%ebp),%eax
53da76:	f6 40 24 20          	testb  $0x20,0x24(%eax)
53da7a:	74 40                	je     0x53dabc
53da7c:	8b 55 0c             	mov    0xc(%ebp),%edx
53da7f:	33 c9                	xor    %ecx,%ecx
53da81:	56                   	push   %esi
53da82:	33 f6                	xor    %esi,%esi
53da84:	66 3b ca             	cmp    %dx,%cx
53da87:	7f 2d                	jg     0x53dab6
53da89:	57                   	push   %edi
53da8a:	8b 78 04             	mov    0x4(%eax),%edi
53da8d:	83 c7 10             	add    $0x10,%edi
53da90:	f6 07 20             	testb  $0x20,(%edi)
53da93:	8d 42 01             	lea    0x1(%edx),%eax
53da96:	0f b7 c8             	movzwl %ax,%ecx
53da99:	8d 7f 14             	lea    0x14(%edi),%edi
53da9c:	0f b7 c2             	movzwl %dx,%eax
53da9f:	0f 44 c8             	cmove  %eax,%ecx
53daa2:	46                   	inc    %esi
53daa3:	0f b7 c9             	movzwl %cx,%ecx
53daa6:	8b d1                	mov    %ecx,%edx
53daa8:	0f bf c9             	movswl %cx,%ecx
53daab:	3b f1                	cmp    %ecx,%esi
53daad:	7e e1                	jle    0x53da90
53daaf:	5f                   	pop    %edi
53dab0:	66 8b c2             	mov    %dx,%ax
53dab3:	5e                   	pop    %esi
53dab4:	5d                   	pop    %ebp
53dab5:	c3                   	ret
53dab6:	66 8b c2             	mov    %dx,%ax
53dab9:	5e                   	pop    %esi
53daba:	5d                   	pop    %ebp
53dabb:	c3                   	ret
53dabc:	66 8b 45 0c          	mov    0xc(%ebp),%ax
53dac0:	5d                   	pop    %ebp
53dac1:	c3                   	ret
53dac2:	cc                   	int3
53dac3:	cc                   	int3
53dac4:	cc                   	int3
53dac5:	cc                   	int3
53dac6:	cc                   	int3
53dac7:	cc                   	int3
53dac8:	cc                   	int3
53dac9:	cc                   	int3
53daca:	cc                   	int3
53dacb:	cc                   	int3
53dacc:	cc                   	int3
53dacd:	cc                   	int3
53dace:	cc                   	int3
53dacf:	cc                   	int3
53dad0:	55                   	push   %ebp
53dad1:	8b ec                	mov    %esp,%ebp
53dad3:	56                   	push   %esi
53dad4:	8b 75 08             	mov    0x8(%ebp),%esi
53dad7:	80 7e 14 00          	cmpb   $0x0,0x14(%esi)
53dadb:	74 05                	je     0x53dae2
53dadd:	33 c0                	xor    %eax,%eax
53dadf:	5e                   	pop    %esi
53dae0:	5d                   	pop    %ebp
53dae1:	c3                   	ret
53dae2:	8b 4e 0c             	mov    0xc(%esi),%ecx
53dae5:	85 c9                	test   %ecx,%ecx
53dae7:	75 28                	jne    0x53db11
53dae9:	8b 06                	mov    (%esi),%eax
53daeb:	c6 46 14 12          	movb   $0x12,0x14(%esi)
53daef:	85 c0                	test   %eax,%eax
53daf1:	74 14                	je     0x53db07
53daf3:	8b 80 f4 00 00 00    	mov    0xf4(%eax),%eax
53daf9:	85 c0                	test   %eax,%eax
53dafb:	74 0a                	je     0x53db07
53dafd:	ff 40 24             	incl   0x24(%eax)
53db00:	c7 40 0c 12 00 00 00 	movl   $0x12,0xc(%eax)
53db07:	8b 46 08             	mov    0x8(%esi),%eax
53db0a:	2b 46 10             	sub    0x10(%esi),%eax
53db0d:	48                   	dec    %eax
53db0e:	5e                   	pop    %esi
53db0f:	5d                   	pop    %ebp
53db10:	c3                   	ret
53db11:	f6 46 15 04          	testb  $0x4,0x15(%esi)
53db15:	53                   	push   %ebx
53db16:	74 05                	je     0x53db1d
53db18:	8b 5e 04             	mov    0x4(%esi),%ebx
53db1b:	eb 02                	jmp    0x53db1f
53db1d:	33 db                	xor    %ebx,%ebx
53db1f:	8b 45 0c             	mov    0xc(%ebp),%eax
53db22:	40                   	inc    %eax
53db23:	c7 45 08 00 00 00 00 	movl   $0x0,0x8(%ebp)
53db2a:	99                   	cltd
53db2b:	57                   	push   %edi
53db2c:	8b f8                	mov    %eax,%edi
53db2e:	8b 46 10             	mov    0x10(%esi),%eax
53db31:	03 f8                	add    %eax,%edi
53db33:	83 d2 00             	adc    $0x0,%edx
53db36:	03 c7                	add    %edi,%eax
53db38:	11 55 08             	adc    %edx,0x8(%ebp)
53db3b:	83 7d 08 00          	cmpl   $0x0,0x8(%ebp)
53db3f:	7f 0b                	jg     0x53db4c
53db41:	7c 04                	jl     0x53db47
53db43:	3b c1                	cmp    %ecx,%eax
53db45:	77 05                	ja     0x53db4c
53db47:	8b 55 08             	mov    0x8(%ebp),%edx
53db4a:	8b f8                	mov    %eax,%edi
53db4c:	85 d2                	test   %edx,%edx
53db4e:	7c 1e                	jl     0x53db6e
53db50:	7f 04                	jg     0x53db56
53db52:	3b f9                	cmp    %ecx,%edi
53db54:	76 18                	jbe    0x53db6e
53db56:	56                   	push   %esi
53db57:	e8 94 1d fb ff       	call   0x4ef8f0
53db5c:	6a 12                	push   $0x12
53db5e:	56                   	push   %esi
53db5f:	e8 ec 98 fd ff       	call   0x517450
53db64:	83 c4 0c             	add    $0xc,%esp
53db67:	33 c0                	xor    %eax,%eax
53db69:	5f                   	pop    %edi
53db6a:	5b                   	pop    %ebx
53db6b:	5e                   	pop    %esi
53db6c:	5d                   	pop    %ebp
53db6d:	c3                   	ret
53db6e:	8b 06                	mov    (%esi),%eax
53db70:	89 7e 08             	mov    %edi,0x8(%esi)
53db73:	85 c0                	test   %eax,%eax
53db75:	74 0f                	je     0x53db86
53db77:	6a 00                	push   $0x0
53db79:	57                   	push   %edi
53db7a:	53                   	push   %ebx
53db7b:	50                   	push   %eax
53db7c:	e8 df 39 fe ff       	call   0x521560
53db81:	83 c4 10             	add    $0x10,%esp
53db84:	eb 14                	jmp    0x53db9a
53db86:	e8 95 94 01 00       	call   0x557020
53db8b:	85 c0                	test   %eax,%eax
53db8d:	75 48                	jne    0x53dbd7
53db8f:	50                   	push   %eax
53db90:	57                   	push   %edi
53db91:	53                   	push   %ebx
53db92:	e8 d9 99 ff ff       	call   0x537570
53db97:	83 c4 0c             	add    $0xc,%esp
53db9a:	8b f8                	mov    %eax,%edi
53db9c:	85 ff                	test   %edi,%edi
53db9e:	74 37                	je     0x53dbd7
53dba0:	f6 46 15 04          	testb  $0x4,0x15(%esi)
53dba4:	75 14                	jne    0x53dbba
53dba6:	8b 46 10             	mov    0x10(%esi),%eax
53dba9:	85 c0                	test   %eax,%eax
53dbab:	74 0d                	je     0x53dbba
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