580e72:	50                   	push   %eax
580e73:	8d 45 f4             	lea    -0xc(%ebp),%eax
580e76:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
580e7c:	8b f1                	mov    %ecx,%esi
580e7e:	0f be 46 08          	movsbl 0x8(%esi),%eax
580e82:	83 f8 05             	cmp    $0x5,%eax
580e85:	77 79                	ja     0x580f00
580e87:	ff 24 85 cc 0f 58 00 	jmp    *0x580fcc(,%eax,4)
580e8e:	e8 1d 0a 00 00       	call   0x5818b0
580e93:	84 c0                	test   %al,%al
580e95:	0f 84 a8 00 00 00    	je     0x580f43
580e9b:	8b 06                	mov    (%esi),%eax
580e9d:	8b 56 04             	mov    0x4(%esi),%edx
580ea0:	8b 4d f4             	mov    -0xc(%ebp),%ecx
580ea3:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
580eaa:	59                   	pop    %ecx
580eab:	5e                   	pop    %esi
580eac:	8b 4d f0             	mov    -0x10(%ebp),%ecx
580eaf:	33 cd                	xor    %ebp,%ecx
580eb1:	e8 24 06 06 00       	call   0x5e14da
580eb6:	8b e5                	mov    %ebp,%esp
580eb8:	5d                   	pop    %ebp
580eb9:	c3                   	ret
580eba:	f2 0f 10 06          	movsd  (%esi),%xmm0
580ebe:	66 0f 2f 05 40 c5 6b 	comisd 0x6bc540,%xmm0
580ec5:	00
580ec6:	0f 82 ba 00 00 00    	jb     0x580f86
580ecc:	f2 0f 10 0d 78 34 6c 	movsd  0x6c3478,%xmm1
580ed3:	00
580ed4:	66 0f 2f c8          	comisd %xmm0,%xmm1
580ed8:	0f 82 a8 00 00 00    	jb     0x580f86
580ede:	e8 06 08 06 00       	call   0x5e16e9
580ee3:	eb bb                	jmp    0x580ea0
580ee5:	0f 57 c0             	xorps  %xmm0,%xmm0
580ee8:	66 0f 13 45 a0       	movlpd %xmm0,-0x60(%ebp)
580eed:	8b 55 a4             	mov    -0x5c(%ebp),%edx
580ef0:	8b 45 a0             	mov    -0x60(%ebp),%eax
580ef3:	eb ab                	jmp    0x580ea0
580ef5:	33 c0                	xor    %eax,%eax
580ef7:	38 06                	cmp    %al,(%esi)
580ef9:	0f 95 c0             	setne  %al
580efc:	33 d2                	xor    %edx,%edx
580efe:	eb a0                	jmp    0x580ea0
580f00:	6a 01                	push   $0x1
580f02:	6a 02                	push   $0x2
580f04:	8d 8d d8 fd ff ff    	lea    -0x228(%ebp),%ecx
580f0a:	e8 21 de ff ff       	call   0x57ed30
580f0f:	8d 85 d8 fd ff ff    	lea    -0x228(%ebp),%eax
580f15:	c7 45 fc 04 00 00 00 	movl   $0x4,-0x4(%ebp)
580f1c:	68 cc 31 6c 00       	push   $0x6c31cc
580f21:	50                   	push   %eax
580f22:	e8 99 a3 f1 ff       	call   0x49b2c0
580f27:	83 c4 08             	add    $0x8,%esp
580f2a:	8d 45 a8             	lea    -0x58(%ebp),%eax
580f2d:	8d 8d d8 fd ff ff    	lea    -0x228(%ebp),%ecx
580f33:	50                   	push   %eax
580f34:	e8 77 df ff ff       	call   0x57eeb0
580f39:	50                   	push   %eax
580f3a:	c6 45 fc 05          	movb   $0x5,-0x4(%ebp)
580f3e:	e8 7d 11 00 00       	call   0x5820c0
580f43:	6a 01                	push   $0x1
580f45:	6a 02                	push   $0x2
580f47:	8d 8d 08 ff ff ff    	lea    -0xf8(%ebp),%ecx
580f4d:	e8 de dd ff ff       	call   0x57ed30
580f52:	8d 85 08 ff ff ff    	lea    -0xf8(%ebp),%eax
580f58:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
580f5f:	68 90 31 6c 00       	push   $0x6c3190
580f64:	50                   	push   %eax
580f65:	e8 56 a3 f1 ff       	call   0x49b2c0
580f6a:	83 c4 08             	add    $0x8,%esp
580f6d:	8d 45 d8             	lea    -0x28(%ebp),%eax
580f70:	8d 8d 08 ff ff ff    	lea    -0xf8(%ebp),%ecx
580f76:	50                   	push   %eax
580f77:	e8 34 df ff ff       	call   0x57eeb0
580f7c:	50                   	push   %eax
580f7d:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
580f81:	e8 3a 11 00 00       	call   0x5820c0
580f86:	6a 01                	push   $0x1
580f88:	6a 02                	push   $0x2
580f8a:	8d 8d 70 fe ff ff    	lea    -0x190(%ebp),%ecx
580f90:	e8 9b dd ff ff       	call   0x57ed30
580f95:	8d 85 70 fe ff ff    	lea    -0x190(%ebp),%eax
580f9b:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
580fa2:	68 b0 31 6c 00       	push   $0x6c31b0
580fa7:	50                   	push   %eax
580fa8:	e8 13 a3 f1 ff       	call   0x49b2c0
580fad:	83 c4 08             	add    $0x8,%esp
580fb0:	8d 45 c0             	lea    -0x40(%ebp),%eax
580fb3:	8d 8d 70 fe ff ff    	lea    -0x190(%ebp),%ecx
580fb9:	50                   	push   %eax
580fba:	e8 f1 de ff ff       	call   0x57eeb0
580fbf:	50                   	push   %eax
580fc0:	c6 45 fc 03          	movb   $0x3,-0x4(%ebp)
580fc4:	e8 f7 10 00 00       	call   0x5820c0
580fc9:	0f 1f 00             	nopl   (%eax)
580fcc:	e5 0e                	in     $0xe,%eax
580fce:	58                   	pop    %eax
580fcf:	00 8e 0e 58 00 9b    	add    %cl,-0x64ffa7f2(%esi)
580fd5:	0e                   	push   %cs
580fd6:	58                   	pop    %eax
580fd7:	00 ba 0e 58 00 00    	add    %bh,0x580e(%edx)
580fdd:	0f 58 00             	addps  (%eax),%xmm0
580fe0:	f5                   	cmc
580fe1:	0e                   	push   %cs
580fe2:	58                   	pop    %eax
580fe3:	00 cc                	add    %cl,%ah
580fe5:	cc                   	int3
580fe6:	cc                   	int3
580fe7:	cc                   	int3
580fe8:	cc                   	int3
580fe9:	cc                   	int3
580fea:	cc                   	int3
580feb:	cc                   	int3
580fec:	cc                   	int3
580fed:	cc                   	int3
580fee:	cc                   	int3
580fef:	cc                   	int3
580ff0:	55                   	push   %ebp
580ff1:	8b ec                	mov    %esp,%ebp
580ff3:	6a ff                	push   $0xffffffff
580ff5:	68 83 cc 65 00       	push   $0x65cc83
580ffa:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
581000:	50                   	push   %eax
581001:	81 ec bc 00 00 00    	sub    $0xbc,%esp
581007:	a1 d4 89 72 00       	mov    0x7289d4,%eax
58100c:	33 c5                	xor    %ebp,%eax
58100e:	89 45 f0             	mov    %eax,-0x10(%ebp)
581011:	56                   	push   %esi
581012:	50                   	push   %eax
581013:	8d 45 f4             	lea    -0xc(%ebp),%eax
581016:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
58101c:	8b 75 08             	mov    0x8(%ebp),%esi
58101f:	89 75 d4             	mov    %esi,-0x2c(%ebp)
581022:	0f be 41 08          	movsbl 0x8(%ecx),%eax
581026:	83 f8 05             	cmp    $0x5,%eax
581029:	0f 87 c1 00 00 00    	ja     0x5810f0
58102f:	ff 24 85 34 11 58 00 	jmp    *0x581134(,%eax,4)
581036:	c7 46 10 00 00 00 00 	movl   $0x0,0x10(%esi)
58103d:	8b ce                	mov    %esi,%ecx
58103f:	6a 00                	push   $0x0
581041:	c7 46 14 0f 00 00 00 	movl   $0xf,0x14(%esi)
581048:	68 65 aa 68 00       	push   $0x68aa65
58104d:	c6 06 00             	movb   $0x0,(%esi)
581050:	e8 eb 41 ec ff       	call   0x445240
581055:	eb 5a                	jmp    0x5810b1
581057:	8b 01                	mov    (%ecx),%eax
581059:	85 c0                	test   %eax,%eax
58105b:	74 d9                	je     0x581036
58105d:	8d 55 d4             	lea    -0x2c(%ebp),%edx
581060:	52                   	push   %edx
581061:	8d 55 d0             	lea    -0x30(%ebp),%edx
581064:	52                   	push   %edx
581065:	50                   	push   %eax
581066:	8b 41 08             	mov    0x8(%ecx),%eax
581069:	c1 e8 08             	shr    $0x8,%eax
58106c:	24 01                	and    $0x1,%al
58106e:	0f b6 c0             	movzbl %al,%eax
581071:	50                   	push   %eax
581072:	e8 d9 00 00 00       	call   0x581150
581077:	83 c4 10             	add    $0x10,%esp
58107a:	8b ce                	mov    %esi,%ecx
58107c:	ff 75 d0             	push   -0x30(%ebp)
58107f:	ff 75 d4             	push   -0x2c(%ebp)
581082:	e8 19 e7 ff ff       	call   0x57f7a0
581087:	eb 28                	jmp    0x5810b1
581089:	80 39 00             	cmpb   $0x0,(%ecx)
58108c:	ba e8 c3 68 00       	mov    $0x68c3e8,%edx
581091:	b8 bc c0 68 00       	mov    $0x68c0bc,%eax
581096:	8b ce                	mov    %esi,%ecx
581098:	0f 44 c2             	cmove  %edx,%eax
58109b:	50                   	push   %eax
58109c:	e8 cf 89 ee ff       	call   0x469a70
5810a1:	eb 0e                	jmp    0x5810b1
5810a3:	ff 71 04             	push   0x4(%ecx)
5810a6:	ff 31                	push   (%ecx)
5810a8:	56                   	push   %esi
5810a9:	e8 72 57 00 00       	call   0x586820
5810ae:	83 c4 0c             	add    $0xc,%esp
5810b1:	8b c6                	mov    %esi,%eax
5810b3:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5810b6:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
5810bd:	59                   	pop    %ecx
5810be:	5e                   	pop    %esi
5810bf:	8b 4d f0             	mov    -0x10(%ebp),%ecx
5810c2:	33 cd                	xor    %ebp,%ecx
5810c4:	e8 11 04 06 00       	call   0x5e14da
5810c9:	8b e5                	mov    %ebp,%esp
5810cb:	5d                   	pop    %ebp
5810cc:	c2 04 00             	ret    $0x4
5810cf:	ff 71 04             	push   0x4(%ecx)
5810d2:	ff 31                	push   (%ecx)
5810d4:	56                   	push   %esi
5810d5:	e8 16 58 00 00       	call   0x5868f0
5810da:	eb d2                	jmp    0x5810ae
5810dc:	f2 0f 10 01          	movsd  (%ecx),%xmm0
5810e0:	83 ec 08             	sub    $0x8,%esp
5810e3:	f2 0f 11 04 24       	movsd  %xmm0,(%esp)
5810e8:	56                   	push   %esi
5810e9:	e8 02 57 00 00       	call   0x5867f0
5810ee:	eb be                	jmp    0x5810ae
5810f0:	6a 01                	push   $0x1
5810f2:	6a 02                	push   $0x2
5810f4:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
5810fa:	e8 31 dc ff ff       	call   0x57ed30
5810ff:	8d 85 38 ff ff ff    	lea    -0xc8(%ebp),%eax
581105:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
58110c:	68 0c 31 6c 00       	push   $0x6c310c
581111:	50                   	push   %eax
581112:	e8 a9 a1 f1 ff       	call   0x49b2c0
581117:	83 c4 08             	add    $0x8,%esp
58111a:	8d 45 d8             	lea    -0x28(%ebp),%eax
58111d:	8d 8d 38 ff ff ff    	lea    -0xc8(%ebp),%ecx
581123:	50                   	push   %eax
581124:	e8 87 dd ff ff       	call   0x57eeb0
581129:	50                   	push   %eax
58112a:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
58112e:	e8 8d 0f 00 00       	call   0x5820c0
581133:	90                   	nop
581134:	36 10 58 00          	adc    %bl,%ss:0x0(%eax)
581138:	a3 10 58 00 cf       	mov    %eax,0xcf005810
58113d:	10 58 00             	adc    %bl,0x0(%eax)
581140:	dc 10                	fcoml  (%eax)
581142:	58                   	pop    %eax
581143:	00 57 10             	add    %dl,0x10(%edi)
581146:	58                   	pop    %eax
581147:	00 89 10 58 00 cc    	add    %cl,-0x33ffa7f0(%ecx)
58114d:	cc                   	int3
58114e:	cc                   	int3
58114f:	cc                   	int3
581150:	55                   	push   %ebp
581151:	8b ec                	mov    %esp,%ebp
581153:	80 7d 08 00          	cmpb   $0x0,0x8(%ebp)
581157:	8b 55 0c             	mov    0xc(%ebp),%edx
58115a:	75 1c                	jne    0x581178
58115c:	8b c2                	mov    %edx,%eax
58115e:	56                   	push   %esi
58115f:	8d 70 01             	lea    0x1(%eax),%esi
581162:	8a 08                	mov    (%eax),%cl
581164:	40                   	inc    %eax
581165:	84 c9                	test   %cl,%cl
581167:	75 f9                	jne    0x581162
581169:	8b 4d 10             	mov    0x10(%ebp),%ecx
58116c:	2b c6                	sub    %esi,%eax
58116e:	5e                   	pop    %esi
58116f:	89 01                	mov    %eax,(%ecx)
581171:	8b 45 14             	mov    0x14(%ebp),%eax
581174:	89 10                	mov    %edx,(%eax)
581176:	5d                   	pop    %ebp
581177:	c3                   	ret
581178:	8b 45 10             	mov    0x10(%ebp),%eax
58117b:	8b 0a                	mov    (%edx),%ecx
58117d:	89 08                	mov    %ecx,(%eax)
58117f:	8d 4a 04             	lea    0x4(%edx),%ecx
581182:	8b 45 14             	mov    0x14(%ebp),%eax
581185:	89 08                	mov    %ecx,(%eax)
581187:	5d                   	pop    %ebp
581188:	c3                   	ret
581189:	cc                   	int3
58118a:	cc                   	int3
58118b:	cc                   	int3
58118c:	cc                   	int3
58118d:	cc                   	int3
58118e:	cc                   	int3
58118f:	cc                   	int3
581190:	55                   	push   %ebp
581191:	8b ec                	mov    %esp,%ebp
581193:	6a ff                	push   $0xffffffff
581195:	68 cb cc 65 00       	push   $0x65cccb
58119a:	64 a1 00 00 00 00    	mov    %fs:0x0,%eax
5811a0:	50                   	push   %eax
5811a1:	81 ec b8 00 00 00    	sub    $0xb8,%esp
5811a7:	a1 d4 89 72 00       	mov    0x7289d4,%eax
5811ac:	33 c5                	xor    %ebp,%eax
5811ae:	89 45 f0             	mov    %eax,-0x10(%ebp)
5811b1:	53                   	push   %ebx
5811b2:	56                   	push   %esi
5811b3:	57                   	push   %edi
5811b4:	50                   	push   %eax
5811b5:	8d 45 f4             	lea    -0xc(%ebp),%eax
5811b8:	64 a3 00 00 00 00    	mov    %eax,%fs:0x0
5811be:	8b 75 0c             	mov    0xc(%ebp),%esi
5811c1:	8b 45 08             	mov    0x8(%ebp),%eax
5811c4:	89 45 d4             	mov    %eax,-0x2c(%ebp)
5811c7:	81 fe fa ff ff 7f    	cmp    $0x7ffffffa,%esi
5811cd:	77 47                	ja     0x581216
5811cf:	8d 5e 05             	lea    0x5(%esi),%ebx
5811d2:	53                   	push   %ebx
5811d3:	e8 d8 d5 06 00       	call   0x5ee7b0
5811d8:	8b f8                	mov    %eax,%edi
5811da:	83 c4 04             	add    $0x4,%esp
5811dd:	85 ff                	test   %edi,%edi
5811df:	74 78                	je     0x581259
5811e1:	56                   	push   %esi
5811e2:	ff 75 d4             	push   -0x2c(%ebp)
5811e5:	8d 47 04             	lea    0x4(%edi),%eax
5811e8:	89 37                	mov    %esi,(%edi)
5811ea:	50                   	push   %eax
5811eb:	e8 10 1d 06 00       	call   0x5e2f00
5811f0:	83 c4 0c             	add    $0xc,%esp
5811f3:	c6 44 1f ff 00       	movb   $0x0,-0x1(%edi,%ebx,1)
5811f8:	8b c7                	mov    %edi,%eax
5811fa:	8b 4d f4             	mov    -0xc(%ebp),%ecx
5811fd:	64 89 0d 00 00 00 00 	mov    %ecx,%fs:0x0
581204:	59                   	pop    %ecx
581205:	5f                   	pop    %edi
581206:	5e                   	pop    %esi
581207:	5b                   	pop    %ebx
581208:	8b 4d f0             	mov    -0x10(%ebp),%ecx
58120b:	33 cd                	xor    %ebp,%ecx
58120d:	e8 c8 02 06 00       	call   0x5e14da
581212:	8b e5                	mov    %ebp,%esp
581214:	5d                   	pop    %ebp
581215:	c3                   	ret
581216:	6a 01                	push   $0x1
581218:	6a 02                	push   $0x2
58121a:	8d 8d 3c ff ff ff    	lea    -0xc4(%ebp),%ecx
581220:	e8 0b db ff ff       	call   0x57ed30
581225:	8d 85 3c ff ff ff    	lea    -0xc4(%ebp),%eax
58122b:	c7 45 fc 00 00 00 00 	movl   $0x0,-0x4(%ebp)
581232:	68 e0 2f 6c 00       	push   $0x6c2fe0
581237:	50                   	push   %eax
581238:	e8 83 a0 f1 ff       	call   0x49b2c0
58123d:	83 c4 08             	add    $0x8,%esp
581240:	8d 45 d8             	lea    -0x28(%ebp),%eax
581243:	8d 8d 3c ff ff ff    	lea    -0xc4(%ebp),%ecx
581249:	50                   	push   %eax
58124a:	e8 61 dc ff ff       	call   0x57eeb0
58124f:	50                   	push   %eax
581250:	c6 45 fc 01          	movb   $0x1,-0x4(%ebp)
581254:	e8 67 0e 00 00       	call   0x5820c0
581259:	68 30 30 6c 00       	push   $0x6c3030
58125e:	8d 4d d8             	lea    -0x28(%ebp),%ecx
581261:	e8 0a 88 ee ff       	call   0x469a70
581266:	8d 45 d8             	lea    -0x28(%ebp),%eax
581269:	c7 45 fc 02 00 00 00 	movl   $0x2,-0x4(%ebp)
581270:	50                   	push   %eax
581271:	e8 7a 0e 00 00       	call   0x5820f0
581276:	cc                   	int3
581277:	cc                   	int3
581278:	cc                   	int3
581279:	cc                   	int3
58127a:	cc                   	int3
58127b:	cc                   	int3
58127c:	cc                   	int3
58127d:	cc                   	int3
58127e:	cc                   	int3
58127f:	cc                   	int3
581280:	55                   	push   %ebp
581281:	8b ec                	mov    %esp,%ebp
581283:	6a ff                	push   $0xffffffff