595cda:	0f 84 c4 00 00 00    	je     0x595da4
595ce0:	83 be f4 05 00 00 04 	cmpl   $0x4,0x5f4(%esi)
595ce7:	c7 46 64 00 00 00 00 	movl   $0x0,0x64(%esi)
595cee:	74 07                	je     0x595cf7
595cf0:	c7 46 54 01 00 00 00 	movl   $0x1,0x54(%esi)
595cf7:	8b 4e 04             	mov    0x4(%esi),%ecx
595cfa:	8b 41 64             	mov    0x64(%ecx),%eax
595cfd:	f6 40 30 08          	testb  $0x8,0x30(%eax)
595d01:	0f 85 9d 00 00 00    	jne    0x595da4
595d07:	8b 01                	mov    (%ecx),%eax
595d09:	3d 04 03 00 00       	cmp    $0x304,%eax
595d0e:	0f 8c 90 00 00 00    	jl     0x595da4
595d14:	3d 00 00 01 00       	cmp    $0x10000,%eax
595d19:	0f 84 85 00 00 00    	je     0x595da4
595d1f:	83 be 08 06 00 00 00 	cmpl   $0x0,0x608(%esi)
595d26:	75 7c                	jne    0x595da4
595d28:	6a 01                	push   $0x1
595d2a:	56                   	push   %esi
595d2b:	e8 50 d4 00 00       	call   0x5a3180
595d30:	83 c4 08             	add    $0x8,%esp
595d33:	85 c0                	test   %eax,%eax
595d35:	0f 84 b7 00 00 00    	je     0x595df2
595d3b:	e8 d0 53 f8 ff       	call   0x51b110
595d40:	8b c8                	mov    %eax,%ecx
595d42:	89 8e 08 06 00 00    	mov    %ecx,0x608(%esi)
595d48:	85 c9                	test   %ecx,%ecx
595d4a:	75 21                	jne    0x595d6d
595d4c:	68 5a 09 00 00       	push   $0x95a
595d51:	68 e0 71 66 00       	push   $0x6671e0
595d56:	6a 44                	push   $0x44
595d58:	68 6a 02 00 00       	push   $0x26a
595d5d:	6a 50                	push   $0x50
595d5f:	56                   	push   %esi
595d60:	e8 ab 93 ff ff       	call   0x58f110
595d65:	83 c4 18             	add    $0x18,%esp
595d68:	33 c0                	xor    %eax,%eax
595d6a:	5f                   	pop    %edi
595d6b:	5e                   	pop    %esi
595d6c:	c3                   	ret
595d6d:	8b 46 7c             	mov    0x7c(%esi),%eax
595d70:	ff b0 d8 00 00 00    	push   0xd8(%eax)
595d76:	51                   	push   %ecx
595d77:	e8 e4 51 f8 ff       	call   0x51af60
595d7c:	83 c4 08             	add    $0x8,%esp
595d7f:	85 c0                	test   %eax,%eax
595d81:	75 21                	jne    0x595da4
595d83:	68 61 09 00 00       	push   $0x961
595d88:	68 e0 71 66 00       	push   $0x6671e0
595d8d:	6a 44                	push   $0x44
595d8f:	68 6a 02 00 00       	push   $0x26a
595d94:	6a 50                	push   $0x50
595d96:	56                   	push   %esi
595d97:	e8 74 93 ff ff       	call   0x58f110
595d9c:	83 c4 18             	add    $0x18,%esp
595d9f:	33 c0                	xor    %eax,%eax
595da1:	5f                   	pop    %edi
595da2:	5e                   	pop    %esi
595da3:	c3                   	ret
595da4:	8b 4e 04             	mov    0x4(%esi),%ecx
595da7:	8b 41 64             	mov    0x64(%ecx),%eax
595daa:	f6 40 30 08          	testb  $0x8,0x30(%eax)
595dae:	75 47                	jne    0x595df7
595db0:	8b 01                	mov    (%ecx),%eax
595db2:	3d 04 03 00 00       	cmp    $0x304,%eax
595db7:	7c 3e                	jl     0x595df7
595db9:	3d 00 00 01 00       	cmp    $0x10000,%eax
595dbe:	74 37                	je     0x595df7
595dc0:	8d 86 50 06 00 00    	lea    0x650(%esi),%eax
595dc6:	50                   	push   %eax
595dc7:	e8 d4 b5 ff ff       	call   0x5913a0
595dcc:	83 c4 04             	add    $0x4,%esp
595dcf:	85 c0                	test   %eax,%eax
595dd1:	74 24                	je     0x595df7
595dd3:	68 15 03 00 00       	push   $0x315
595dd8:	68 e0 71 66 00       	push   $0x6671e0
595ddd:	68 b6 00 00 00       	push   $0xb6
595de2:	68 6c 01 00 00       	push   $0x16c
595de7:	6a 0a                	push   $0xa
595de9:	56                   	push   %esi
595dea:	e8 21 93 ff ff       	call   0x58f110
595def:	83 c4 18             	add    $0x18,%esp
595df2:	5f                   	pop    %edi
595df3:	33 c0                	xor    %eax,%eax
595df5:	5e                   	pop    %esi
595df6:	c3                   	ret
595df7:	8b 4e 04             	mov    0x4(%esi),%ecx
595dfa:	8b 41 64             	mov    0x64(%ecx),%eax
595dfd:	f6 40 30 08          	testb  $0x8,0x30(%eax)
595e01:	75 10                	jne    0x595e13
595e03:	8b 01                	mov    (%ecx),%eax
595e05:	3d 04 03 00 00       	cmp    $0x304,%eax
595e0a:	7c 07                	jl     0x595e13
595e0c:	3d 00 00 01 00       	cmp    $0x10000,%eax
595e11:	75 1d                	jne    0x595e30
595e13:	8b 46 7c             	mov    0x7c(%esi),%eax
595e16:	83 b8 dc 00 00 00 00 	cmpl   $0x0,0xdc(%eax)
595e1d:	75 11                	jne    0x595e30
595e1f:	68 1c 03 00 00       	push   $0x31c
595e24:	68 e0 71 66 00       	push   $0x6671e0
595e29:	68 9a 00 00 00       	push   $0x9a
595e2e:	eb b2                	jmp    0x595de2
595e30:	8b 46 7c             	mov    0x7c(%esi),%eax
595e33:	8b 4c 24 10          	mov    0x10(%esp),%ecx
595e37:	c7 80 dc 00 00 00 00 	movl   $0x0,0xdc(%eax)
595e3e:	00 00 00
595e41:	8b 46 7c             	mov    0x7c(%esi),%eax
595e44:	8b b8 04 02 00 00    	mov    0x204(%eax),%edi
595e4a:	3b 79 04             	cmp    0x4(%ecx),%edi
595e4d:	74 21                	je     0x595e70
595e4f:	68 25 03 00 00       	push   $0x325
595e54:	68 e0 71 66 00       	push   $0x6671e0
595e59:	6a 6f                	push   $0x6f
595e5b:	68 6c 01 00 00       	push   $0x16c
595e60:	6a 32                	push   $0x32
595e62:	56                   	push   %esi
595e63:	e8 a8 92 ff ff       	call   0x58f110
595e68:	83 c4 18             	add    $0x18,%esp
595e6b:	33 c0                	xor    %eax,%eax
595e6d:	5f                   	pop    %edi
595e6e:	5e                   	pop    %esi
595e6f:	c3                   	ret
595e70:	57                   	push   %edi
595e71:	05 84 01 00 00       	add    $0x184,%eax
595e76:	50                   	push   %eax
595e77:	ff 31                	push   (%ecx)
595e79:	e8 d2 bb e6 ff       	call   0x401a50
595e7e:	83 c4 0c             	add    $0xc,%esp
595e81:	85 c0                	test   %eax,%eax
595e83:	74 24                	je     0x595ea9
595e85:	68 2c 03 00 00       	push   $0x32c
595e8a:	68 e0 71 66 00       	push   $0x6671e0
595e8f:	68 95 00 00 00       	push   $0x95
595e94:	68 6c 01 00 00       	push   $0x16c
595e99:	6a 33                	push   $0x33
595e9b:	56                   	push   %esi
595e9c:	e8 6f 92 ff ff       	call   0x58f110
595ea1:	83 c4 18             	add    $0x18,%esp
595ea4:	33 c0                	xor    %eax,%eax
595ea6:	5f                   	pop    %edi
595ea7:	5e                   	pop    %esi
595ea8:	c3                   	ret
595ea9:	83 ff 40             	cmp    $0x40,%edi
595eac:	76 21                	jbe    0x595ecf
595eae:	68 35 03 00 00       	push   $0x335
595eb3:	68 e0 71 66 00       	push   $0x6671e0
595eb8:	6a 44                	push   $0x44
595eba:	68 6c 01 00 00       	push   $0x16c
595ebf:	6a 50                	push   $0x50
595ec1:	56                   	push   %esi
595ec2:	e8 49 92 ff ff       	call   0x58f110
595ec7:	83 c4 18             	add    $0x18,%esp
595eca:	33 c0                	xor    %eax,%eax
595ecc:	5f                   	pop    %edi
595ecd:	5e                   	pop    %esi
595ece:	c3                   	ret
595ecf:	83 7e 1c 00          	cmpl   $0x0,0x1c(%esi)
595ed3:	8b 46 7c             	mov    0x7c(%esi),%eax
595ed6:	57                   	push   %edi
595ed7:	8d 88 84 01 00 00    	lea    0x184(%eax),%ecx
595edd:	51                   	push   %ecx
595ede:	74 16                	je     0x595ef6
595ee0:	05 b0 02 00 00       	add    $0x2b0,%eax
595ee5:	50                   	push   %eax
595ee6:	e8 e5 ce 03 00       	call   0x5d2dd0
595eeb:	8b 46 7c             	mov    0x7c(%esi),%eax
595eee:	89 b8 f0 02 00 00    	mov    %edi,0x2f0(%eax)
595ef4:	eb 14                	jmp    0x595f0a
595ef6:	05 f4 02 00 00       	add    $0x2f4,%eax
595efb:	50                   	push   %eax
595efc:	e8 cf ce 03 00       	call   0x5d2dd0
595f01:	8b 46 7c             	mov    0x7c(%esi),%eax
595f04:	89 b8 34 03 00 00    	mov    %edi,0x334(%eax)
595f0a:	8b 46 04             	mov    0x4(%esi),%eax
595f0d:	83 c4 0c             	add    $0xc,%esp
595f10:	8b 48 64             	mov    0x64(%eax),%ecx
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