512e35:	55                   	push   %ebp
512e36:	e8 95 1a fe ff       	call   0x4f48d0
512e3b:	83 c4 18             	add    $0x18,%esp
512e3e:	85 f6                	test   %esi,%esi
512e40:	79 25                	jns    0x512e67
512e42:	68 dd 00 00 00       	push   $0xdd
512e47:	68 bc 0d 63 00       	push   $0x630dbc
512e4c:	68 b0 00 00 00       	push   $0xb0
512e51:	68 b0 00 00 00       	push   $0xb0
512e56:	6a 06                	push   $0x6
512e58:	e8 23 61 fc ff       	call   0x4d8f80
512e5d:	83 c4 14             	add    $0x14,%esp
512e60:	33 c0                	xor    %eax,%eax
512e62:	5f                   	pop    %edi
512e63:	5e                   	pop    %esi
512e64:	5d                   	pop    %ebp
512e65:	5b                   	pop    %ebx
512e66:	c3                   	ret
512e67:	85 db                	test   %ebx,%ebx
512e69:	75 12                	jne    0x512e7d
512e6b:	39 9f 1c 01 00 00    	cmp    %ebx,0x11c(%edi)
512e71:	74 24                	je     0x512e97
512e73:	8b 9f c8 02 00 00    	mov    0x2c8(%edi),%ebx
512e79:	85 db                	test   %ebx,%ebx
512e7b:	74 1a                	je     0x512e97
512e7d:	ff b7 cc 02 00 00    	push   0x2cc(%edi)
512e83:	53                   	push   %ebx
512e84:	55                   	push   %ebp
512e85:	e8 16 1b fe ff       	call   0x4f49a0
512e8a:	83 c4 0c             	add    $0xc,%esp
512e8d:	c7 87 1c 01 00 00 01 	movl   $0x1,0x11c(%edi)
512e94:	00 00 00
512e97:	c7 87 18 01 00 00 01 	movl   $0x1,0x118(%edi)
512e9e:	00 00 00
512ea1:	b8 01 00 00 00       	mov    $0x1,%eax
512ea6:	5f                   	pop    %edi
512ea7:	5e                   	pop    %esi
512ea8:	5d                   	pop    %ebp
512ea9:	5b                   	pop    %ebx
512eaa:	c3                   	ret
512eab:	83 bf 18 01 00 00 00 	cmpl   $0x0,0x118(%edi)
512eb2:	8b 87 cc 02 00 00    	mov    0x2cc(%edi),%eax
512eb8:	50                   	push   %eax
512eb9:	53                   	push   %ebx
512eba:	74 0e                	je     0x512eca
512ebc:	8d 87 20 01 00 00    	lea    0x120(%edi),%eax
512ec2:	50                   	push   %eax
512ec3:	e8 d8 1a fe ff       	call   0x4f49a0
512ec8:	eb 0b                	jmp    0x512ed5
512eca:	ff b7 c8 02 00 00    	push   0x2c8(%edi)
512ed0:	e8 fb fe 0b 00       	call   0x5d2dd0
512ed5:	83 c4 0c             	add    $0xc,%esp
512ed8:	c7 87 1c 01 00 00 01 	movl   $0x1,0x11c(%edi)
512edf:	00 00 00
512ee2:	c7 87 d4 02 00 00 00 	movl   $0x0,0x2d4(%edi)
512ee9:	00 00 00
512eec:	b8 01 00 00 00       	mov    $0x1,%eax
512ef1:	5f                   	pop    %edi
512ef2:	5e                   	pop    %esi
512ef3:	5d                   	pop    %ebp
512ef4:	5b                   	pop    %ebx
512ef5:	c3                   	ret
512ef6:	cc                   	int3
512ef7:	cc                   	int3
512ef8:	cc                   	int3
512ef9:	cc                   	int3
512efa:	cc                   	int3
512efb:	cc                   	int3
512efc:	cc                   	int3
512efd:	cc                   	int3
512efe:	cc                   	int3
512eff:	cc                   	int3
512f00:	53                   	push   %ebx
512f01:	8b 5c 24 14          	mov    0x14(%esp),%ebx
512f05:	55                   	push   %ebp
512f06:	56                   	push   %esi
512f07:	57                   	push   %edi
512f08:	8b 7c 24 14          	mov    0x14(%esp),%edi
512f0c:	57                   	push   %edi
512f0d:	e8 be d1 fd ff       	call   0x4f00d0
512f12:	8b f0                	mov    %eax,%esi
512f14:	83 c4 04             	add    $0x4,%esp
512f17:	8b 44 24 18          	mov    0x18(%esp),%eax
512f1b:	83 f8 25             	cmp    $0x25,%eax
512f1e:	0f 87 56 04 00 00    	ja     0x51337a
512f24:	0f b6 88 b0 33 51 00 	movzbl 0x5133b0(%eax),%ecx
512f2b:	ff 24 8d 84 33 51 00 	jmp    *0x513384(,%ecx,4)
512f32:	c7 86 18 01 00 00 00 	movl   $0x0,0x118(%esi)
512f39:	00 00 00
512f3c:	c7 86 1c 01 00 00 00 	movl   $0x0,0x11c(%esi)
512f43:	00 00 00
512f46:	ff 37                	push   (%edi)
512f48:	e8 f3 42 fd ff       	call   0x4e7240
512f4d:	57                   	push   %edi
512f4e:	89 86 cc 02 00 00    	mov    %eax,0x2cc(%esi)
512f54:	e8 c7 d1 fd ff       	call   0x4f0120
512f59:	83 c4 08             	add    $0x8,%esp
512f5c:	89 86 c8 02 00 00    	mov    %eax,0x2c8(%esi)
512f62:	c7 86 d0 02 00 00 ff 	movl   $0xffffffff,0x2d0(%esi)
512f69:	ff ff ff
512f6c:	b8 01 00 00 00       	mov    $0x1,%eax
512f71:	c7 86 d4 02 00 00 00 	movl   $0x0,0x2d4(%esi)
512f78:	00 00 00
512f7b:	c7 86 d8 02 00 00 ff 	movl   $0xffffffff,0x2d8(%esi)
512f82:	ff ff ff
512f85:	5f                   	pop    %edi
512f86:	5e                   	pop    %esi
512f87:	5d                   	pop    %ebp
512f88:	5b                   	pop    %ebx
512f89:	c3                   	ret
512f8a:	8b 5c 24 1c          	mov    0x1c(%esp),%ebx
512f8e:	85 db                	test   %ebx,%ebx
512f90:	7e 6b                	jle    0x512ffd
512f92:	83 fb 10             	cmp    $0x10,%ebx
512f95:	7e 6d                	jle    0x513004
512f97:	3b 9e cc 02 00 00    	cmp    0x2cc(%esi),%ebx
512f9d:	7e 65                	jle    0x513004
512f9f:	8b ae c8 02 00 00    	mov    0x2c8(%esi),%ebp
512fa5:	57                   	push   %edi
512fa6:	e8 75 d1 fd ff       	call   0x4f0120
512fab:	83 c4 04             	add    $0x4,%esp
512fae:	3b e8                	cmp    %eax,%ebp
512fb0:	74 13                	je     0x512fc5
512fb2:	68 0c 01 00 00       	push   $0x10c
512fb7:	68 bc 0d 63 00       	push   $0x630dbc
512fbc:	55                   	push   %ebp
512fbd:	e8 be d7 fc ff       	call   0x4e0780
512fc2:	83 c4 0c             	add    $0xc,%esp
512fc5:	68 0d 01 00 00       	push   $0x10d
512fca:	68 bc 0d 63 00       	push   $0x630dbc
512fcf:	53                   	push   %ebx
512fd0:	e8 7b d7 fc ff       	call   0x4e0750
512fd5:	83 c4 0c             	add    $0xc,%esp
512fd8:	89 86 c8 02 00 00    	mov    %eax,0x2c8(%esi)
512fde:	85 c0                	test   %eax,%eax
512fe0:	75 22                	jne    0x513004
512fe2:	68 0e 01 00 00       	push   $0x10e
512fe7:	68 bc 0d 63 00       	push   $0x630dbc
512fec:	6a 41                	push   $0x41
512fee:	68 c5 00 00 00       	push   $0xc5
512ff3:	6a 06                	push   $0x6
512ff5:	e8 86 5f fc ff       	call   0x4d8f80
512ffa:	83 c4 14             	add    $0x14,%esp
512ffd:	5f                   	pop    %edi
512ffe:	5e                   	pop    %esi
512fff:	5d                   	pop    %ebp
513000:	33 c0                	xor    %eax,%eax
513002:	5b                   	pop    %ebx
513003:	c3                   	ret
513004:	5f                   	pop    %edi
513005:	89 9e cc 02 00 00    	mov    %ebx,0x2cc(%esi)
51300b:	b8 01 00 00 00       	mov    $0x1,%eax
513010:	5e                   	pop    %esi
513011:	5d                   	pop    %ebp
513012:	5b                   	pop    %ebx
513013:	c3                   	ret
513014:	8b 86 cc 02 00 00    	mov    0x2cc(%esi),%eax
51301a:	5f                   	pop    %edi
51301b:	5e                   	pop    %esi
51301c:	89 03                	mov    %eax,(%ebx)
51301e:	b8 01 00 00 00       	mov    $0x1,%eax
513023:	5d                   	pop    %ebp
513024:	5b                   	pop    %ebx
513025:	c3                   	ret
513026:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
51302a:	8d 45 ff             	lea    -0x1(%ebp),%eax
51302d:	83 f8 0f             	cmp    $0xf,%eax
513030:	77 cb                	ja     0x512ffd
513032:	57                   	push   %edi
513033:	e8 18 42 fd ff       	call   0x4e7250
513038:	83 c4 04             	add    $0x4,%esp
51303b:	85 c0                	test   %eax,%eax
51303d:	75 be                	jne    0x512ffd
51303f:	55                   	push   %ebp
513040:	53                   	push   %ebx
513041:	57                   	push   %edi
513042:	e8 69 d0 fd ff       	call   0x4f00b0
513047:	83 c4 04             	add    $0x4,%esp
51304a:	50                   	push   %eax
51304b:	e8 80 fd 0b 00       	call   0x5d2dd0
513050:	83 c4 0c             	add    $0xc,%esp
513053:	89 ae d0 02 00 00    	mov    %ebp,0x2d0(%esi)
513059:	b8 01 00 00 00       	mov    $0x1,%eax
51305e:	5f                   	pop    %edi
51305f:	5e                   	pop    %esi
513060:	5d                   	pop    %ebp
513061:	5b                   	pop    %ebx
513062:	c3                   	ret
513063:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
513067:	8d 45 ff             	lea    -0x1(%ebp),%eax
51306a:	83 f8 0f             	cmp    $0xf,%eax
51306d:	77 8e                	ja     0x512ffd
51306f:	57                   	push   %edi
513070:	e8 db 41 fd ff       	call   0x4e7250
513075:	83 c4 04             	add    $0x4,%esp
513078:	85 c0                	test   %eax,%eax
51307a:	74 81                	je     0x512ffd
51307c:	83 be d0 02 00 00 00 	cmpl   $0x0,0x2d0(%esi)
513083:	0f 8c 74 ff ff ff    	jl     0x512ffd
513089:	55                   	push   %ebp
51308a:	57                   	push   %edi
51308b:	e8 20 d0 fd ff       	call   0x4f00b0
513090:	83 c4 04             	add    $0x4,%esp
513093:	50                   	push   %eax
513094:	53                   	push   %ebx
513095:	e8 36 fd 0b 00       	call   0x5d2dd0
51309a:	83 c4 0c             	add    $0xc,%esp
51309d:	b8 01 00 00 00       	mov    $0x1,%eax
5130a2:	5f                   	pop    %edi
5130a3:	5e                   	pop    %esi
5130a4:	5d                   	pop    %ebp
5130a5:	5b                   	pop    %ebx
5130a6:	c3                   	ret
5130a7:	8b 6c 24 1c          	mov    0x1c(%esp),%ebp
5130ab:	83 fd ff             	cmp    $0xffffffff,%ebp
5130ae:	75 27                	jne    0x5130d7
5130b0:	ff b6 cc 02 00 00    	push   0x2cc(%esi)
5130b6:	53                   	push   %ebx
5130b7:	ff b6 c8 02 00 00    	push   0x2c8(%esi)
5130bd:	e8 0e fd 0b 00       	call   0x5d2dd0
5130c2:	83 c4 0c             	add    $0xc,%esp
5130c5:	c7 86 d4 02 00 00 01 	movl   $0x1,0x2d4(%esi)
5130cc:	00 00 00
5130cf:	8d 45 02             	lea    0x2(%ebp),%eax
5130d2:	5f                   	pop    %edi
5130d3:	5e                   	pop    %esi
5130d4:	5d                   	pop    %ebp
5130d5:	5b                   	pop    %ebx
5130d6:	c3                   	ret
5130d7:	83 fd 04             	cmp    $0x4,%ebp
5130da:	0f 8c 1d ff ff ff    	jl     0x512ffd
5130e0:	8b 86 cc 02 00 00    	mov    0x2cc(%esi),%eax
5130e6:	2b c5                	sub    %ebp,%eax
5130e8:	83 f8 08             	cmp    $0x8,%eax
5130eb:	0f 8c 0c ff ff ff    	jl     0x512ffd
5130f1:	55                   	push   %ebp
5130f2:	53                   	push   %ebx
5130f3:	ff b6 c8 02 00 00    	push   0x2c8(%esi)
5130f9:	e8 d2 fc 0b 00       	call   0x5d2dd0
5130fe:	57                   	push   %edi
5130ff:	e8 4c 41 fd ff       	call   0x4e7250
513104:	83 c4 10             	add    $0x10,%esp
513107:	85 c0                	test   %eax,%eax
513109:	74 22                	je     0x51312d
51310b:	8b 86 cc 02 00 00    	mov    0x2cc(%esi),%eax
513111:	2b c5                	sub    %ebp,%eax
513113:	50                   	push   %eax
513114:	8b 86 c8 02 00 00    	mov    0x2c8(%esi),%eax
51311a:	03 c5                	add    %ebp,%eax
51311c:	50                   	push   %eax
51311d:	e8 2e e1 fc ff       	call   0x4e1250
513122:	83 c4 08             	add    $0x8,%esp
513125:	85 c0                	test   %eax,%eax
513127:	0f 8e d0 fe ff ff    	jle    0x512ffd
51312d:	5f                   	pop    %edi
51312e:	c7 86 d4 02 00 00 01 	movl   $0x1,0x2d4(%esi)
513135:	00 00 00
513138:	b8 01 00 00 00       	mov    $0x1,%eax
51313d:	5e                   	pop    %esi
51313e:	5d                   	pop    %ebp
51313f:	5b                   	pop    %ebx
513140:	c3                   	ret
513141:	83 be d4 02 00 00 00 	cmpl   $0x0,0x2d4(%esi)
513148:	0f 84 af fe ff ff    	je     0x512ffd
51314e:	83 be 18 01 00 00 00 	cmpl   $0x0,0x118(%esi)
513155:	0f 84 a2 fe ff ff    	je     0x512ffd
51315b:	ff b6 cc 02 00 00    	push   0x2cc(%esi)
513161:	8d 86 20 01 00 00    	lea    0x120(%esi),%eax
513167:	ff b6 c8 02 00 00    	push   0x2c8(%esi)
51316d:	50                   	push   %eax
51316e:	e8 2d 18 fe ff       	call   0x4f49a0
513173:	8b 54 24 28          	mov    0x28(%esp),%edx
513177:	83 c4 0c             	add    $0xc,%esp
51317a:	8b 8e cc 02 00 00    	mov    0x2cc(%esi),%ecx
513180:	85 d2                	test   %edx,%edx
513182:	7e 04                	jle    0x513188
513184:	3b d1                	cmp    %ecx,%edx
513186:	7e 02                	jle    0x51318a
513188:	8b d1                	mov    %ecx,%edx
51318a:	8b 86 c8 02 00 00    	mov    0x2c8(%esi),%eax
513190:	2b c2                	sub    %edx,%eax
513192:	52                   	push   %edx
513193:	03 c1                	add    %ecx,%eax
513195:	50                   	push   %eax
513196:	53                   	push   %ebx
513197:	e8 34 fc 0b 00       	call   0x5d2dd0
51319c:	8b 96 cc 02 00 00    	mov    0x2cc(%esi),%edx
5131a2:	83 c4 0c             	add    $0xc,%esp
5131a5:	03 96 c8 02 00 00    	add    0x2c8(%esi),%edx
5131ab:	b9 08 00 00 00       	mov    $0x8,%ecx
5131b0:	49                   	dec    %ecx
5131b1:	80 44 11 f8 01       	addb   $0x1,-0x8(%ecx,%edx,1)
5131b6:	75 04                	jne    0x5131bc
5131b8:	85 c9                	test   %ecx,%ecx
5131ba:	75 f4                	jne    0x5131b0
5131bc:	5f                   	pop    %edi
5131bd:	c7 86 1c 01 00 00 01 	movl   $0x1,0x11c(%esi)
5131c4:	00 00 00
5131c7:	b8 01 00 00 00       	mov    $0x1,%eax
5131cc:	5e                   	pop    %esi
5131cd:	5d                   	pop    %ebp
5131ce:	5b                   	pop    %ebx
5131cf:	c3                   	ret
5131d0:	83 be d4 02 00 00 00 	cmpl   $0x0,0x2d4(%esi)
5131d7:	0f 84 20 fe ff ff    	je     0x512ffd
5131dd:	83 be 18 01 00 00 00 	cmpl   $0x0,0x118(%esi)
5131e4:	0f 84 13 fe ff ff    	je     0x512ffd
5131ea:	57                   	push   %edi
5131eb:	e8 60 40 fd ff       	call   0x4e7250
5131f0:	83 c4 04             	add    $0x4,%esp
5131f3:	85 c0                	test   %eax,%eax
5131f5:	0f 85 02 fe ff ff    	jne    0x512ffd
5131fb:	8b 4c 24 1c          	mov    0x1c(%esp),%ecx
5131ff:	8b 86 cc 02 00 00    	mov    0x2cc(%esi),%eax
513205:	51                   	push   %ecx
513206:	2b c1                	sub    %ecx,%eax
513208:	03 86 c8 02 00 00    	add    0x2c8(%esi),%eax
51320e:	53                   	push   %ebx
51320f:	50                   	push   %eax
513210:	e8 bb fb 0b 00       	call   0x5d2dd0
513215:	ff b6 cc 02 00 00    	push   0x2cc(%esi)
51321b:	8d 86 20 01 00 00    	lea    0x120(%esi),%eax
513221:	ff b6 c8 02 00 00    	push   0x2c8(%esi)
513227:	50                   	push   %eax
513228:	e8 73 17 fe ff       	call   0x4f49a0
51322d:	83 c4 18             	add    $0x18,%esp
513230:	c7 86 1c 01 00 00 01 	movl   $0x1,0x11c(%esi)
513237:	00 00 00
51323a:	b8 01 00 00 00       	mov    $0x1,%eax
51323f:	5f                   	pop    %edi
513240:	5e                   	pop    %esi
513241:	5d                   	pop    %ebp
513242:	5b                   	pop    %ebx
513243:	c3                   	ret
513244:	83 7c 24 1c 0d       	cmpl   $0xd,0x1c(%esp)
513249:	0f 85 ae fd ff ff    	jne    0x512ffd
51324f:	57                   	push   %edi
513250:	e8 5b ce fd ff       	call   0x4f00b0
513255:	f3 0f 7e 03          	movq   (%ebx),%xmm0
513259:	57                   	push   %edi
51325a:	66 0f d6 00          	movq   %xmm0,(%eax)
51325e:	8b 4b 08             	mov    0x8(%ebx),%ecx
513261:	89 48 08             	mov    %ecx,0x8(%eax)
513264:	8a 4b 0c             	mov    0xc(%ebx),%cl
513267:	88 48 0c             	mov    %cl,0xc(%eax)
51326a:	c7 86 d8 02 00 00 0d 	movl   $0xd,0x2d8(%esi)
513271:	00 00 00
513274:	e8 37 ce fd ff       	call   0x4f00b0
513279:	57                   	push   %edi
51327a:	0f b6 70 0b          	movzbl 0xb(%eax),%esi