5039ac:	83 c4 0c             	add    $0xc,%esp
5039af:	89 73 3c             	mov    %esi,0x3c(%ebx)
5039b2:	89 7b 30             	mov    %edi,0x30(%ebx)
5039b5:	89 4b 20             	mov    %ecx,0x20(%ebx)
5039b8:	c6 03 85             	movb   $0x85,(%ebx)
5039bb:	85 c0                	test   %eax,%eax
5039bd:	75 05                	jne    0x5039c4
5039bf:	8b 45 d0             	mov    -0x30(%ebp),%eax
5039c2:	eb 10                	jmp    0x5039d4
5039c4:	8b 4d d0             	mov    -0x30(%ebp),%ecx
5039c7:	89 48 34             	mov    %ecx,0x34(%eax)
5039ca:	85 c9                	test   %ecx,%ecx
5039cc:	74 03                	je     0x5039d1
5039ce:	89 41 38             	mov    %eax,0x38(%ecx)
5039d1:	89 58 38             	mov    %ebx,0x38(%eax)
5039d4:	8b 7d d4             	mov    -0x2c(%ebp),%edi
5039d7:	89 43 34             	mov    %eax,0x34(%ebx)
5039da:	80 7f 51 00          	cmpb   $0x0,0x51(%edi)
5039de:	0f 85 a8 02 00 00    	jne    0x503c8c
5039e4:	8b 45 d8             	mov    -0x28(%ebp),%eax
5039e7:	8b 40 34             	mov    0x34(%eax),%eax
5039ea:	89 45 d8             	mov    %eax,-0x28(%ebp)
5039ed:	85 c0                	test   %eax,%eax
5039ef:	75 85                	jne    0x503976
5039f1:	eb 03                	jmp    0x5039f6
5039f3:	8b 7d d4             	mov    -0x2c(%ebp),%edi
5039f6:	8b 4d e0             	mov    -0x20(%ebp),%ecx
5039f9:	8b 41 14             	mov    0x14(%ecx),%eax
5039fc:	8b f0                	mov    %eax,%esi
5039fe:	89 45 ac             	mov    %eax,-0x54(%ebp)
503a01:	8b 41 04             	mov    0x4(%ecx),%eax
503a04:	89 75 d8             	mov    %esi,-0x28(%ebp)
503a07:	85 c0                	test   %eax,%eax
503a09:	74 0d                	je     0x503a18
503a0b:	50                   	push   %eax
503a0c:	57                   	push   %edi
503a0d:	e8 5e d9 01 00       	call   0x521370
503a12:	8b 4d e0             	mov    -0x20(%ebp),%ecx
503a15:	83 c4 08             	add    $0x8,%esp
503a18:	8b 41 08             	mov    0x8(%ecx),%eax
503a1b:	85 c0                	test   %eax,%eax
503a1d:	74 0d                	je     0x503a2c
503a1f:	50                   	push   %eax
503a20:	57                   	push   %edi
503a21:	e8 4a d9 01 00       	call   0x521370
503a26:	8b 4d e0             	mov    -0x20(%ebp),%ecx
503a29:	83 c4 08             	add    $0x8,%esp
503a2c:	8b 41 0c             	mov    0xc(%ecx),%eax
503a2f:	85 c0                	test   %eax,%eax
503a31:	74 0d                	je     0x503a40
503a33:	50                   	push   %eax
503a34:	57                   	push   %edi
503a35:	e8 36 d9 01 00       	call   0x521370
503a3a:	8b 4d e0             	mov    -0x20(%ebp),%ecx
503a3d:	83 c4 08             	add    $0x8,%esp
503a40:	8b 51 10             	mov    0x10(%ecx),%edx
503a43:	c7 41 04 00 00 00 00 	movl   $0x0,0x4(%ecx)
503a4a:	c7 41 08 00 00 00 00 	movl   $0x0,0x8(%ecx)
503a51:	c7 41 0c 00 00 00 00 	movl   $0x0,0xc(%ecx)
503a58:	c7 41 14 00 00 00 00 	movl   $0x0,0x14(%ecx)
503a5f:	85 d2                	test   %edx,%edx
503a61:	74 32                	je     0x503a95
503a63:	8b 42 20             	mov    0x20(%edx),%eax
503a66:	83 f8 01             	cmp    $0x1,%eax
503a69:	75 1f                	jne    0x503a8a
503a6b:	8b 4d cc             	mov    -0x34(%ebp),%ecx
503a6e:	8b 41 74             	mov    0x74(%ecx),%eax
503a71:	85 c0                	test   %eax,%eax
503a73:	0f 45 c8             	cmovne %eax,%ecx
503a76:	8b 81 00 01 00 00    	mov    0x100(%ecx),%eax
503a7c:	89 42 4c             	mov    %eax,0x4c(%edx)
503a7f:	89 91 00 01 00 00    	mov    %edx,0x100(%ecx)
503a85:	8b 4d e0             	mov    -0x20(%ebp),%ecx
503a88:	eb 04                	jmp    0x503a8e
503a8a:	48                   	dec    %eax
503a8b:	89 42 20             	mov    %eax,0x20(%edx)
503a8e:	c7 41 10 00 00 00 00 	movl   $0x0,0x10(%ecx)
503a95:	8b 46 20             	mov    0x20(%esi),%eax
503a98:	8b 7b 20             	mov    0x20(%ebx),%edi
503a9b:	c6 45 e7 00          	movb   $0x0,-0x19(%ebp)
503a9f:	89 45 b4             	mov    %eax,-0x4c(%ebp)
503aa2:	8b 08                	mov    (%eax),%ecx
503aa4:	89 4d dc             	mov    %ecx,-0x24(%ebp)
503aa7:	89 7d d0             	mov    %edi,-0x30(%ebp)
503aaa:	85 ff                	test   %edi,%edi
503aac:	74 0b                	je     0x503ab9
503aae:	8b 45 e0             	mov    -0x20(%ebp),%eax
503ab1:	8a 40 24             	mov    0x24(%eax),%al
503ab4:	88 45 e7             	mov    %al,-0x19(%ebp)
503ab7:	eb 5d                	jmp    0x503b16
503ab9:	8b 45 cc             	mov    -0x34(%ebp),%eax
503abc:	6a 00                	push   $0x0
503abe:	6a 50                	push   $0x50
503ac0:	ff 30                	push   (%eax)
503ac2:	e8 19 d9 01 00       	call   0x5213e0
503ac7:	8b f8                	mov    %eax,%edi
503ac9:	89 45 d0             	mov    %eax,-0x30(%ebp)
503acc:	83 c4 0c             	add    $0xc,%esp
503acf:	85 ff                	test   %edi,%edi
503ad1:	0f 84 a7 01 00 00    	je     0x503c7e
503ad7:	6a 48                	push   $0x48
503ad9:	8d 47 08             	lea    0x8(%edi),%eax
503adc:	c7 47 04 01 00 00 00 	movl   $0x1,0x4(%edi)
503ae3:	6a 00                	push   $0x0
503ae5:	50                   	push   %eax
503ae6:	c7 07 01 00 00 00    	movl   $0x1,(%edi)
503aec:	e8 0f ff 0d 00       	call   0x5e3a00
503af1:	8b 4d dc             	mov    -0x24(%ebp),%ecx
503af4:	83 c4 0c             	add    $0xc,%esp
503af7:	c7 47 34 ff ff ff ff 	movl   $0xffffffff,0x34(%edi)
503afe:	8b 07                	mov    (%edi),%eax
503b00:	8d 04 c0             	lea    (%eax,%eax,8),%eax
503b03:	c7 44 c7 c8 00 00 00 	movl   $0x0,-0x38(%edi,%eax,8)
503b0a:	00
503b0b:	c7 44 c7 c4 00 00 00 	movl   $0x0,-0x3c(%edi,%eax,8)
503b12:	00
503b13:	89 7b 20             	mov    %edi,0x20(%ebx)
503b16:	83 f9 01             	cmp    $0x1,%ecx
503b19:	7e 28                	jle    0x503b43
503b1b:	8b 45 b8             	mov    -0x48(%ebp),%eax
503b1e:	40                   	inc    %eax
503b1f:	50                   	push   %eax
503b20:	8d 41 ff             	lea    -0x1(%ecx),%eax
503b23:	50                   	push   %eax
503b24:	57                   	push   %edi
503b25:	ff 75 cc             	push   -0x34(%ebp)
503b28:	e8 53 96 03 00       	call   0x53d180
503b2d:	8b f8                	mov    %eax,%edi
503b2f:	83 c4 10             	add    $0x10,%esp
503b32:	89 7d d0             	mov    %edi,-0x30(%ebp)
503b35:	85 ff                	test   %edi,%edi
503b37:	0f 84 41 01 00 00    	je     0x503c7e
503b3d:	8b 4d dc             	mov    -0x24(%ebp),%ecx
503b40:	89 7b 20             	mov    %edi,0x20(%ebx)
503b43:	85 c9                	test   %ecx,%ecx
503b45:	7e 73                	jle    0x503bba
503b47:	8b 45 bc             	mov    -0x44(%ebp),%eax
503b4a:	8b 75 b4             	mov    -0x4c(%ebp),%esi
503b4d:	83 c0 08             	add    $0x8,%eax
503b50:	8b 5d dc             	mov    -0x24(%ebp),%ebx
503b53:	83 c6 08             	add    $0x8,%esi
503b56:	03 f8                	add    %eax,%edi
503b58:	0f 1f 84 00 00 00 00 	nopl   0x0(%eax,%eax,1)
503b5f:	00
503b60:	ff 77 34             	push   0x34(%edi)
503b63:	ff 75 d4             	push   -0x2c(%ebp)
503b66:	e8 f5 a1 02 00       	call   0x52dd60
503b6b:	0f 10 06             	movups (%esi),%xmm0
503b6e:	6a 48                	push   $0x48
503b70:	6a 00                	push   $0x0
503b72:	0f 11 07             	movups %xmm0,(%edi)
503b75:	56                   	push   %esi
503b76:	0f 10 46 10          	movups 0x10(%esi),%xmm0
503b7a:	0f 11 47 10          	movups %xmm0,0x10(%edi)
503b7e:	0f 10 46 20          	movups 0x20(%esi),%xmm0
503b82:	0f 11 47 20          	movups %xmm0,0x20(%edi)
503b86:	0f 10 46 30          	movups 0x30(%esi),%xmm0
503b8a:	0f 11 47 30          	movups %xmm0,0x30(%edi)
503b8e:	f3 0f 7e 46 40       	movq   0x40(%esi),%xmm0
503b93:	66 0f d6 47 40       	movq   %xmm0,0x40(%edi)
503b98:	8b 46 2c             	mov    0x2c(%esi),%eax
503b9b:	89 45 c8             	mov    %eax,-0x38(%ebp)
503b9e:	e8 5d fe 0d 00       	call   0x5e3a00
503ba3:	83 c4 14             	add    $0x14,%esp
503ba6:	8d 7f 48             	lea    0x48(%edi),%edi
503ba9:	83 c6 48             	add    $0x48,%esi
503bac:	83 eb 01             	sub    $0x1,%ebx
503baf:	75 af                	jne    0x503b60
503bb1:	8b 5d c0             	mov    -0x40(%ebp),%ebx
503bb4:	8b 7d d0             	mov    -0x30(%ebp),%edi
503bb7:	8b 75 d8             	mov    -0x28(%ebp),%esi
503bba:	8b 4d bc             	mov    -0x44(%ebp),%ecx
503bbd:	8a 45 e7             	mov    -0x19(%ebp),%al
503bc0:	88 44 39 2c          	mov    %al,0x2c(%ecx,%edi,1)
503bc4:	8b 56 30             	mov    0x30(%esi),%edx
503bc7:	85 d2                	test   %edx,%edx
503bc9:	74 21                	je     0x503bec
503bcb:	33 c9                	xor    %ecx,%ecx
503bcd:	39 0a                	cmp    %ecx,(%edx)
503bcf:	7e 11                	jle    0x503be2
503bd1:	8d 42 14             	lea    0x14(%edx),%eax
503bd4:	33 ff                	xor    %edi,%edi
503bd6:	8d 40 14             	lea    0x14(%eax),%eax
503bd9:	66 89 78 ec          	mov    %di,-0x14(%eax)
503bdd:	41                   	inc    %ecx
503bde:	3b 0a                	cmp    (%edx),%ecx
503be0:	7c f2                	jl     0x503bd4
503be2:	89 53 30             	mov    %edx,0x30(%ebx)
503be5:	c7 46 30 00 00 00 00 	movl   $0x0,0x30(%esi)
503bec:	83 7d c4 00          	cmpl   $0x0,-0x3c(%ebp)
503bf0:	8b 56 24             	mov    0x24(%esi),%edx
503bf3:	c7 46 24 00 00 00 00 	movl   $0x0,0x24(%esi)
503bfa:	76 0c                	jbe    0x503c08
503bfc:	ff 75 c8             	push   -0x38(%ebp)
503bff:	52                   	push   %edx
503c00:	e8 db 8d 03 00       	call   0x53c9e0
503c05:	83 c4 08             	add    $0x8,%esp
503c08:	ff 73 24             	push   0x24(%ebx)
503c0b:	8b 7d cc             	mov    -0x34(%ebp),%edi
503c0e:	52                   	push   %edx
503c0f:	57                   	push   %edi
503c10:	e8 eb fb 01 00       	call   0x523800
503c15:	89 43 24             	mov    %eax,0x24(%ebx)
503c18:	83 c4 0c             	add    $0xc,%esp
503c1b:	8b 45 d4             	mov    -0x2c(%ebp),%eax
503c1e:	80 78 51 00          	cmpb   $0x0,0x51(%eax)
503c22:	75 2a                	jne    0x503c4e
503c24:	8b 45 b0             	mov    -0x50(%ebp),%eax
503c27:	89 45 ec             	mov    %eax,-0x14(%ebp)
503c2a:	8b 45 c8             	mov    -0x38(%ebp),%eax
503c2d:	89 45 f0             	mov    %eax,-0x10(%ebp)
503c30:	8b 45 c4             	mov    -0x3c(%ebp),%eax
503c33:	89 45 f4             	mov    %eax,-0xc(%ebp)
503c36:	8b 46 1c             	mov    0x1c(%esi),%eax
503c39:	6a 00                	push   $0x0
503c3b:	89 45 f8             	mov    %eax,-0x8(%ebp)
503c3e:	8d 45 e8             	lea    -0x18(%ebp),%eax
503c41:	53                   	push   %ebx
503c42:	50                   	push   %eax
503c43:	89 7d e8             	mov    %edi,-0x18(%ebp)
503c46:	e8 05 44 05 00       	call   0x558050
503c4b:	83 c4 0c             	add    $0xc,%esp
503c4e:	8b 46 04             	mov    0x4(%esi),%eax
503c51:	25 00 01 00 00       	and    $0x100,%eax
503c56:	09 43 04             	or     %eax,0x4(%ebx)
503c59:	8b 46 3c             	mov    0x3c(%esi),%eax
503c5c:	85 c0                	test   %eax,%eax
503c5e:	74 0a                	je     0x503c6a
503c60:	89 43 3c             	mov    %eax,0x3c(%ebx)
503c63:	c7 46 3c 00 00 00 00 	movl   $0x0,0x3c(%esi)
503c6a:	8b 5b 34             	mov    0x34(%ebx),%ebx
503c6d:	8b 76 34             	mov    0x34(%esi),%esi
503c70:	89 5d c0             	mov    %ebx,-0x40(%ebp)
503c73:	89 75 d8             	mov    %esi,-0x28(%ebp)
503c76:	85 db                	test   %ebx,%ebx
503c78:	0f 85 17 fe ff ff    	jne    0x503a95
503c7e:	ff 75 ac             	push   -0x54(%ebp)
503c81:	ff 75 d4             	push   -0x2c(%ebp)
503c84:	e8 07 85 03 00       	call   0x53c190
503c89:	83 c4 08             	add    $0x8,%esp
503c8c:	8b 4d fc             	mov    -0x4(%ebp),%ecx
503c8f:	b8 01 00 00 00       	mov    $0x1,%eax
503c94:	5e                   	pop    %esi
503c95:	5f                   	pop    %edi
503c96:	33 cd                	xor    %ebp,%ecx
503c98:	5b                   	pop    %ebx
503c99:	e8 3c d8 0d 00       	call   0x5e14da
503c9e:	8b e5                	mov    %ebp,%esp
503ca0:	5d                   	pop    %ebp
503ca1:	c3                   	ret
503ca2:	cc                   	int3
503ca3:	cc                   	int3
503ca4:	cc                   	int3
503ca5:	cc                   	int3
503ca6:	cc                   	int3
503ca7:	cc                   	int3
503ca8:	cc                   	int3
503ca9:	cc                   	int3
503caa:	cc                   	int3
503cab:	cc                   	int3
503cac:	cc                   	int3
503cad:	cc                   	int3
503cae:	cc                   	int3
503caf:	cc                   	int3
503cb0:	55                   	push   %ebp
503cb1:	8b ec                	mov    %esp,%ebp
503cb3:	8b 45 0c             	mov    0xc(%ebp),%eax
503cb6:	83 c0 11             	add    $0x11,%eax
503cb9:	83 f8 0a             	cmp    $0xa,%eax
503cbc:	0f 87 89 00 00 00    	ja     0x503d4b
503cc2:	ff 24 85 50 3d 50 00 	jmp    *0x503d50(,%eax,4)
503cc9:	ff 75 10             	push   0x10(%ebp)
503ccc:	ff 75 08             	push   0x8(%ebp)
503ccf:	e8 ac 00 00 00       	call   0x503d80
503cd4:	83 c4 08             	add    $0x8,%esp
503cd7:	5d                   	pop    %ebp
503cd8:	c3                   	ret
503cd9:	8b 45 10             	mov    0x10(%ebp),%eax
503cdc:	85 c0                	test   %eax,%eax
503cde:	74 6b                	je     0x503d4b
503ce0:	50                   	push   %eax
503ce1:	ff 75 08             	push   0x8(%ebp)
503ce4:	e8 87 d6 01 00       	call   0x521370
503ce9:	83 c4 08             	add    $0x8,%esp
503cec:	5d                   	pop    %ebp
503ced:	c3                   	ret
503cee:	8b 45 08             	mov    0x8(%ebp),%eax
503cf1:	83 b8 f8 01 00 00 00 	cmpl   $0x0,0x1f8(%eax)
503cf8:	75 51                	jne    0x503d4b
503cfa:	ff 75 10             	push   0x10(%ebp)
503cfd:	e8 be c0 02 00       	call   0x52fdc0
503d02:	83 c4 04             	add    $0x4,%esp
503d05:	5d                   	pop    %ebp
503d06:	c3                   	ret
503d07:	8b 45 10             	mov    0x10(%ebp),%eax
503d0a:	f6 40 04 10          	testb  $0x10,0x4(%eax)
503d0e:	eb ce                	jmp    0x503cde
503d10:	8b 45 08             	mov    0x8(%ebp),%eax
503d13:	ff 75 10             	push   0x10(%ebp)
503d16:	83 b8 f8 01 00 00 00 	cmpl   $0x0,0x1f8(%eax)
503d1d:	75 0a                	jne    0x503d29
503d1f:	e8 ac ed fd ff       	call   0x4e2ad0
503d24:	83 c4 04             	add    $0x4,%esp
503d27:	5d                   	pop    %ebp
503d28:	c3                   	ret
503d29:	50                   	push   %eax
503d2a:	e8 81 00 00 00       	call   0x503db0
503d2f:	83 c4 08             	add    $0x8,%esp
503d32:	5d                   	pop    %ebp
503d33:	c3                   	ret
503d34:	8b 45 08             	mov    0x8(%ebp),%eax
503d37:	83 b8 f8 01 00 00 00 	cmpl   $0x0,0x1f8(%eax)
503d3e:	75 0b                	jne    0x503d4b
503d40:	ff 75 10             	push   0x10(%ebp)
503d43:	e8 38 ae 04 00       	call   0x54eb80
503d48:	83 c4 04             	add    $0x4,%esp
503d4b:	5d                   	pop    %ebp
503d4c:	c3                   	ret
503d4d:	0f 1f 00             	nopl   (%eax)
503d50:	d9 3c 50             	fnstcw (%eax,%edx,2)
503d53:	00 c9                	add    %cl,%cl
503d55:	3c 50                	cmp    $0x50,%al
503d57:	00 d9                	add    %bl,%cl
503d59:	3c 50                	cmp    $0x50,%al
503d5b:	00 d9                	add    %bl,%cl
503d5d:	3c 50                	cmp    $0x50,%al
503d5f:	00 d9                	add    %bl,%cl
503d61:	3c 50                	cmp    $0x50,%al
503d63:	00 34 3d 50 00 10 3d 	add    %dh,0x3d100050(,%edi,1)
503d6a:	50                   	push   %eax
503d6b:	00 4b 3d             	add    %cl,0x3d(%ebx)
503d6e:	50                   	push   %eax
503d6f:	00 ee                	add    %ch,%dh
503d71:	3c 50                	cmp    $0x50,%al
503d73:	00 07                	add    %al,(%edi)
503d75:	3d 50 00 d9 3c       	cmp    $0x3cd90050,%eax
503d7a:	50                   	push   %eax
503d7b:	00 cc                	add    %cl,%ah
503d7d:	cc                   	int3
503d7e:	cc                   	int3
503d7f:	cc                   	int3
503d80:	55                   	push   %ebp
503d81:	8b ec                	mov    %esp,%ebp
503d83:	57                   	push   %edi
503d84:	8b 7d 0c             	mov    0xc(%ebp),%edi
503d87:	8b 47 04             	mov    0x4(%edi),%eax
503d8a:	f6 40 04 10          	testb  $0x10,0x4(%eax)
503d8e:	74 0c                	je     0x503d9c
503d90:	50                   	push   %eax
503d91:	ff 75 08             	push   0x8(%ebp)