595f13:	f6 41 30 08          	testb  $0x8,0x30(%ecx)
595f17:	0f 85 82 00 00 00    	jne    0x595f9f
595f1d:	8b 00                	mov    (%eax),%eax
595f1f:	3d 04 03 00 00       	cmp    $0x304,%eax
595f24:	7c 79                	jl     0x595f9f
595f26:	3d 00 00 01 00       	cmp    $0x10000,%eax
595f2b:	74 72                	je     0x595f9f
595f2d:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
595f31:	74 19                	je     0x595f4c
595f33:	83 be f4 05 00 00 04 	cmpl   $0x4,0x5f4(%esi)
595f3a:	74 63                	je     0x595f9f
595f3c:	8b 41 10             	mov    0x10(%ecx),%eax
595f3f:	68 21 01 00 00       	push   $0x121
595f44:	56                   	push   %esi
595f45:	ff d0                	call   *%eax
595f47:	83 c4 08             	add    $0x8,%esp
595f4a:	eb 4b                	jmp    0x595f97
595f4c:	8d 44 24 0c          	lea    0xc(%esp),%eax
595f50:	50                   	push   %eax
595f51:	6a 00                	push   $0x0
595f53:	8d 86 0c 01 00 00    	lea    0x10c(%esi),%eax
595f59:	50                   	push   %eax
595f5a:	8d 86 4c 01 00 00    	lea    0x14c(%esi),%eax
595f60:	50                   	push   %eax
595f61:	8b 41 0c             	mov    0xc(%ecx),%eax
595f64:	56                   	push   %esi
595f65:	ff d0                	call   *%eax
595f67:	83 c4 14             	add    $0x14,%esp
595f6a:	85 c0                	test   %eax,%eax
595f6c:	0f 84 80 fe ff ff    	je     0x595df2
595f72:	8b 46 04             	mov    0x4(%esi),%eax
595f75:	68 11 01 00 00       	push   $0x111
595f7a:	56                   	push   %esi
595f7b:	8b 40 64             	mov    0x64(%eax),%eax
595f7e:	8b 40 10             	mov    0x10(%eax),%eax
595f81:	ff d0                	call   *%eax
595f83:	83 c4 08             	add    $0x8,%esp
595f86:	85 c0                	test   %eax,%eax
595f88:	0f 84 64 fe ff ff    	je     0x595df2
595f8e:	56                   	push   %esi
595f8f:	e8 ec 57 01 00       	call   0x5ab780
595f94:	83 c4 04             	add    $0x4,%esp
595f97:	85 c0                	test   %eax,%eax
595f99:	0f 84 53 fe ff ff    	je     0x595df2
595f9f:	5f                   	pop    %edi
595fa0:	b8 01 00 00 00       	mov    $0x1,%eax
595fa5:	5e                   	pop    %esi
595fa6:	c3                   	ret
595fa7:	cc                   	int3
595fa8:	cc                   	int3
595fa9:	cc                   	int3
595faa:	cc                   	int3
595fab:	cc                   	int3
595fac:	cc                   	int3
595fad:	cc                   	int3
595fae:	cc                   	int3
595faf:	cc                   	int3
595fb0:	56                   	push   %esi
595fb1:	8b 74 24 08          	mov    0x8(%esp),%esi
595fb5:	8d 86 50 06 00 00    	lea    0x650(%esi),%eax
595fbb:	50                   	push   %eax
595fbc:	e8 df b3 ff ff       	call   0x5913a0
595fc1:	83 c4 04             	add    $0x4,%esp
595fc4:	85 c0                	test   %eax,%eax
595fc6:	74 23                	je     0x595feb
595fc8:	68 79 02 00 00       	push   $0x279
595fcd:	68 e0 71 66 00       	push   $0x6671e0
595fd2:	68 b6 00 00 00       	push   $0xb6
595fd7:	68 06 02 00 00       	push   $0x206
595fdc:	6a 0a                	push   $0xa
595fde:	56                   	push   %esi
595fdf:	e8 2c 91 ff ff       	call   0x58f110
595fe4:	83 c4 18             	add    $0x18,%esp
595fe7:	33 c0                	xor    %eax,%eax
595fe9:	5e                   	pop    %esi
595fea:	c3                   	ret
595feb:	8b 4c 24 0c          	mov    0xc(%esp),%ecx
595fef:	57                   	push   %edi
595ff0:	8b 79 04             	mov    0x4(%ecx),%edi
595ff3:	85 ff                	test   %edi,%edi
595ff5:	74 59                	je     0x596050
595ff7:	8b 01                	mov    (%ecx),%eax
595ff9:	8a 10                	mov    (%eax),%dl
595ffb:	40                   	inc    %eax
595ffc:	89 01                	mov    %eax,(%ecx)
595ffe:	8d 47 ff             	lea    -0x1(%edi),%eax
596001:	89 41 04             	mov    %eax,0x4(%ecx)
596004:	85 c0                	test   %eax,%eax
596006:	75 48                	jne    0x596050
596008:	84 d2                	test   %dl,%dl
59600a:	74 30                	je     0x59603c
59600c:	80 fa 01             	cmp    $0x1,%dl
59600f:	74 21                	je     0x596032
596011:	68 8b 02 00 00       	push   $0x28b
596016:	68 e0 71 66 00       	push   $0x6671e0
59601b:	6a 7a                	push   $0x7a
59601d:	68 06 02 00 00       	push   $0x206
596022:	6a 2f                	push   $0x2f
596024:	56                   	push   %esi
596025:	e8 e6 90 ff ff       	call   0x58f110
59602a:	83 c4 18             	add    $0x18,%esp
59602d:	33 c0                	xor    %eax,%eax
59602f:	5f                   	pop    %edi
596030:	5e                   	pop    %esi
596031:	c3                   	ret
596032:	c7 86 f0 05 00 00 00 	movl   $0x0,0x5f0(%esi)
596039:	00 00 00
59603c:	6a 00                	push   $0x0
59603e:	56                   	push   %esi
59603f:	e8 dc 15 00 00       	call   0x597620
596044:	83 c4 08             	add    $0x8,%esp
596047:	f7 d8                	neg    %eax
596049:	1b c0                	sbb    %eax,%eax
59604b:	f7 d8                	neg    %eax
59604d:	5f                   	pop    %edi
59604e:	5e                   	pop    %esi
59604f:	c3                   	ret
596050:	68 80 02 00 00       	push   $0x280
596055:	68 e0 71 66 00       	push   $0x6671e0
59605a:	6a 7a                	push   $0x7a
59605c:	68 06 02 00 00       	push   $0x206
596061:	6a 32                	push   $0x32
596063:	56                   	push   %esi
596064:	e8 a7 90 ff ff       	call   0x58f110
596069:	83 c4 18             	add    $0x18,%esp
59606c:	33 c0                	xor    %eax,%eax
59606e:	5f                   	pop    %edi
59606f:	5e                   	pop    %esi
596070:	c3                   	ret
596071:	cc                   	int3
596072:	cc                   	int3
596073:	cc                   	int3
596074:	cc                   	int3
596075:	cc                   	int3
596076:	cc                   	int3
596077:	cc                   	int3
596078:	cc                   	int3
596079:	cc                   	int3
59607a:	cc                   	int3
59607b:	cc                   	int3
59607c:	cc                   	int3
59607d:	cc                   	int3
59607e:	cc                   	int3
59607f:	cc                   	int3
596080:	b8 08 00 00 00       	mov    $0x8,%eax
596085:	e8 26 b7 03 00       	call   0x5d17b0
59608a:	56                   	push   %esi
59608b:	8b 74 24 10          	mov    0x10(%esp),%esi
59608f:	56                   	push   %esi
596090:	e8 6b d9 00 00       	call   0x5a3a00
596095:	83 c4 04             	add    $0x4,%esp
596098:	85 c0                	test   %eax,%eax
59609a:	75 05                	jne    0x5960a1
59609c:	5e                   	pop    %esi
59609d:	83 c4 08             	add    $0x8,%esp
5960a0:	c3                   	ret
5960a1:	0f 57 c0             	xorps  %xmm0,%xmm0
5960a4:	0f 11 86 14 05 00 00 	movups %xmm0,0x514(%esi)
5960ab:	53                   	push   %ebx
5960ac:	66 0f d6 86 24 05 00 	movq   %xmm0,0x524(%esi)
5960b3:	00
5960b4:	55                   	push   %ebp
5960b5:	66 c7 86 2c 05 00 00 	movw   $0x0,0x52c(%esi)
5960bc:	00 00
5960be:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
5960c2:	57                   	push   %edi
5960c3:	0f 84 68 01 00 00    	je     0x596231
5960c9:	56                   	push   %esi
5960ca:	e8 d1 33 ff ff       	call   0x5894a0
5960cf:	8b e8                	mov    %eax,%ebp
5960d1:	8d 44 24 14          	lea    0x14(%esp),%eax
5960d5:	6a 00                	push   $0x0
5960d7:	50                   	push   %eax
5960d8:	8d 44 24 20          	lea    0x20(%esp),%eax
5960dc:	50                   	push   %eax
5960dd:	56                   	push   %esi
5960de:	e8 6d e5 ff ff       	call   0x594650
5960e3:	83 c4 14             	add    $0x14,%esp
5960e6:	85 c0                	test   %eax,%eax
5960e8:	74 23                	je     0x59610d
5960ea:	6a 6e                	push   $0x6e
5960ec:	68 e0 71 66 00       	push   $0x6671e0
5960f1:	6a 44                	push   $0x44
5960f3:	68 fc 01 00 00       	push   $0x1fc
5960f8:	6a 50                	push   $0x50
5960fa:	56                   	push   %esi
5960fb:	e8 10 90 ff ff       	call   0x58f110
596100:	83 c4 18             	add    $0x18,%esp
596103:	33 c0                	xor    %eax,%eax
596105:	5f                   	pop    %edi
596106:	5d                   	pop    %ebp
596107:	5b                   	pop    %ebx
596108:	5e                   	pop    %esi
596109:	83 c4 08             	add    $0x8,%esp
59610c:	c3                   	ret
59610d:	55                   	push   %ebp
59610e:	33 ff                	xor    %edi,%edi
596110:	e8 ab ef f4 ff       	call   0x4e50c0
596115:	83 c4 04             	add    $0x4,%esp
596118:	85 c0                	test   %eax,%eax
59611a:	0f 8e bd 00 00 00    	jle    0x5961dd
596120:	8b 5c 24 10          	mov    0x10(%esp),%ebx
596124:	c7 44 24 14 00 ff 00 	movl   $0xff00,0x14(%esp)
59612b:	00
59612c:	0f 1f 40 00          	nopl   0x0(%eax)
596130:	57                   	push   %edi
596131:	55                   	push   %ebp
596132:	e8 49 f1 f4 ff       	call   0x4e5280
596137:	8b 4e 04             	mov    0x4(%esi),%ecx
59613a:	83 c4 08             	add    $0x8,%esp
59613d:	8b 49 64             	mov    0x64(%ecx),%ecx
596140:	f6 41 30 08          	testb  $0x8,0x30(%ecx)
596144:	74 7b                	je     0x5961c1
596146:	8b 48 28             	mov    0x28(%eax),%ecx
596149:	ba 00 ff 00 00       	mov    $0xff00,%edx
59614e:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
596154:	0f 44 ca             	cmove  %edx,%ecx
596157:	81 fb 00 01 00 00    	cmp    $0x100,%ebx
59615d:	8b d3                	mov    %ebx,%edx
59615f:	0f 44 54 24 14       	cmove  0x14(%esp),%edx
596164:	3b d1                	cmp    %ecx,%edx
596166:	7f 63                	jg     0x5961cb
596168:	8b 40 2c             	mov    0x2c(%eax),%eax
59616b:	b9 00 ff 00 00       	mov    $0xff00,%ecx
596170:	3d 00 01 00 00       	cmp    $0x100,%eax
596175:	0f 44 c1             	cmove  %ecx,%eax
596178:	3b d0                	cmp    %eax,%edx
59617a:	7c 4f                	jl     0x5961cb
59617c:	8b 46 7c             	mov    0x7c(%esi),%eax
59617f:	83 b8 80 01 00 00 00 	cmpl   $0x0,0x180(%eax)
596186:	0f 84 86 00 00 00    	je     0x596212
59618c:	83 b8 04 02 00 00 00 	cmpl   $0x0,0x204(%eax)
596193:	74 7d                	je     0x596212
596195:	8b 86 d0 04 00 00    	mov    0x4d0(%esi),%eax
59619b:	b9 01 00 00 00       	mov    $0x1,%ecx
5961a0:	83 c0 48             	add    $0x48,%eax
5961a3:	f0 0f c1 08          	lock xadd %ecx,(%eax)
5961a7:	8b 46 7c             	mov    0x7c(%esi),%eax
5961aa:	5f                   	pop    %edi
5961ab:	5d                   	pop    %ebp
5961ac:	5b                   	pop    %ebx
5961ad:	c7 80 44 02 00 00 00 	movl   $0x0,0x244(%eax)
5961b4:	00 00 00
5961b7:	b8 01 00 00 00       	mov    $0x1,%eax
5961bc:	5e                   	pop    %esi
5961bd:	83 c4 08             	add    $0x8,%esp
5961c0:	c3                   	ret
5961c1:	3b 58 20             	cmp    0x20(%eax),%ebx
5961c4:	7c 05                	jl     0x5961cb
5961c6:	3b 58 24             	cmp    0x24(%eax),%ebx
5961c9:	7e b1                	jle    0x59617c
5961cb:	55                   	push   %ebp
5961cc:	47                   	inc    %edi
5961cd:	e8 ee ee f4 ff       	call   0x4e50c0
5961d2:	83 c4 04             	add    $0x4,%esp
5961d5:	3b f8                	cmp    %eax,%edi
5961d7:	0f 8c 53 ff ff ff    	jl     0x596130
5961dd:	68 80 00 00 00       	push   $0x80
5961e2:	68 e0 71 66 00       	push   $0x6671e0
5961e7:	68 b5 00 00 00       	push   $0xb5
5961ec:	68 fc 01 00 00       	push   $0x1fc
5961f1:	6a 28                	push   $0x28
5961f3:	56                   	push   %esi
5961f4:	e8 17 8f ff ff       	call   0x58f110
5961f9:	68 f8 71 66 00       	push   $0x6671f8
5961fe:	6a 01                	push   $0x1
596200:	e8 6b 24 f4 ff       	call   0x4d8670
596205:	83 c4 20             	add    $0x20,%esp
596208:	33 c0                	xor    %eax,%eax
59620a:	5f                   	pop    %edi
59620b:	5d                   	pop    %ebp
59620c:	5b                   	pop    %ebx
59620d:	5e                   	pop    %esi
59620e:	83 c4 08             	add    $0x8,%esp
596211:	c3                   	ret
596212:	8b 86 e0 05 00 00    	mov    0x5e0(%esi),%eax
596218:	b9 01 00 00 00       	mov    $0x1,%ecx
59621d:	83 c0 44             	add    $0x44,%eax
596220:	f0 0f c1 08          	lock xadd %ecx,(%eax)
596224:	5f                   	pop    %edi
596225:	5d                   	pop    %ebp
596226:	5b                   	pop    %ebx
596227:	b8 01 00 00 00       	mov    $0x1,%eax
59622c:	5e                   	pop    %esi
59622d:	83 c4 08             	add    $0x8,%esp
596230:	c3                   	ret
596231:	8b 46 7c             	mov    0x7c(%esi),%eax
596234:	83 b8 80 01 00 00 00 	cmpl   $0x0,0x180(%eax)
59623b:	74 14                	je     0x596251
59623d:	83 b8 04 02 00 00 00 	cmpl   $0x0,0x204(%eax)
596244:	74 0b                	je     0x596251
596246:	8b 8e e0 05 00 00    	mov    0x5e0(%esi),%ecx
59624c:	83 c1 3c             	add    $0x3c,%ecx
59624f:	eb 09                	jmp    0x59625a
596251:	8b 8e e0 05 00 00    	mov    0x5e0(%esi),%ecx
596257:	83 c1 38             	add    $0x38,%ecx
59625a:	b8 01 00 00 00       	mov    $0x1,%eax
59625f:	f0 0f c1 01          	lock xadd %eax,(%ecx)
596263:	8b 46 7c             	mov    0x7c(%esi),%eax
596266:	0f 11 80 ac 00 00 00 	movups %xmm0,0xac(%eax)
59626d:	0f 11 80 bc 00 00 00 	movups %xmm0,0xbc(%eax)
596274:	8b 4e 7c             	mov    0x7c(%esi),%ecx
596277:	c7 86 8c 00 00 00 00 	movl   $0x0,0x8c(%esi)
59627e:	00 00 00
596281:	c7 81 18 02 00 00 00 	movl   $0x0,0x218(%ecx)
596288:	00 00 00
59628b:	8b 4e 04             	mov    0x4(%esi),%ecx
59628e:	8b 49 64             	mov    0x64(%ecx),%ecx
596291:	f6 41 30 08          	testb  $0x8,0x30(%ecx)
596295:	74 07                	je     0x59629e
596297:	c7 46 5c 01 00 00 00 	movl   $0x1,0x5c(%esi)
59629e:	5f                   	pop    %edi
59629f:	5d                   	pop    %ebp
5962a0:	5b                   	pop    %ebx
5962a1:	b8 01 00 00 00       	mov    $0x1,%eax
5962a6:	5e                   	pop    %esi
5962a7:	83 c4 08             	add    $0x8,%esp
5962aa:	c3                   	ret
5962ab:	cc                   	int3
5962ac:	cc                   	int3
5962ad:	cc                   	int3
5962ae:	cc                   	int3
5962af:	cc                   	int3
5962b0:	8b 4c 24 08          	mov    0x8(%esp),%ecx
5962b4:	8b 54 24 0c          	mov    0xc(%esp),%edx
5962b8:	3b ca                	cmp    %edx,%ecx
5962ba:	75 03                	jne    0x5962bf
5962bc:	33 c0                	xor    %eax,%eax
5962be:	c3                   	ret
5962bf:	8b 44 24 04          	mov    0x4(%esp),%eax
5962c3:	8b 40 04             	mov    0x4(%eax),%eax
5962c6:	8b 40 64             	mov    0x64(%eax),%eax
5962c9:	f6 40 30 08          	testb  $0x8,0x30(%eax)
5962cd:	75 0f                	jne    0x5962de
5962cf:	33 c0                	xor    %eax,%eax
5962d1:	3b ca                	cmp    %edx,%ecx
5962d3:	0f 9d c0             	setge  %al
5962d6:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
5962dd:	c3                   	ret
5962de:	81 f9 00 01 00 00    	cmp    $0x100,%ecx
5962e4:	b8 00 ff 00 00       	mov    $0xff00,%eax
5962e9:	0f 44 c8             	cmove  %eax,%ecx
5962ec:	81 fa 00 01 00 00    	cmp    $0x100,%edx
5962f2:	0f 44 d0             	cmove  %eax,%edx
5962f5:	33 c0                	xor    %eax,%eax
5962f7:	3b ca                	cmp    %edx,%ecx
5962f9:	0f 9e c0             	setle  %al
5962fc:	8d 04 45 ff ff ff ff 	lea    -0x1(,%eax,2),%eax
596303:	c3                   	ret
596304:	cc                   	int3